WELCOME TO NOVEL DEVICES
Welcome! This website has three sections covering Raspberry Pi, Arduino and ESP8266. Each section has a quick-start guide, information on how to build a variety of projects together with the associated software plus tips on avoiding common problems, programming for LCD and 7-segment LED displays, book recommendations and so on.
For projects and articles on the Arduino.
For projects and articles on the Raspberry Pi.
Introduction
The ESP8266 MCU chip is a self-contained processor and WiFi controller. The chip runs on 3.3V and is available on a variety of PCB breakout boards with some or all pins exposed. It provides either 1MB or 4MB of memory (large with respect to an Arduino) and its built-in network capability means it is ideal for remote sensing applications and sketches can be uploaded wirelessly. You can also program the ESP8266 using the Arduino IDE with additional ESP8266 libraries.
The ESP8266 can communicate with peripheral devices using I2C and SPI and of course with other MCUs using TCP/IP. If none of these are suitable, then you can always use serial communications. The maximum current draw on the digital output pins is 12mA, though the sum for the whole chip isn't clear. There is one 10-bit ADC input that accepts 0-1V. This may prove inconvenient for some analogue sensors and so a 1, 2, 4 or 8-way ADC from Microchip can be used instead. They all use 2.4GHz WiFi only.
A note on breadboard friendliness.
My need for the ESP8266
My own requirement was a remote sensor for water pressure. I was planning to use a UNO as a web server with an Ethernet 2 shield. However, its limited memory meant that I was unable to generate SVG images because of the large amount of boilerplate required. The intention was always to create a single HTML file so off-loading styling to an external CSS file wasn't really an option either. I contemplated using the Ethernet 2's on-board SD card slot for storing part of the boilerplate but this proved inconvenient and the overall cost for genuine Arduino boards and the SD card was too high. I also considered a Raspberry Pi, but that seemed overkill for a trivial application and would have to be a Pi 3 or had a USB WiFi adapter. Enter the ESP8266 - my version is from Makerhawk on Amazon.
Lots of variety
There are different ESP8266 breakout boards and modules; some have different amounts of memory, some have been FCC approved, some have fewer pins exposed, etc. If you are cost-conscious then there's one that will suit your needs. Board makers seem to use the same ESP8266 chip on its own small PCB, outlined in red here. It comes complete with track aerial and is soldered to their own breakout board with as many or as few pins exposed as required, their preference for CH340 or CP2102 USB-to-UART controller, etc.
Many choices of board are available at, and in no particular order: CPC, RS Components, Pimoroni, Adafruit, Amazon, Ebay, Sparkfun, etc., - just use the website for your country. Be aware that some small boards require an additional board for prototyping and programming purposes. Once programmed, these boards can normally run without the prototyping board. Also, note that a few boards do not have any USB or other power supply, so you'll have to have to make and connect up your own. Remember that the ESP8266 is 3.3V and cannot be connected to USB directly without a 3.3V regulator. Several breakout boards are not breadboard friendly and you'll need to straddle the breakout board across two breadboards with a power rail down the centre.