HUZZAH32
The HUZZAH32 Feather Board is ESP32-based development board from Adafruit. The HUZZAH32 comes equipped with pre-assembled headers, built in USB-to-serial converter, automatic bootloader reset, lithium ion/polymer charger, and nearly all of the GPIOs exposed.
Project Specifics
Having both BLE and Wi-Fi connectivity options, HUZZAH32 projects include the following protocol elements:
As is standard with any project type that uses Wi-Fi, cloud elements are accessible from both the Embedded and Application tabs in Atmosphere Studio.
Hardware Specifics
Some devices may have limitations or design restrictions that cause unexpected behavior when used with Atmosphere. Specific information and details pertaining to the HUZZAH32 and its performance on Atmosphere is noted below.
ADC2
is not accessible, since it conflicts with the Wi-Fi. This means that pinsIO4
,IO0
,IO2
,IO15
,IO13
,IO12
,IO14
,IO27
,IO25
, andIO26
cannot be used as analog input pins.
Default Pin Mapping
Atmosphere configures each peripheral to a default pin for every supported device, based on ideal pairing of pins and their usage. The default pin configuration is set for convenience and enables each peripheral to work naturally without needing to be modified.
All pins can be used as general purpose input/output (GPIO) unless otherwise specified.
HUZZAH32 projects start with the following pin configuration:
Pin Table
Pin | Description | Notes |
---|---|---|
ESP32_UART1_TX |
UART1 TX Pin | Maps to IO17 |
ESP32_UART1_RX |
UART1 RX Pin | Maps to IO16 |
ESP32_UART2_TX |
UART2 TX Pin | Maps to IO1 |
ESP32_UART2_RX |
UART2 RX Pin | Maps to IO3 |
ESP32_I2C_SDA |
I2C SDA | Maps to IO23 |
ESP32_I2C_SCL |
I2C SCL | Maps to IO22 |
ESP32_SPI_MOSI |
SPI MOSI | Maps to IO18 |
ESP32_SPI_MISO |
SPI MISO | Maps to IO19 |
ESP32_SPI_CLK |
SPI CLK | Maps to IO5 |
A0 |
Analog Connector A0 | Maps to IO26 |
A1 |
Analog Connector A0 | Maps to IO25 |
A2 |
Analog Connector A0 | Maps to IO34 |
A3 |
Analog Connector A0 | Maps to IO39 |
A4 |
Analog Connector A0 | Maps to IO36 |
A5 |
Analog Connector A0 | Maps to IO4 |
Internal ESP32 Pins
All internal pins can be accessed using the following nomenclature: IO[PIN]
OR GPIO_NUM_[PIN]
. For example, pin 12 can be accessed via IO12
or GPIO_NUM_12
.
The default pin for any peripheral can be changed within an element's properties, from an element that references that particular peripheral.
Peripherals
Below is information regarding the HUZZAH32’s exposed peripherals.
I2C
I2C1
This I2C bus is exposed via pins IO23
(SDA) and IO22
(SCL).
SPI
SPI1
This SPI bus is exposed via pins IO18
(MOSI), IO19
(MISO), and IO5
(CLK).
UART
UART1 (USB Debug Console)
This UART is exposed via the micro-USB connector on the HUZZAH32 or pins IO17
(TX) and IO16
(RX).
UART2
This UART is exposed via pins IO1
(TX) and IO3
(RX).
ADC
ADC2 cannot be used, since it conflicts with the Wi-Fi. The following pins can be used for analog input:
IO36
IO37
IO38
IO39
IO32
IO33
IO34
IO35
PWM
Any GPIO pin can be used for PWM output.
Programming Method
Programming the HUZZAH32 involves using the programmer interface in Atmosphere Studio to install embedded firmware.
Setup Configuration
Prior to programming an HUZZAH32, ensure you have the following setup configuration:
- The HUZZAH32 is connected to the computer via USB to an available communication port.
- The computer has the necessary connectivity protocols enabled (Bluetooth Low Energy, Wi-Fi, etc.).
- The Atmosphere IoT Agent is installed on the computer and running. This is a local application that runs in the system tray and acts as an intermediary between the computer’s connectivity protocol drivers and the browser running Atmosphere.
- An Internet connection is maintained.
- The project to be programmed has been compiled.
Programming Instructions
With setup complete, you can program the HUZZAH32:
- From Atmosphere Studio’s Embedded tab, click the
button from the tab’s toolbar. This displays the Program Firmware window.
- Under Device Port, select the communication port the device is connected to.
- Click Program to start programming. When complete, you’ll be notified that the device is programmed with the project’s embedded firmware.
When complete, the HUZZAH32 is programmed with the project’s embedded firmware.
Guides and Tutorials
Get started using the HUZZAH32 with Atmosphere by walking through the following guides:
HUZZAH32 Guides |
---|
Getting Started with ESP32 |
Creating a Zigbee Mesh Network with Atmosphere |
Demo Projects
Atmosphere includes a variety of HUZZAH32 demo projects for users of all levels. Check them out by clicking the demo’s name to open the project in Atmosphere.
Name | Description |
---|---|
Control LED Over BLE Demo | Control the device’s red LED by pressing a button in the app to toggle the color over BLE. |
RegEx Element ESP32 Demo | The function element is used within this demo project by giving an input a string via BLE using a button element and categorizing the string into non-alphanumeric, alphabet and numeral characters by checking if the string matches the regular expression pattern. |
PWM Pin ESP32 Demo | The PWM pin element is used within this demo project by increasing the brightness of the ESP32’s LED alongside counter and mathematical operation elements. |
Data Type Conversion ESP32 Demo | The data type conversion element is used within this demo project by reading the integer values from the app’s slider using BLE and converting them into characters from the ASCII table, then printing them on the debug console. |
Comparison ESP32 Demo | The comparison element is used within this demo project by taking values from the app’s slider using BLE, comparing those values, then printing them on the debug console. |
ADC Pin ESP32 Demo | The ADC pin element is used within this demo project by reading the voltage from the analog pin and sending the data to the cloud. |
Digi XBee3 Zigbee Receiver Demo | Demonstrates the Digi XBee3 Zigbee module by having the HUZZAH32 act as the coordinator of a Zigbee network and forward received data to the Atmosphere cloud. Designed to work with the Digi XBee3 Zigbee Sender Demo. |
Resources
The following additional resources and downloadable files are available for the HUZZAH32: