MakerLab
ESP32Unexpected Maker FeatherS3

Unexpected Maker FeatherS3: Your Feather-Compatible ESP32-S3 Powerhouse

A compact and powerful development board featuring the ESP32-S3, designed for makers who need Wi-Fi, Bluetooth, and ample GPIO for complex projects.

Unexpected Maker FeatherS3

The Unexpected Maker FeatherS3 is a highly capable development board built around the Espressif ESP32-S3 System-on-Chip (SoC). It follows the popular Adafruit Feather form factor, making it compatible with a vast ecosystem of FeatherWings and accessories. This board is designed for makers, hobbyists, and embedded engineers who require a robust microcontroller with modern connectivity and plenty of processing power for demanding applications.

At its core, the ESP32-S3 is a dual-core Tensilica LX7 microcontroller running at up to 240 MHz. It boasts integrated Wi-Fi 802.11 b/g/n and Bluetooth 5 (LE), offering versatile wireless communication options. The S3 variant also includes dedicated hardware for AI acceleration, making it suitable for on-device machine learning tasks, and features a USB OTG interface for direct connection to computers without a separate USB-to-serial chip. This makes it a significant upgrade over earlier ESP32 generations, particularly for projects requiring faster processing or USB host capabilities.

Released around 2021, the FeatherS3 by Unexpected Maker aims to provide a feature-rich and maker-friendly platform. It typically includes onboard battery charging circuitry, making it ideal for portable projects. Its pinout is designed to be familiar to Feather users while exposing the full capabilities of the ESP32-S3, including a generous number of GPIO pins, multiple ADC channels, and support for various communication protocols like I2C, SPI, and UART. This board is particularly well-suited for projects involving IoT devices, sensor networks, robotics, and embedded machine learning applications where performance and connectivity are key.

The FeatherS3 is a great choice for makers who have outgrown simpler microcontrollers or need the combined power of a capable MCU, Wi-Fi, and Bluetooth in a small form factor. Its compatibility with the Feather ecosystem simplifies hardware expansion, allowing for rapid prototyping. Whether you're building a smart home device, a data logger, a custom controller, or experimenting with AI at the edge, the FeatherS3 offers a compelling blend of performance, features, and ease of use.

Watch

Related video, embedded from YouTube.

Specifications

Microcontroller / SoCEspressif ESP32-S3FN4R2
ArchitectureDual-core Tensilica LX7
Clock speedUp to 240 MHz
Flash / Storage4MB (typically) - accessible via SPI
RAM / SRAM512KB SRAM (internal) + 16MB PSRAM (external, on some variants)
Operating voltage3.3V
Digital I/O pins34 (configurable)
Analog / ADC14x 12-bit SAR ADCs
PWMUp to 48 channels (configurable)
ConnectivityWi-Fi 802.11 b/g/n (2.4 GHz), Bluetooth 5 (LE)
USBUSB Type-C (for programming, power, and USB OTG)
Power inputUSB Type-C, LiPo battery connector (3.7V), 3V3 pin
Dimensions68.6mm x 25.4mm (Feather standard)

Pinout & pin functions

