The Arduino platform has a well-earned place at the heart of many Internet of Things (IoT) projects, but there's one hurdle to overcome: the Internet part. Most mainstream Arduino microcontroller designs do not include on-board networking, and while add-on Wi-Fi Shields can solve this they do so by dramatically increasing the overall cost of a project. Maker Bruno Portaluri has been working on a solution, though, and it's now ready for public use: an Arduino library for the popular ESP8266 Wi-Fi module.
Available for under £3 in single-unit quantities, the ESP8266 can be quickly connected to any microcontroller and used for Wi-Fi-based communication with remote devices or servers. Its low cost and small size make it near-perfect for Arduino projects, but it's not terribly beginner-friendly: communication with the module takes place using AT commands over a serial line, requiring each and every communication to be made explicit and manually in your Sketch. Bruno's solution: a library which makes it compatible with most of the techniques used by the official Arduino Wi-Fi Shield - meaning that many Sketches can be ported to using the ESP8266 with very few changes.
Coupled with a 5V to 3.3V AMS1117 power supply - required to provide enough power for the 3.3V ESP8266 to work reliably with the 5V Arduino - and a simple modification that makes the ESP8266 breadboard-friendly, Bruno's library makes it as easy as can be to get your next Arduino project connected at as low a cost as possible.
My requirements for the shield are: as cheap as possible (less than 10 USD); Arduino library compatible with the standard Ethernet/WiFi libraries; breadboard-friendly (no soldering needed). The idea was simply to find a cheap replacement of the standard WiFi shield being able to reuse existing samples and code. The obvious choice for the WiFi module is the ESP8266-01.