MakerLab
ESP32Adafruit Feather ESP32-S3

Adafruit Feather ESP32-S3: Your Gateway to Powerful IoT Projects

Explore the capabilities of the ESP32-S3 with this compact, feature-rich development board from Adafruit.

Adafruit Feather ESP32-S3

The Adafruit Feather ESP32-S3 is a versatile development board designed for makers, students, and engineers looking to build internet-connected projects. It leverages the powerful Espressif ESP32-S3 System-on-Chip (SoC), a popular choice for its robust Wi-Fi and Bluetooth capabilities, combined with a dual-core processor and ample peripherals. This board is part of Adafruit's Feather ecosystem, known for its compact size, standardized Feather header layout, and integrated battery charging capabilities, making it ideal for portable and wearable applications.

At the heart of the Feather ESP32-S3 is the ESP32-S3 chip, which features two Xtensa LX7 cores running at up to 240 MHz. This chip offers significant improvements over previous ESP32 generations, including native USB support, AI acceleration instructions, and a wider range of GPIO pins. It boasts integrated 2.4 GHz Wi-Fi and Bluetooth 5 (LE) connectivity, enabling seamless communication with other devices and the internet. The ESP32-S3 is a step up from the original ESP32 and the ESP32-S2, offering a more balanced feature set for general-purpose IoT development.

This board is particularly well-suited for projects requiring a good balance of processing power, connectivity, and low power consumption. Its integrated LiPo battery charger makes it easy to create self-powered, portable devices. Whether you are building a smart home sensor, a wearable fitness tracker, a remote control system, or an educational robot, the Feather ESP32-S3 provides the necessary tools and flexibility. The extensive community support and availability of libraries for popular platforms like Arduino IDE and CircuitPython further lower the barrier to entry for complex projects.

Released around 2022, the Adafruit Feather ESP32-S3 builds upon the success of previous Feather boards and ESP32 variants. It aims to provide a powerful yet accessible platform for rapid prototyping. The inclusion of native USB allows for easier firmware flashing and serial communication without the need for a separate USB-to-serial converter. This makes it an excellent choice for beginners venturing into embedded systems and IoT, as well as for experienced developers seeking a reliable and feature-rich platform for their next creation.

Watch

Related video, embedded from YouTube.

Specifications

Microcontroller / SoCEspressif ESP32-S3
ArchitectureDual-core Xtensa LX7
Clock speedUp to 240 MHz
Flash / Storage4MB SPI Flash (on-board)
RAM / SRAM512KB SRAM (internal)
Operating voltage3.3V
Digital I/O pins20+ (depending on configuration)
Analog / ADC14x 12-bit SAR ADCs
PWMMultiple PWM channels available on GPIOs
ConnectivityWi-Fi 802.11 b/g/n (2.4 GHz), Bluetooth 5 (LE)
USBNative USB (Micro-USB connector)
Power input5V via Micro-USB, 3.7V LiPo battery connector, 5V/1A battery charger IC
Dimensions51mm x 23mm x 8mm (approx.)

Pinout & pin functions

PinFunction
3V3.3V Power Output
ENReset Pin (active low)
VBATBattery Input (connect 3.7V LiPo battery)
GNDGround
D0 / GPIO1General Purpose I/O, SPI Flash Interface
D1 / GPIO2General Purpose I/O
D2 / GPIO3General Purpose I/O
D3 / GPIO4General Purpose I/O
D4 / GPIO5General Purpose I/O, I2C SCL (default)
D5 / GPIO6General Purpose I/O
D6 / GPIO7General Purpose I/O
D7 / GPIO8General Purpose I/O
D8 / GPIO9General Purpose I/O, I2C SDA (default)
D9 / GPIO10General Purpose I/O
D10 / GPIO11General Purpose I/O
D11 / GPIO12General Purpose I/O
D12 / GPIO13General Purpose I/O
D13 / GPIO14General Purpose I/O
D14 / GPIO15General Purpose I/O
D15 / GPIO16General Purpose I/O
D16 / GPIO17General Purpose I/O
D17 / GPIO18General Purpose I/O
D18 / GPIO19General Purpose I/O, SPI MOSI (default)
D19 / GPIO20General Purpose I/O, SPI MISO (default)
D20 / GPIO21General Purpose I/O, SPI SCK (default)
D21 / GPIO25General Purpose I/O, ADC1_CH8
D22 / GPIO26General Purpose I/O, ADC1_CH9
D23 / GPIO27General Purpose I/O, ADC1_CH10
D24 / GPIO33General Purpose I/O, ADC1_CH11
D25 / GPIO34General Purpose I/O, ADC1_CH12
D26 / GPIO35General Purpose I/O, ADC1_CH13
D27 / GPIO36General Purpose I/O, ADC1_CH14
D28 / GPIO37General Purpose I/O, ADC1_CH15
USBMicro-USB Port (Power and Data)