PinFunction
3V33.3V Power Output
VBATLiPo Battery Input (3.7V)
GNDGround
ENEnable Pin (active low)
IO20GPIO 20 (ADC1_CH4, Touch 4)
IO19GPIO 19 (ADC1_CH3, Touch 3)
IO18GPIO 18 (ADC1_CH2, Touch 2)
IO17GPIO 17 (ADC1_CH1, Touch 1)
IO16GPIO 16 (ADC1_CH0, Touch 0)
IO15GPIO 15 (ADC2_CH7, Touch 7)
IO14GPIO 14 (ADC2_CH6, Touch 6)
IO13GPIO 13 (ADC2_CH5, Touch 5)
IO12GPIO 12 (ADC2_CH4, Touch 4)
IO11GPIO 11 (ADC2_CH3, Touch 3)
IO10GPIO 10 (ADC2_CH2, Touch 2)
IO9GPIO 9 (ADC2_CH1, Touch 1)
IO8GPIO 8 (ADC2_CH0, Touch 0)
IO7GPIO 7 (SPI2_MOSI, UART1_TX, I2S0_TX_WS)
IO6GPIO 6 (SPI2_MISO, UART1_RX, I2S0_RX_WS)
IO5GPIO 5 (SPI2_SCK, UART1_RTS, I2S0_TX_BCK)
IO4GPIO 4 (SPI2_CS0, UART1_CTS, I2S0_RX_BCK)
IO3GPIO 3 (I2C0_SDA, UART2_TX)
IO2GPIO 2 (I2C0_SCL, UART2_RX)
IO1GPIO 1 (UART0_TX, SPI3_MOSI)
IO0GPIO 0 (UART0_RX, SPI3_MISO)
IO43GPIO 43 (SPI3_SCK, USB_D- signal)
IO44GPIO 44 (SPI3_CS0, USB_D+ signal)
IO45GPIO 45 (ADC1_CH10, Touch 10)
IO46GPIO 46 (ADC1_CH11, Touch 11)
IO47GPIO 47 (ADC1_CH12, Touch 12)
IO48GPIO 48 (ADC1_CH13, Touch 13)
IO39GPIO 39 (ADC1_CH14, Touch 14)
IO38GPIO 38 (ADC1_CH15, Touch 15)
IO37GPIO 37 (ADC1_CH16, Touch 16)
IO36GPIO 36 (ADC1_CH17, Touch 17)
IO35GPIO 35 (ADC1_CH18, Touch 18)
IO34GPIO 34 (ADC1_CH19, Touch 19)
IO33GPIO 33 (ADC1_CH20, Touch 20)
IO32GPIO 32 (ADC1_CH21, Touch 21)
IO31GPIO 31 (ADC1_CH22, Touch 22)
IO21GPIO 21 (I2C1_SDA)
IO22GPIO 22 (I2C1_SCL)
IO12GPIO 12 (ADC2_CH4, Touch 4)
IO11GPIO 11 (ADC2_CH3, Touch 3)
IO10GPIO 10 (ADC2_CH2, Touch 2)
IO9GPIO 9 (ADC2_CH1, Touch 1)
IO8GPIO 8 (ADC2_CH0, Touch 0)
IO7GPIO 7 (SPI2_MOSI, UART1_TX, I2S0_TX_WS)
IO6GPIO 6 (SPI2_MISO, UART1_RX, I2S0_RX_WS)
IO5GPIO 5 (SPI2_SCK, UART1_RTS, I2S0_TX_BCK)
IO4GPIO 4 (SPI2_CS0, UART1_CTS, I2S0_RX_BCK)
IO3GPIO 3 (I2C0_SDA, UART2_TX)
IO2GPIO 2 (I2C0_SCL, UART2_RX)
IO1GPIO 1 (UART0_TX, SPI3_MOSI)
IO0GPIO 0 (UART0_RX, SPI3_MISO)
IO43GPIO 43 (SPI3_SCK, USB_D- signal)
IO44GPIO 44 (SPI3_CS0, USB_D+ signal)
IO45GPIO 45 (ADC1_CH10, Touch 10)
IO46GPIO 46 (ADC1_CH11, Touch 11)
IO47GPIO 47 (ADC1_CH12, Touch 12)
IO48GPIO 48 (ADC1_CH13, Touch 13)
IO39GPIO 39 (ADC1_CH14, Touch 14)
IO38GPIO 38 (ADC1_CH15, Touch 15)
IO37GPIO 37 (ADC1_CH16, Touch 16)
IO36GPIO 36 (ADC1_CH17, Touch 17)
IO35GPIO 35 (ADC1_CH18, Touch 18)
IO34GPIO 34 (ADC1_CH19, Touch 19)
IO33GPIO 33 (ADC1_CH20, Touch 20)
IO32GPIO 32 (ADC1_CH21, Touch 21)
IO31GPIO 31 (ADC1_CH22, Touch 22)
IO21GPIO 21 (I2C1_SDA)
IO22GPIO 22 (I2C1_SCL)

Wiring & circuit basics

Powering the Unexpected Maker FeatherS3 is straightforward. The board can be powered via its USB Type-C port, which also handles programming and data transfer. For battery-powered projects, a 3.7V LiPo battery can be connected to the VBAT pin and the corresponding GND pin; the board includes a charging circuit for this purpose. The onboard 3.3V regulator can supply power to external components, but be mindful of its current limit (typically around 500mA to 1A, depending on the specific board variant and conditions). Always connect power sources correctly; reversing polarity can damage the board.

