Tiny IOT Message Panel

We needed a small, portable, 'connected' display. Something safe, cheap, and easy to work with.
This is what we came up with. It uses a 0.96" I2C OLED display (SSD1306) and a ESP01 WiFi SOC.
It's designed to work from a cheap USB phone charger.

It's unlikely that we would supply these built unless a considerable demand exists so we've decided to make the PCBs available for you to build your own. The design files are not available so please don't ask.

We're not looking to get rich from this but a few quid towards development costs would be nice...

You can buy 4 PCBs for £6 including international delivery.

4 (four) PCBs cost £6 including international delivery


Assemble the components:

You need a ESP01. Be sure to get a black one as these seem guaranteed to have 1M FLASH

A PCB to hold everything together.
Note: in this image (and the first batch of PCBs) the polarity of the capacitors is wrong!
These are the two components at top right of the PCB in the photo.
This will be more obvious in the assembly instructions.

Obviously you need one of these! A SSD1306 I2C OLED display.
Be careful to get the right one!
Note the pinning: VCC-GND-SCL-SDA

Unfortunately there are other displays available where VCC & GND are swapped.

A 1117 3v3 regulator. This drops the incoming 5v from the USB connection to 3v3.

You need two 100uF tantalum capacitors. The footprint is '3528'
These are big enough to solder by hand.

A male USB plug with surface mount tags. This is the power connector.

A 4 pin male header connects the PCB to the OLED display.

A 4 pin female right-angle header allows attachment of other I2C devices; BME280 etc etc

A 5 pin male right-angle header provides the programming interface.
Yes! I know the photo has 6 pins!!

You need a 5 pin header! Hopefully you'll just snap 5 pins from a long header...

Putting it all together

These devices need to be built in the correct order but there's nothing tricky.

Assemble the PCB. Attach the voltage regulator and capacitors. These are easily soldered by hand - a handy tip is to hold each component in place with a crocodile clip when you're soldering.
Obviously if you have an oven this step is easy.

Add the USB plug. This should clip into place & is easily soldered. Only the outer two (power) pins need to be soldered, so if fine soldering isn't your thing leave the middle two alone.

Now add the 4 pin male header.

At this point the top of your board should look like:

Notice the orientation of the two tantalum caps. - this is correct

On the other side of the board, trim the pins from the 4 pin header you just soldered. Add the two right angle headers: the 4 pin I2C female, and the 5 pin programming male.
Trim the pins on the other side when you've done this.

At this point the bottom of your board should look like:

Now get your ESP01 and gently pry off the plastic block on the 2x4 connector. This is easy to do with a very small screwdriver or a knife.
Hold on to the lump of plastic that you removed.

Without the piece of plastic the ESP01 can lie almost flat on the PCB.
Insert the ESP01 & solder it in place.
Although it's not necessary, you might prefer to program your ESP01 before you solder it in place. A simple OTA program is suggested.

If you kept the piece of plastic from the ESP01 it makes a very convenient spacer for the display. Push it onto the 4 pins for the display.

Almost there!

Time to add the OLED. Add the display & solder it in place:


Remember the USB connector is only for power.
It was designed this way as USB phone chargers are an incredibly cheap power source!

To program the board you need to apply power to the USB connector. The 5 pin programming connector has GPIO0 and GND on adjacent pins. Linking these pins will put the ESP01 into bootload mode at power up.
Connect a serial adapter to the Tx, Rx, and GND pins as you would normally do.

Unless you are doing something very adventurous, the 1M ESP01 has plenty of memory for OTA programming. Consider doing this as it's a little more convenient.


The I2C pins are broken out onto the female 4 pin header. There are many I2C devices available which follow the same footprint: Vcc-GND-SCL-SDA
Take a look on Ebay. The SSD1306 displays have integral I2C pullups (as do most other boards) so there is no need for pullup resistors.

Add (eg) a BME280 and you have a tiny device that packs a punch!

Ian Sexton