Wiring & circuit basics

Powering the Adafruit Feather ESP32-S3 is straightforward. You can power it via the Micro-USB port using a standard 5V USB power supply or a USB port on a computer. The board also features a JST connector for a 3.7V LiPo battery, allowing for portable and battery-powered applications. An onboard battery charger IC manages charging when USB power is connected. The operating voltage for the microcontroller and its peripherals is 3.3V. Avoid connecting voltages higher than 3.3V directly to the GPIO pins, as this can damage the ESP32-S3.

When connecting external components, always respect the 3.3V logic level of the Feather ESP32-S3. If you need to interface with 5V devices, use a logic level shifter. For example, to blink an LED, connect an LED's anode to a digital GPIO pin (e.g., D21/GPIO25) and its cathode through a current-limiting resistor (typically 220-330 ohms) to a GND pin. This resistor prevents excessive current from flowing through the LED and the ESP32-S3 pin.

For sensors or modules that use I2C communication, the Feather ESP32-S3 has dedicated pins. The default I2C pins are D4/GPIO5 for SCL and D8/GPIO9 for SDA. Connect the VCC pin of the I2C device to the 3V pin on the Feather, the GND pin to a GND pin, the SCL pin to D4, and the SDA pin to D8. Ensure the I2C device also operates at 3.3V or use a logic level shifter if it's a 5V device.

Programming & getting started

The Adafruit Feather ESP32-S3 is well-supported by several popular development environments. For beginners and those familiar with Arduino, the Arduino IDE is an excellent choice. You'll need to install the ESP32 board support package via the Board Manager. CircuitPython, developed by Adafruit, offers a Python-based programming experience that is easy to learn and use, ideal for rapid prototyping. Simply download the latest CircuitPython firmware for the ESP32-S3 and drag-and-drop your Python code onto the board when it appears as a USB drive.

To upload your first program using the Arduino IDE: 1. Install the ESP32 board support. 2. Select the 'Adafruit Feather ESP32-S3' from the Boards menu. 3. Connect the Feather ESP32-S3 to your computer via Micro-USB. 4. Write your sketch (e.g., a simple Blink sketch). 5. Select the correct COM port and click the Upload button. For CircuitPython, after flashing the firmware, simply create a file named 'code.py' on the CIRCUITPY drive and write your Python code. The board will automatically run the code when it boots.

Project ideas

Wi-Fi Connected Weather StationMonitor temperature, humidity, and pressure using sensors like the BME280 and display readings on a small OLED screen. The ESP32-S3's Wi-Fi connects to a weather API to fetch forecast data, teaching sensor integration, I2C communication, and network connectivity.
Bluetooth LE Heart Rate MonitorUse a compatible heart rate sensor and transmit real-time heart rate data via Bluetooth Low Energy to a smartphone app. This project explores BLE advertising and GATT services, demonstrating low-power wireless communication.
Voice-Controlled Smart Home DeviceIntegrate a microphone and use the ESP32-S3's AI acceleration to process simple voice commands for controlling lights or other smart devices. This project delves into audio input, basic machine learning, and network control.
Portable Data Logger with Battery BackupLog sensor data (e.g., GPS coordinates, accelerometer readings) to an SD card or flash memory. The integrated LiPo charger and power management allow for extended autonomous operation, teaching data storage and power management.
Web-Controlled Robot ArmBuild a simple robot arm and control its movements via a web interface hosted on the ESP32-S3. This project combines motor control (PWM), web server development, and user interface design.
Gesture-Controlled LED MatrixUse a motion sensor (like an accelerometer) to detect gestures and control patterns displayed on an LED matrix. This project focuses on sensor reading, real-time display updates, and creative output.

Buying tips & gotchas

When purchasing the Adafruit Feather ESP32-S3, ensure you are buying from a reputable source like Adafruit or authorized distributors to avoid counterfeit or lower-quality clones. Always use a good quality Micro-USB cable, as poor cables can cause upload issues or unreliable power. For battery-powered projects, select a LiPo battery with a capacity appropriate for your project's power draw and desired runtime. Consider accessories like small OLED displays, breadboards, and various sensors to expand your project possibilities. Be mindful of the 3.3V logic level; using 5V components directly without level shifting can damage the board.