Since technology is ever-increasing in complexity, it comes as no surprise that the maker environment in electronics also continues to increase in complexity. When the ESP8266 was introduced to the maker sector, a huge number of IoT projects arose (ranging from simple temperature monitors to fully automated greenhouses). The ESP8266 is considerably more powerful than many microcontroller ranges including the PIC16, PIC18, PIC24, and AVR, thanks to its 32-bit microcontroller and Wi-Fi capabilities. Even though it’s a powerful SoC, however, it is already being replaced!
Espressif, who make the ESP range of Wi-Fi SoCs, have created the ESP32 which is the successor to the ESP8266 and is definitely worth upgrading to! While the CPU of the ESP32 is still 32 bits, the speed has been increased to a maximum of 240MHz, the memory has been increased to 520KiBSRAM, and Bluetooth has even been integrated! Using the ESP32 can be tricky if only the module is used, so this is where pre-made systems come in, with one particularly useful module being the Adafruit Huzzah32.
The Adafruit Huzzah32 integrates the ESP32 with additional hardware that makes it easier to program and use in projects. For example, the Huzzah32 provides voltage regulation, a USB/UART bridge for connectivity, and various support hardware so that the ESP32 can be plugged straight into projects. Programming the Huzzah32 is easy when using the Arduino IDE, and in this How-To, we will see how this is done!
The first step to using the Huzzah32 with a PC is installing the driver for the SiLabs CP2104, which is responsible for bridging the USB connection from a PC to the ESP32 via UART. To download the driver, click the link below and select your operating system.
The downloaded file is a ZIP file that needs to be extracted into its own folder, so ensure that you do this and that all files are extracted. Then you will need to run the correct installer program, and this depends on if you are running a 32-bit or 64-bit version of Windows.
The Arduino IDE has a board manager that allows for the easy inclusion of additional boards, but unfortunately, the ESP32 range of boards are not included and cannot be searched for in the board manager. To make installation as simple as possible, we will need to get our board manager to search through the ESP32 GitHub so that it can install these boards automatically.
In the Arduino IDE navigate to File > Preferences:
In the window that appears, you will need to insert the following text into the Additional Boards Manager URLs.
Now that our IDE can find the additional ESP32 boards, we need to search for and then install them. Luckily for us, there is a whole range of boards included with the selection that we will make in the board manager, and this will allow us to program most ESP32-based development boards! To get to the board manager navigate to Tools > Board > Boards Manager:
In the board manager, search for the term “ESP32” and then select the result called “esp32 by Espressif Systems”. This installation takes a while, as there are many files and board types that you can choose from.
Go back under Tools and select Board and scroll down to select “Adafruit ESP32 Feather”
Once you’ve chosen the correct board, you’re ready to use the Adafruit Huzzah32 on the Arduino IDE, opening a wide range of projects and ideas that wouldn’t have been possible before!