The FeatherS3 operates at a logic level of 3.3V. This means that any sensors, displays, or other peripherals you connect should also be 3.3V compatible. Connecting 5V devices directly to GPIO pins can cause permanent damage to the ESP32-S3. If you need to interface with 5V logic devices, you must use a logic level shifter. Conversely, 3.3V devices can typically be connected to 5V systems through a level shifter or by ensuring the 5V system has tolerant inputs.

A simple example is connecting an LED. Choose a standard LED and a current-limiting resistor (e.g., 220-330 ohms for a typical 3.3V LED). Connect the anode (longer leg) of the LED to a digital GPIO pin, such as IO23. Connect the cathode (shorter leg) of the LED to one end of the resistor. Connect the other end of the resistor to a GND pin on the FeatherS3. When you program the GPIO pin to be HIGH (3.3V), current will flow through the resistor and LED, illuminating it. When the pin is LOW (0V), the LED will turn off.

Programming & getting started

The Unexpected Maker FeatherS3 can be programmed using several popular toolchains. The most common for beginners is the Arduino IDE, with support available through the ESP32 Arduino Core. You'll need to add the ESP32 board definitions to your Arduino IDE. For those preferring Python, CircuitPython or MicroPython offer excellent support, allowing for rapid development and easy file management. Advanced users can leverage the Espressif IoT Development Framework (ESP-IDF) for full control over the hardware and direct access to Espressif's SDKs. PlatformIO, an integrated development environment for IoT development, also provides robust support for the ESP32-S3.

To upload your first program using the Arduino IDE: 1. Install the ESP32 Arduino Core. 2. Connect the FeatherS3 to your computer via USB. 3. Select the correct board (e.g., 'ESP32S3 Dev Module' or a specific FeatherS3 variant if available) and COM port in the Arduino IDE. 4. Write or load a simple sketch (e.g., a Blink example). 5. Click the Upload button. The board will typically enter bootloader mode automatically, but some boards might require pressing and holding the BOOT button while pressing and releasing the RESET button, then releasing BOOT. The IDE will compile and flash the code.

Project ideas

Wi-Fi Connected Weather StationBuild a device that reads temperature and humidity using an I2C sensor (like the BME280) and sends the data to a cloud service or local server over Wi-Fi. This project utilizes the ESP32-S3's Wi-Fi capabilities and I2C interface, teaching about sensor integration and network communication.
Bluetooth Low Energy Heart Rate MonitorCreate a wearable device that reads heart rate from a pulse sensor and broadcasts the data via Bluetooth Low Energy (BLE) to a smartphone app. This project leverages the ESP32-S3's BLE capabilities and ADC for sensor input, teaching about embedded BLE applications.
Gesture Controlled Robot ArmDevelop a robot arm controlled by hand gestures detected using the onboard AI acceleration features of the ESP32-S3 (with an external camera module). This advanced project explores edge AI, computer vision, and motor control, utilizing the ESP32-S3's processing power and GPIO for motors.
Smart Home Automation HubDesign a central hub that communicates with various smart home devices (e.g., lights, sensors) using different protocols like Wi-Fi and BLE. This project involves managing multiple communication channels and potentially building a simple web interface for control, highlighting the ESP32-S3's versatility.
Offline Voice AssistantImplement a basic voice command system that runs entirely on the ESP32-S3, processing commands locally without needing cloud connectivity. This project would use the AI acceleration features for keyword spotting and command recognition, demonstrating on-device machine learning.
FeatherWing Compatible Data LoggerDevelop a battery-powered data logger that records sensor readings (e.g., accelerometer, GPS) to an SD card via a FeatherWing. This project focuses on power management, efficient data storage, and interfacing with various peripherals, suitable for remote monitoring applications.

Buying tips & gotchas

When purchasing the Unexpected Maker FeatherS3, ensure you are buying from a reputable source to avoid counterfeit or low-quality clones. The ESP32-S3 is a powerful chip, so ensure your power supply can handle its peak current draw, especially when Wi-Fi is active; a 500mA to 1A supply is recommended for USB power. For battery operation, use LiPo batteries with appropriate protection circuits. Be mindful of the 3.3V logic levels; always use level shifters when interfacing with 5V components. Accessories like OLED displays, sensors, and motor drivers that are Feather-compatible will work seamlessly with this board.