Friday, June 12, 2015

DIY Breakout for ESP8266

This is going to be another one of these geeky posts, which you would prefer to skip, unless you're interested in electronics.
If that is the case - here is the summary: I did this geeky looking thing in the pictures bellow, which makes it easier for me to use another geeky thing to do geeky stuff. It is quite small, it was pretty hard for me to make it (the most difficult soldering I have done so far). It works and I am proud of myself! Bye :)


If you're still here - this is a tiny breakout board for ESP8266-1.
If you don't know what that is - it is a small and cheap WiFi module, which is becoming the underground hit in the IoT community (and for a good reason). Here is how it looks:

Originally it was marketed as a WiFi module you command from the arduino over serial communication. But people soon found out it is much more than that - it actually is a SoC (system on a chip) with a microcontroller more powerful than the arduino, and with more memory. The problem was that it was pretty hard and inconvenient to program these things, but not anymore - now it is almost as simple as programming the arduino (even from the same IDE). And, these things have GPIO pins, which makes them completely suitable for standalone operation. In short, they are like a more powerful arduino, with built-in WiFi and you can buy 5 for less than $15!
Well, this is for the model  ESP8266-1 with only 2 GPIO pin. But there are many other models, with more GPIO pins. For example: ESP8266-201 for $4.45 (I have one of these ordered, hopefully it arrives today).
To program these things you need an USB to TTL converter and a setup like this:
You must pull some pins high permanently, some pins need to be pulled low temporarily to make it boot into programming mode.
Since I plan to be messing with these a lot, I decided I would replace the breadboard circuitry with something more permanent.
So now it looks like this:
I have female headers for the ESP8266, the USB2TTL and handy headers for 2 GPIO pins, ground and VCC (so you can plug stuff there without the need of a breadboard). There are also 2 buttons, to reset it and put it into programming mode. I also have male headers on the bottom, so you can slap it on a breadboard, like this:
Running it on battery is possible thanks to this little guy:

It is a 3.3V linear voltage regulator with soldered capacitors on it. And it looks like a small robot with a jetpack and an erection :)
Bending its legs properly allowed me to just put it on the place of the USB2TTL, like in the picture above.
And, you can just run it off the batteries without a breadboard by connecting the battery to the pins at the bottom:

I went through 1000s of problems, soldering it was extremely difficult (for me), but I am too lazy to describe them here (and actually - who cares).
It ended up very well, works fine, and it is quite convenient.

Now it is time to do something with it :)

1 comment:

  1. This is actually a very good project, because you've managed to reduce the size of the board considerably! This helps a lot in applications with size constraints.

    I'd really like to see a schematic and a proper eagle eye view of both sides of the perfboard. Good job with the voltage regulator/capacitor mashup man! That I think helps drastically reduce the size of this board. Not sure about the power stability though ;)

    TL;DR : Update this with more pics, more technical specs and schematics. Better yet, put up an instructable on this thing: helps with the visibility ;)