Getting an ESP8266 wifi module to work with Arduino
Last night was another BuildBrighton nerd-meet-up and, luckily, we had a couple of these new fangled ESP8266 wifi modules to try out. In case you’ve been living in a cave with a tin can tied to the end of piece of string as an internet connection, you’ll probably know that these are the ultra-cheap wifi modules currently flooding out of Chinese factories and onto “hacker benches” all over the world.
The reason they’ve created such a stir is that a) they’re cheap and b) the firmware can be (relatively) easily upgraded. So hackers and makers all over the world have been busy trying to access the onboad microcontroller and utilise the extra GPIO pins, to create a single-chip, all-in-one wifi controller.
Our interests are less adventurous – the modules are sold as UART-to-wifi plugin devices, and that’s exactly how we’re going to use them.
Supposedly you need just four wires to get your microcontroller-based project talking to a home network over wifi. In theory, it’s dead simple to bung this into a project and talk to the world. practice, we found a few gotchas which took up most of the evening to resolve – but we got there in the end.
The first thing to do is to power up the device and get some AT commands flowing.
This is where the first gotcha is waiting, for the unwary. It’s documented all over the ‘net that these little things can get quite power hungry – they can demand upwards of 280mA when sending/receiving data. After 30 minutes or so of operation, they also run slightly warm to the touch. Nothing that could cause skin burns, but noticeably warm.
There’s always the old debate about powering devices from a USB port. Some people claim to run 500mA devices straight off a USB port. Some of us have experience of Windows ejecting USB devices that demand more than their allocated 100mA, without specifically requesting it. Who is right depends pretty much on how your USB ports are configured. But if you’re going to try powering these off a USB-to-serial converter, they can still work. But they also reset spasmodically too and without warning.
For More Details: Getting an ESP8266 wifi module to work with Arduino