ESP8266 Wifi Module

Came across this module while looking at how to connect the Arduino to the net. There are the quick and easy and expensive ways to do it, and then there is a ESP8266.

WiFi Serial Transceiver Module

This goes for around £3 on eBay so thought I’d get some of these and see if I can get it working with the Arduino.

There is a wealth of info on the net on these chips as it seems everyone is starting to use them now.

Thought I’d document my progress, hopefully it helps someone else out.

I have been messing around for a few days now and almost have something working. Its taken a while as there were quite a few issues. This module is still in the early days of development and there are a number of bugs with a few developers bringing out there own firmware.

Here is a list of useful sites I’ve been using:
http://www.instructables.com/id/ESP8266-Wifi-Temperature-Logger/
http://www.esp8266.com/
https://nurdspace.nl/ESP8266

First the module is powered by 3.3V. I connected it up to a USB to TTL cable and it kepts rebooting. After hours of trying to figure out the issue I found a web page in German which someone suggested setting the voltage to 3.4V. That worked perfectly – reboot loop fixed.

Commands working via the serial cable and module seems pretty stable.

Next problem I had was the the module comes with older firmware on where the baud rate is fixed at 115200. When using this with the Arduino Uno it seems to create problems as its too fast for the Software Serial.

First step – head over to electrodragon and grab v0.9.2.2 firmware and the flasher application. This was fairly straightforward. Flashed to newer firmware and set baud rate to 9600.

Now to get the Arduino to talk to the module – this is where the fun comes in. There are countless pieces of code out there and I think I”ve tried most of them without much success. A lot of programs just send the AT commands to the module without checking the response. I would like to read the repsonses and make the running of the code bullet proof.

The code here seems to almost do the trick. I can send commands to the module but most of the time I don’t get a proper reponse back (OK)

After some more reading and trying to figure out why things don’t work…..enter the level shifter.

Summed up very nicely here

Next I decided to build a quick level shifter using these diagrams

The 5V to 3.3V shifter worked great, but for some reason the 3.3V to 5V wasn’t working. Double, tripple checked everything – no go! 🙁

Eventually I tried the 3.3V to 5V from http://iot-playground.com/2-uncategorised/17-esp8266-wifi-module-and-5v-arduino-connection

http://iot-playground.com/images/articles/002/3-1-2015_14-01-27.png

The labels are incorrect here – it should be ESP_TX, ARDUINO_RX

This worked perfectly – I can now send a command to the module and read the response back via the software serial. (Though code from the next still does not seem to work)

Next step is to either write the code from the ground up, or try and work out why other peoples code doesn’t work.

Going to be going this code:
https://gist.github.com/roboticboyer/ (ESP8266_Arduino_Uno_Hello_00.ino)
http://www.cse.dmu.ac.uk/~sexton/ESP8266/
http://www.instructables.com/id/ESP8266-Wifi-Temperature-Logger/

More to follow.

Leave a Reply

Your email address will not be published.

*