Learning and playing with the ESP8266
I went to the HackaDay SuperConference in San Francisco on November 14th and 15th of 2015. What a fun event. They were having workshops. One of the workshops was working with the ESP8266 unit. It is a WiFi device that is about the size of a Quarter. The one provided in the workshop is actually a redesign by Sparkfun. It is the ESP8266 Thing. I fell in love with it. It is tiny and powerful.
In the workshop we learned to make an LED blink and tested a button. Then we set it up to connect to WiFi, next as an access point. While it was connected to the internet we used a mobile device app called Blynk to control the Thing. I started thinking, “what else can I do with it?”
I took some more pictures after I put the little Huzzah onto a small breadboard and powered it with a LiPo battery. It works perfectly.
While there is still a lot for me to learn, I was able to complete the workshop Arduino sketches again at home. I asked for help from one of the guys on hackaday.io who also took the workshop. I was missing a pull down resistor. When I put the resistor on the Thing I was back in business.
(I certainly wish my MacBook Pro would stop autocorrecting hackaday into lackaday.)
Right before the SuperConference I went online to the Hackaday store (haha, I selected Learn Spelling. That should take care of it.) and saw that they sell an ESP8266 breakout board with the Hackaday logo printed on the bottom. I was so excited that I ordered two. I didn’t notice that there was also an Adafruit logo also on the bottom of the board. Adafruit makes quality stuff and has great tutorials.
Going further with the ESP8266
I decided that I wanted to be able to set up one board as an access point with its own LAN and not connected to the internet. The second board would be set up as a client that would connect to the first one. As a test I decided having an LED on the first (server) board, and the second would have a push button to turn on the light of the first board. I know, it is not very spectacular, but it is a start to getting things connected and talking to each other.
Right now, after many failed attempts and finally success, the two boards will connect to each other. The button on the client board will turn on the LED of the server board. I even tried it from 60 feet away. I was in the house and it is raining outside. I don’t know how far apart these two things can be, but I will see in the near future.
What can I see that these two little guys are capable of? Perhaps controlling an ATTiny85 chip with a speaker like that in the Hackaday instruction that causes it to cuss, or operating a servo remotely to control a camera or a robot, or even having it remotely control an electronic lock.
So far, I am able to get one to issue the commands and the other to respond. That was my beginning goal. Have one set up as an access point and no connection to the internet, and a second one that would connect to the first to be able to issue commands, such as turning on an LED with the push of a button. I am easily impressed.
One trouble I was having with Adafruit’s Huzzah was that I was getting errors. I did a bit of reading trying to get the lookup terms correct. One of the sites ended up saying for the guy to contact Adafruit and they would set up a replacement because the board was probably bad. I thought I might have toasted it when I was soldering on the pins. Further reading on a different site said that the guy found out that the FTDI cable through USB wasn’t providing enough juice to run the board all the way. So, getting it to work properly required external power. I used power on a breadboard and had no more trouble. I was going to power the Huzzah with a LiPoly battery anyway, so now I am set.
The thread that told me about the USB cable with FTDI maybe not providing enough power is here. The person posting the query and the answer is Hapax Legemenon. I was very happy to see this post and had success when trying it out with a separate power source. No more errors. The main error I was having was that the Huzzah kept rebooting every so many seconds. Even though it didn’t cost very much, I didn’t want to have a broken toy.
I am having a lot of fun with these devices and the programming part. I’ll be coming up with some ideas to include them in a mounted project that I can control from afar.
If there is interest I’ll post code when I get in here to edit this. This is a long post for me and has been a long day. And I want to test the connection again and make that LED turn on and off remotely before bed.