Making the ESP8266 sane

When it first came out, the ESP8266 chip was a game changer. For $5, any electronics hobbyist could get a functional WiFi chip to integrate into their next internet-of-things project. There were only a few problems. Well, a fair few problems.

  • All the documentation is in Chinese. Translated by the community! Yay!
  • All logic is 3.3V, whilst the arduino and other popular platforms use 5V.
  • Peak current consumption at 240mA, far greater than the capacity of most built-in regulators on an arduino or similar board.
  • CH_PD pin needs to be pulled high for the device to function (It took me forever to work this out - most of the tutorials I read seemed to omit this detail)
  • Firmware bugs - occasionally the chip stops responding completely and needs a power cycle.

So I set out to build a circuit that would solve some of these issues - particularly the ones that plagued me. I built a circuit that would translate the voltage level on the receive side, would regulate the current, and provide a jumper for the CH_PD pin.

After a fair few hours fiddling with KiCad, I think I've done it.


The circuit uses only cheap components. A AMS1117 (you can get a pack of 10 for $1 on ebay) is used as the regulator, and it supports up to 1A of current so no worries there. The resistors used in the voltage divider are 0805 SMDs, so no worries there. The LED is once again an 0805 and can be omitted if you don't like color.


I eventually figured out how to add text to the silkscreen, at which point I promptly went overboard and labelled everything relevant, even the direction the ESP8266-01 should be inserted.


Yay! Now to wait a few weeks for the boards to ship from DirtyPCBs so I can assemble and test them. Very suspense, especially since this is only the second ever PCB I have designed (hopefully it works).

If your interested, you can order your own set at dirtyPCBs.

Design files are available here.


There are no comments on this article.