WiFi and the Raspberry Pi
The ESP8266
The ESP8266 is made by a privately held company in China called Espressif [1]. The chip was originally designed for connected lightbulbs, with functionality like the Philips Hue that I used in the BeaconAir project [2]; however, it soon got used in a variety of applications. Although the ESP8266 has huge functionality and a good price, the amount of current consumed by the chip makes battery-powered solutions problematic. With clever programming, however, it's possible in some applications.
The main features of the chip (a block diagram is shown in Figure 3) are:
- SDIO 2.0, SPI, UART, I2C
- Integrated RF switch, DCXO, and PMU
- Integrated RISC processor, on-chip memory and external memory interfaces
- Integrated MAC/baseband processors
- I2S interface for high-fidelity audio applications
- Fully integrated WiFi solution
The Adafruit ESP8266 Huzzah
The Adafruit ESP8266 Huzzah board is a great $10 breakout for the ESP8266. It makes it much easier to use with the Raspberry Pi than the really cheap modules. Most of the low-cost modules are not breadboard friendly and don't have an onboard 3.3V regulator or level-shifting for signals. The Huzzah has all of those features.
The main features in the Huzzah that aren't part of the usual inexpensive (<$3.00 on eBay) ESP8266 board are:
- Reset button
- Second button that can put the chip into bootloading mode for programming
- Red LED under user control
- Level shifting on the UART and reset pin
- 3.3V out, 500mA regulator (The ESP8266 can use up to 270mA, so be aware!)
- Two diode-protected power inputs (one for a USB cable, another for a battery)
Additionally, two parallel, breadboard-friendly breakouts on either side give you access to:
- 1x Analog input (1.8V max)
- 9x GPIO (3.3V logic), which can also be used for I2C or SPI
- 2x UART pins
- 2x 3-12V power inputs, reset, enable, LDO-disable, 3.3V output
The breakout at the end of the board has an FTDI pinout. You will also need to buy a compatible FTDI cable to USB ($18 at Adafruit) to really get the most out of this breakout board. When you are done programming, you can unplug the cable. You then have to supply power and possibly a serial interface if you want to talk to the Raspberry Pi (Figure 4). The FTDI cable supplies both.
Buy this article as PDF
(incl. VAT)