Friday, February 20, 2015

ESP8266 - Breadboard Time - Cheap and dirty basic development board (CBDB) !!

   I was in the process of preparing a post about how to easy breadboard ESP-01 modules but meanwhile I have received the new ESP-07 variant.

ESP-07 Module
ESP-07 Pinout

   After the initial frustration with ESP-07 and after repairing it as explained in the previous post, I have decided that it will more interesting to use this one for the projects (more GPIO lines, easier deep-sleep thru GPIO16, ADC pin, 4M flash). Indeed, they are 2mm pin spacing, so is not breadboard friendly, but is easy to find a home-made solution :).

Flash Memory - 4M

The idea was to create a "cheap and dirty" basic development board (aka. CBDB) for ESP8266 that can be used with no or very small changes in a variety of projects and tests. And as been asked to be a "cheap and dirty" version, whole BOM list can be seen in the picture below :
BOM "List"
"Magic" Adapter - TOP
"Magic" Adapter - Bottom
   Now about CBDB schematic: basically is a minimal connections board with a 3.3V regulator that  properly boot the ESP-07 module in normal and flash programming mode. 2 extra "high-tech-hard-to-find" DIP20 sockets will act as expansion slots for the different modules that can be used with.

ESP-07 minimal connection:

1. Normal operation mode
  • GND      - GND
  • VCC       - 3.3V
  • CH_PD  - 3.3V 
  • GPIO15  - GND
2. Flash Programming mode, add also to (1)
  • GPIO0   - GND

   For the 3.3V regulator is used the standard LD1117V33 Datasheet. I will recommend you to use some proper ones as for the Ebay cheapest clones "Output current up to 800 mA" might vary from batch to batch  from 200-250mA (lucky one) to a max 80mA with magic smoke included(not so lucky one)!
And also, especially if you think about some battery operated things in the future, use some good capacitors. Please observe the luxury item in the BOM list. Did you find it? :) (I've changed my mind: use some decent capacitors all the time. Better. Period)

Regulator schematic used is the one from the Datasheet:

 The result of 10-15 minutes of soldering fun :

CBDB - Top Layer
CBDB - Bottom Layer - scary and ugly like hell, I know :)
   The Yellow jumper is used for connecting GPIO0 to GND for flash programming mode. Simply remove power put the jumper and power it on. When done, remove and repeat the power cycle to restart in normal operation mode.

 For connection to the PC we will need separately also a USB to Serial TTL converter, or RS232 to Serial TTL, as you wish, but I presume everybody use the USB ones. Please be sure that it is 3V compatible!!

 <magic smoke advertise>ESP8266 board is a 3V board and will not tollerate very well 5V logic levels!! At all </magic smoke advertise>

You can find them on Ebay, lot of models and types. Like this one, as been 3V compatible and also very flexible in configuration, having all pins wired out, see below

CP2102 - Top
CP2102 - Bottom

CP2102 - USB / Serial Adapter
  I will recommend you to use an external power supply, the usual hobbyist "recycled" 5V/700mA USB charger must be more than enough. I didn't had the chance to measure until now the power consumption of the ESP-07 module but one thing I can tell you, ESP-01 was a hungry one: 250-280mA in full WIFI mixed mode, connected and transmitting data!

 Now, with all the pieces of the puzzle in place, let's connect them and power up !

USB Adapter - CBDB Dev Board :
  • RXD - Tx - Yellow wire
  • TXD - Rx - Orange wire
  • GND - GND - Brown wire
  • 3V3 - NOT USED - Red wire

   Few comments: I was able to normal start and also reflash the ESP-07 module using 3V3 power pin from the USB adapter, thing that was not possible with ESP-01!  I suppose something changed in this version of ESP8266 power management and they reduced somehow the consumption. I will allocate a separate post for power consumption, testing, etc. I think it's an important subject and will worth the allocated time.

  I suppose you have already installed and tested the USB adapter. It's not the scope of this presentation.

  After all connected together, plug the USB adapter, open your most loved serial terminal program (putty, termite, hyperterm, whatever) with  "CR-LF" option enabled, 9600bps, 8N1, no handshake, choose the right corresponding port,  and power up the CBDB.

CBDB First Boot - AT Firmware preinstalled from supplier

As you can see in the picture above, it was booting OK, having preinstalled from supplier the AT firmware. That means that can be programmed and tested with AT commands:
  • response to the reset comand- OK
  • response to the version info interogation - OK
 For an extensive set of available AT commands, please consult  AT Instruction Set link

That's all for now, I hope you enjoyed, stay tuned for the next one when we will go thru the reflash process for the ESP-07 module and move on, on programming!


Francisco said...

Thanks for sharing the info.

And yes, a power comparison will be very appreciated.

Mahmod said...

I think this one should fit your purpose, comes with antenna

Unknown said...

You're welcome. I'm really happy to see people interested by my work here. As soon as I have in my hand a decent multimeter will do the test rig for power consumtion comparation and will post the results here. Expecting some 1-2 weeks time.

Unknown said...

Thank you Mahmod for the link, ordered already such a module about a month ago (aka. ESP12), expecting to arrive soon. If people will show interest on it I will post a review and application.

Unknown said...

Can u explain me the reason u selected those two caps...
What combination is best in your opinion...?

Unknown said...


Input Bypass Capacitor - can be any from 100n to 10u. Used 100n ceramic as available on my desk. Input power used was very good filtered and stable. You might try a bigger one if necessary for your setup.

Output Capacitor: - is critical in maintaining regulator stability, and must meet the required conditions for both minimum amount of capacitance and ESR (Equivalent Series Resistance). The minimum output capacitance required is 10μF, if a tantalum capacitor is used. Any increase of the output capacitance will merely improve the loop stability and transient response. Used above a good quality 10u, all ok. Replaced for testing also with 22, 47 and 100u and no screaming at all :)

If you look in LD1117 Datasheet you will find out all the manufacturer recommended values.

Unknown said...

Thanks for the reply... :)

Balloon Scheduler™ said...

Excellent blog. Thanks for posting it.

Unknown said...

This technical post helps me to improve my skills set, thanks for this wonder article I expect your upcoming blog, so keep sharing.
Python Training in Chennai|Python Courses in Chennai

ibss said...

Thank you for sharing valuable information
Mobile app development company in chennai
Web design company in chennai
Web development company in chennai

Adhuntt said...

Very Effective blog thanks for sharing Instagram and Facebook have provided an amazing place for new brands to grow and flourish. We can find the perfect niche for your brand on the best social media platforms.

Post a Comment