IoT ESP8266

Understanding how the ESP8266 works (IoT)

I’m sure you have heard of the IoT (Internet of Things) movement.  I have been doing work with very light weight RF devices.  These devices do not have the resources to run full TCP or even IP for that matter.  I was doing some reading on the net and stumbled across the ESP8266.  It looked very interesting.  They claimed it was a serial interfaced WiFi board with full TCP/IP and UDP protocol support built in.  The serial interface interested me as all my boards have serial ports on them that work well.  It should be easy to interface to one of these boards.  I ordered 5 of the boards from China.

They came in about 2 weeks and I started hunting the net for information on how to interface to them.  I didn’t find a lot of information.  It seems that these boards are relatively new.  I kept digging and found a forum that I joined and some other information that helped a lot.

I laid out a board to interface the ESP8266 with a Blue Bird board.  The board was fairly simple to layout.  I needed to have a regulator on the board as the ESP8266 can take over 300ma of power and the 250ma regulator on the Blue Bird board won’t handle the power requirement.  The regulator had to be beefy so it took a lot of space on the board.  But, I was able to fit it on the board and get the board laid out.

bbwifitop

Here you can see the top of the board.  The big regulator handles the power hungry ESP8266.

bbwifibottom

This is the bottom of the board you can see the I2C chip.

I wanted to do a SNTP client so that I could set my binary clock without using the switches.  I thought that would be cool and useful at the same time.  Also it would give me a simple project to see how the ESP8266 works.  I started working on the project and found the AT commands a little cumbersome.  It reminded me of the days working with old acoustic modems.  They had an AT command set and were a little tough to work with.  The ESP8266 has the same problems that those old modems had.  The echoing and looking for appropriate string responses to get the ESP8266 doing what you want takes a little bit of effort.