Limpkin's blog - Tag - dev board<div>An electronics geek blog, dedicated to sharing and open source. Check out my stores: <a href="https://lectronz.com/stores/stephanelec" hreflang="en" title="Lectronz store">EU</a> / <a href="https://www.tindie.com/stores/stephanelec" hreflang="en" title="tindie store">EU & US</a>.</div>2024-03-27T19:19:38+00:00Mathieuurn:md5:51de6a3d917257edeff5a252fe925b02DotclearA Development Board for the ESP8266-03urn:md5:81cf6d2c14e69820d07e1ff609717a382014-11-27T19:40:00+00:002024-03-08T21:05:56+00:00limpkinMy Projectsdev boardesp8266<p>A Wifi platform for $3... who wouldn't want to play with it?<br></p>
<p><img src="https://www.limpkin.fr/public/esp8266/.esp8266_leds_m.jpg" alt="esp8266" class="media-center" title="esp8266, déc. 2014"><br></p> <p>For the last few weeks we have been seeing a lot of awesome projects built around <strong>ESP8266 Wifi modules</strong>:<br></p>
<p><a href="https://www.limpkin.fr/public/esp8266/esp8266.png" title="esp8266 modules"><img src="https://www.limpkin.fr/public/esp8266/.esp8266_m.jpg" alt="esp8266 modules" class="media-center" title="esp8266 modules, nov. 2014"></a>
These modules come in different shapes and colours and can be purchased from the internet for <strong>3 dollars only</strong>.<br>
They are therefore cheap enough to enable many <strong>Internet of Things applications</strong> like monitoring your home temperature and activity all year round (if you ever need to do that).<br>
And at this price, you're actually better off directly soldering the complete board on your existing PCB rather than integrating each of its components, as it would result in a <strong>higher board cost</strong> (for less than 10k platforms produced) and possible <strong>RF related problems</strong>.<br></p>
<p>The ESP8266 modules come with a pre-loaded firmware that will <a href="http://www.electrodragon.com/w/Wi07c" hreflang="en" title="esp8266 at commands">accept some commands</a> through their UART interface (connect to wifi, open udp socket, send data to this IP...). Moreover, since Espressif recently released their SDK you can now load your <strong>own custom programs</strong> using the existing bootloader. To launch this bootloader you just have to connect some IOs to GND in a specific order.<br></p>
<p>However, anyone wanting to develop a project involving dozens of Wifi nodes has to start from somewhere, eg make a <strong>prototype of their future platform</strong>. That is why I developed this development board, so the prototyping stage is as simple as possible.<br>
As you can see in the picture below the dev board breaks out all the ESP8266-03 IOs, includes a 3.3V LDO, a USB to UART converter, some logic and a button to automatically start the bootloader.<br></p>
<p><a href="https://www.limpkin.fr/public/esp8266/esp8266_pinout.JPG" title="esp8266 dev board pinout"><img src="https://www.limpkin.fr/public/esp8266/.esp8266_pinout_m.jpg" alt="esp8266 dev board pinout" class="media-center" title="esp8266 dev board pinout, déc. 2014"></a><br>
With the included breadboard <strong>solder free prototyping</strong> is therefore made possible!<br>
You'll notice that there <strong>aren't any through hole components</strong>, so you may put double sided tape on the board's back if you need to stick it somewhere. Have a look at the <strong>extremely simple</strong> schematics:<br></p>
<p><a href="https://www.limpkin.fr/public/esp8266/esp8266_schematics.png" title="esp8266 dev board schematics"><img src="https://www.limpkin.fr/public/esp8266/.esp8266_schematics_m.jpg" alt="esp8266 dev board schematics" class="media-center" title="esp8266 dev board schematics, nov. 2014"></a><br>
The LDO can provide up to <strong>1A</strong> which is more than enough for the ESP8266 that supposedly needs <strong>around 230mA max</strong>.</p>
<p>Let's talk about the "bootloader logic". The exact sequence to launch the esp8266 in bootloader mode is to connect CH_PD to GND, connect GPIO0 to GND and finally release CH_PD to 3.3V while GPIO0 is still low.<br>
The SW1 switch is directly connected to CH_PD with a pull-up to 3.3V. When it is not pressed no current flows through the P-Mosfet Q1 and the Q2 N-Mosfet gate is at 0v because of C2 leakage current. This is why the ESP8266 will normally boot when connecting your USB cable.<br>
When pressing SW1 current will flow through Q1 and will therefore charge C2. As Q2's gate is high level (i'm over simplifying here) current will flow through Q2 and GPIO0 will be tied to GND. When releasing SW1 CH_PD will then go back to 3.3V but GPIO0 will stay low for a few ms while C2 discharges (also because of its leakage current). Rebounds aren't a problem as this sequence will just repeat. In short: <strong>press the button, the ESP8266 jumps to the bootloader</strong>.</p>
<p>The FT230X is a (genuine... aha) USB to UART adapter. CBUS0->3 <strong>can be programmed as GPIOs or indicators</strong> using the dedicated FTDI application. If you populate R8 with a 0 ohm resistor you could actually have it start the bootloader jumping procedure.</p>
<p>Finally, there are <strong>1k resistors on all the ESP8266-03 pins</strong>. They are meant to protect users from making short circuit mistakes and <strong>might</strong> enable 5v inputs using the esp8266 internal protection diodes (do it at your own risk).<br></p>
<p>I felt lucky when designing this board and <strong>directly launched in production a small batch of 20 units that <a href="https://www.tindie.com/products/limpkin/esp8266-wifi-module-breakout/" hreflang="en" title="esp8266 dev board on tindie">you can purchase on tindie</a></strong> while they are still available. If not, back orders are enabled! I wish I could offer you a cheaper price but assembly costs are a bit expensive when you order such a small quantity.</p>
<p>You'll find awesome information/resources on <a href="http://www.esp8266.com" hreflang="en" title="esp8266.com">esp8266.com</a> and you are also welcome to meet its great community in #esp8266 on freenode.<br></p>
<p>In the mean time here are all the resources you need to replicate this project (CERN licensed): <a href="https://www.limpkin.fr/public/esp8266/kicad.rar">kicad solution</a> & <a href="https://www.limpkin.fr/public/esp8266/BoM_esp8266.xlsm">BoM</a> & <a href="https://www.limpkin.fr/public/_kicad_lib.rar">lib</a><br></p>
<p>As this board was made in a hurry, I apologize for the BoM!<br></p>