Cheap evaluation boards are the bread and butter of hobby embedded hardware programming. From simple 8-bit AVR controllers found in Arduino boards up to the powerful Cortex M7 cores found in STM32H7 and Teensy 4.0 boards, they all allow tinkerers and hardware hackers to prototype ideas quickly. When the ESP8266 from Espressif arrived, things got even more interesting. Suddenly, a relatively powerful microcontroller with WiFi capabilities built-in was widely available for cheap. Many evaluation and development boards followed with ESP8266 chipsets, but Adafruit's Feather HUZZAH ESP8266 (hereafter Feather ESP8266) development board comes with a few design features that make it the perfect choice for those wanting to get started with wireless microcontroller programming. Whether you are a beginner to all things code and electronics, or a grizzled bare metal chip prober, you'll likely be happy with the Feather ESP8266. Learn all about the Adafruit Feather Huzzah with ESP8266, from what it is to what it can do!
What is the Adafruit Feather Huzzah With ESP8266?
We'll cover the full specs of the Feather ESP8266 below, but first, a quick primer.
The Hardware - An ESP8266-based Dev Board
The Adafruit Feather Huzzah ESP8266 is a Wi-Fi development board with a 32-bit RISC microprocessor, built-in USB programmer, a battery management system, and a whole host of multifunctional general-purpose input/output (GPIO) pins. Adafruit has an entire series of feather boards, all with a similar breadboard compatible format, and with 'wings' to extend each board's functionality. The ESP8266 chip runs at 80MHz and uses 3.3v logic. This is an important first principle to remember if coming from an Arduino background, as using 5v sensors with ESP8266 pins can fry them! The same MCU contains the entire system required to connect to Wi-Fi or act as a local wireless access point.
The USB programmer allows you to use the Feather ESP8266 much like an Arduino board, and it's even compatible with the Arduino IDE, making it very simple to use for anyone coming from Arduino boards. The USB-Serial chip used for programming is much faster than those found on most 8-bit microcontrollers, allowing for baud rates of up to 921600. No more waiting around for code to upload!
The battery management system is a simple charge controller, providing everything you'd need to use the Feather ESP8266 on the go. Any 3.7V LiPo battery can be used with the board, and once the battery runs down, you can simply plug in the USB cable to safely charge it again. No battery? No problem. You can simply use the USB port for power and programming and even attach a regular power bank to the USB port to power the board.
Software Options - Arduino, and NodeMCU Lua, and MicroPython, Oh My!
As previously mentioned, the Feather ESP8266 is compatible with the Arduino IDE, and Adafuit provides many libraries to make common embedded programming tasks easier. Getting set up with the Arduino IDE is easy, and Adafruit's detailed guide will show you how to get started. Another popular way to program ESP8266 boards is using NodeMCU Lua, a special embedded variant of the Lua programming language. Adafruit pre-programs the Lua interpreter onto each Feather ESP8266 board, so it's ready to go straight out of the box. In both cases, you will need to install drivers for the USB-Serial chip provided by Silicon Labs.
MicroPython: Python on Hardware!
Feather ESP8266 boards also support MicroPython, a special build of the Python programming language for microcontrollers. To get started, follow the MicroPython getting started guide. Once up and running, you'll have a REPL, just like the Python prompt in any terminal, to test out code and program the microcontroller in real-time. No more compiling and uploading! The addition of MicroPython support to Adafruit Feather boards makes them the perfect choice for beginners to learn the basics of hardware programming.
A Great Wi-Fi Dev Board For Everyone
Adafruit has packed a lot into the Feather ESP8266 board while keeping it fairly uncluttered and simple to use. There are cheaper ESP8266 development boards out there, but none that have Adafruit's incredible support. For anyone looking to get their first ESP8266 evaluation board, it's hard to go wrong with the Adafruit Feather HUZZAH ESP8266.
Adafruit Huzzah ESP8266 Specs and Pinout
The ESP8266 has it's own spec sheet you can find on the Espressif website[PDF]. Here are the specs for the Feather ESP8266:
- Dimensions: 2.0" x 0.9" x 0.28" (51mm x 23mm x 8mm) without headers
- Weight: 9.7 grams
- CPU: ESP8266 @ 80MHz with 3.3V logic/power, 4MB of FLASH (32 MBit), Built-in WiFi 802.11 b/g/n
- Power: 3.3V regulator with 500mA peak current output
- USB programmer: CP2104 USB-Serial chip with 921600 max baud rate and Auto-reset
- GPIO: 9 x GPIO pins - can also be used as I2C and SPI, 1 x analog inputs 1.0V max, Reset and Enable pins.
- Battery management: Built-in 100mA LiPoly charger with charging status indicator LED, can also cut a trace to disable the charger
- Onboard LEDs: Pin #0 red user LED. Pin #2 blue user/bootloader indicator LED
Adafruit provides a handy reference guide to all of the pins on the Feather ESP8266:
What is ESP8266 - ESP8266 vs. ESP32
The ESP8266 caused quite a stir on release due to its connective capabilities and high processing power at a comparatively low price point. Its single-core 32-bit processor can run at up to 80 MHz, with 32KB instruction RAM and cache RAM, along with 80 KB user-data RAM. Most evaluation boards and modules featuring the ESP8266 also come with external QSPI Flash storage, typically 4MB. Fantastic for tasks including WiFi and small numbers of GPIO pins, ESP8266 modules are very cheap and fit for most IoT and Smart Home projects. They come both as standalone development boards and add ons for other microcontrollers without native Wi-Fi support.
The ESP32, also made by Espressif, is the larger sibling of the ESP8266. It shares most of the ESP8266's features but has a dual-core processing unit, more GPIO access, and the option to use Bluetooth 4.2 and BLE connectivity. ESP32 chips can be used to add connectivity to other microcontrollers but make powerful standalone units too. Much like the ESP8266, they tend to come as part of a module or evaluation board. Both microcontrollers have their pros and cons, and a dedicated guide to choosing between the ESP8266 and ESP32 can help you work out which is best for you!.
What can The Adafruit Feather Huzzah with ESP8266 do?
What can you do with an Adafruit Feather Huzzah ESP8266? Given the I/O, connectivity, and portable power options, it's probably easier to list the projects it is not good for. It's also difficult to judge what is best from a coding perspective, given the option to use the Arduino IDE, Lua, MicroPython, or address the chip's bare metal using the Espressif ESP8266 SDK. Nevertheless, here are a few example projects showing off the Adafruit Feather HUZZAH ESP8266. These examples don't come close to covering everything, and you'll find many more on the ESP8266 section of the Adafruit website.
Home Automation on the Adafruit Feather Huzzah with ESP8266?
An obvious use for the ESP8266 module is in a DIY home automation setup. This tutorial from M. Schwartz outlines how to use the Feather ESP8266 breakout board (a smaller but identically functioning dev board) to create a simple temperature monitor using a cheap external sensor. The tutorial goes on to show how the same ESP8266 board can be attached to a PowerSwitch Tail Kit to control a lamp from the cloud, along with how to set up the software, program the Feather board, and interact with the system remotely.
DIY Security Systems Using the Adafruit Feather Huzzah ESP8266
Most of what makes the Feather ESP8266 perfect for general home automation makes it even more suited to home-brewed security setups. Low powered, network-connected microcontrollers are perfect for monitoring entry points via reed switched and motion sensors. This is perfectly shown in a tutorial via Phillip Moyer on adafruit.com. This tutorial makes use of the Feather ESP8266 analog input pin to monitor a reed switch. When the switch opens, it connects to a local MQTT broker running on a Raspberry Pi 3, which triggers an alarm message. This message then gets passed into an Adafruit IO project for storage on the cloud, where it can trigger other events. Like a massive siren.
Custom Weather Station Using the Adafruit Feather ESP8266
The addition of a small screen to the Feather ESP8266 board opens up many more possibilities. This weather station project by the Ruiz Brothers on adafruit.com highlights how you can build finished looking products from scratch using simple modular parts. The project uses an open weather API to gather local weather data before displaying it on a Feather Wing 320 x 240 touch screen. The entire project is powered by a LiPo battery and requires no soldering at all! A 3D printed plastic case finishes up the project. There are so many more possibilities for projects using the Feather ESP8266 and don't forget, any ESP8266 project will be compatible with the Adafruit Feather HUZZAH ESP8266 board.
Should You Buy the Adafruit Feather Huzzah ESP8266?
The Adafruit Feather Huzzah ESP8266 dev board has all the features a beginner would need to start making their own IoT, Home Automation, and even simple robotics projects. While there are cheaper ESP8266 boards out there, non have quite the setup the Feather HUZZAH ESP8266 board has. If you are looking for a portable, extendible board with multiple options for programming, you can't go wrong here!