Dear Makers,
Earlier I had an ESP-01 based project and after a lot of spent time I figured out many critical points that can represents a no go for this type of projects. I'll share with you here my pain points and their solutions to help you in your ESP-01 based projects.
For the start, let see the domains where you need to paid attention:
- Programming (flashing)
- Project powering
- Breakout the essential GPIOs
To successfully set up the ESP-01 for programming you have to do minimum tree things:
- an USB to TTL programmer that is capable to work with 3.3v
- to pull up the chip select CH_PD pin or better connect directly to Vcc
- set the GPIO0 to ground (flash mode)
To do all of this all the time when you are flashing the chip is very annoying and a lot of wasted time.
The solution is to buy a cheap programmer that is having all of these setup. In case if you have the programmer shown below you are done, everything is ok because you are having a flash button on its place.
The market is full with a cheep "programmer" that is basically just an UART solution and that is ok if you want to debug only your code but it is not usable for flashing.
So if you are having this device:
you have to do some additional modification to have a working programmer, so:
- connect the CH_PD pin to the Vcc
- add a button for flashing, that connect the GPIO0 to ground
My solution was this approach (please scroll left/right):
As you see with this modding you can easily push the flash button at that time when you are inserting into USB, and exactly this is what you need. Just only with one hand you can set the FLASH mode.
Project PoweringThe bigger problem comes when you are putting the ESP in its final place. You have to power with 3.3v somehow in elegant way.
I found a solution that is seams to be very ok for this task. I bought some cheap ESP-01 modules and I find out that all of them is having an 3.3v regulator and allows an input up to 5v. Very nice. I had choose this LED controller module:
As you see this board is having the regulator and also breaks out the GPIO2 on its JST connector. Of course that GPIO is not only for led you can use for any purpose.
Breakout the essential GPIOsAs you observed the powering solution is also breaks out a frequently used pin and this is very cool. On the market you can find a multitude of modules and almost all of them is using the GPIO2.
That would be very nice to find somewhere a module like the LED one that breaks out the following 6 pins: Vcc, GND, GPIO0, GPIO0, Tx, Rx
For prototyping it is good to have this breakout board:
The only problem with this is you are not having the 3.3v regulator, so you have to pay attention for this detail.



Comments