Adafruit ESP32-C6 Feather
by Adafruit
Feather-format ESP32-C6 board with Wi-Fi 6, Bluetooth 5 and Zigbee/Thread radio, LiPo charging, NeoPixel and a STEMMA QT port.

On this page
Pinout
28 pins · 2.54 mm pitch| Pin | GPIO | Labels | Status | Capabilities | Notes |
|---|---|---|---|---|---|
| 1 | - | RST | control | - | Reset; tie to GND to restart the board |
| 2 | - | 3V3.3V | power | - | 3.3V regulator output, 500mA peak |
| 3 | - | 3V3.3V | power | - | Second 3.3V output pin |
| 4 | - | GND | ground | - | |
| 5 | 1 | A0IO1 | safe | adc | |
| 6 | 4 | A1IO4 | strapping | adc | Strapping pin |
| 7 | 6 | A2IO6 | strapping | adc | Same GPIO6 net as the IO6 pin on the opposite edge |
| 8 | 5 | A3IO5 | strapping | adc | Strapping pin; same GPIO5 net as the IO5 pin on the opposite edge |
| 9 | 3 | A4IO3 | safe | adc | |
| 10 | 2 | A5IO2 | safe | adc | |
| 11 | 21 | SCKIO21 | safe | spi | |
| 12 | 22 | MOMOSIIO22 | safe | spi | |
| 13 | 23 | MIMISOIO23 | safe | spi | |
| 14 | 17 | RXIO17 | uart | uart | |
| 15 | 16 | TXIO16 | uart | uart | |
| 16 | 9 | IO9 | strapping | - | Strapping pin; shared with the onboard BOOT button and NeoPixel - hold low at reset to enter the ROM bootloader |
| 17 | - | BAT | power | - | LiPoly battery +, JST-PH 2-pin jack |
| 18 | - | EN | control | - | 3.3V regulator enable, pulled up; pull low to disable |
| 19 | - | USB | power | - | 5V from the USB-C connector |
| 20 | 15 | 15IO15 | strapping | - | Strapping pin; drives the onboard red LED (LED_BUILTIN) |
| 21 | 14 | 14IO14 | safe | - | Silkscreen misprinted "12" on boards made before Jan 23, 2025 - actual pin is GPIO14 |
| 22 | 0 | IO0 | safe | - | Also usable as hardware SPI chip-select (Arduino SS) |
| 23 | 8 | IO8 | strapping | - | Strapping pin |
| 24 | 7 | IO7 | strapping | - | |
| 25 | 6 | IO6A2 | strapping | adc | Same net as the A2 pin on the opposite edge |
| 26 | 5 | IO5A3 | strapping | adc | Strapping pin; same net as the A3 pin on the opposite edge |
| 27 | 18 | SCLIO18 | safe | i2c | Also routed to the STEMMA QT connector |
| 28 | 19 | SDAIO19 | safe | i2c | Also routed to the STEMMA QT connector |
Start with these
10 pins with no boot or system involvementFreely assignable - no strapping, flash, USB or JTAG duties. Ideal first picks for buttons, sensors and LEDs.
Fine - with a little care
sampled at boot or shared with debug/serial| Pin | Label | What to know | Role |
|---|---|---|---|
| A1 | MTMS | Used during boot; required for JTAG debugging; flash data in internal-flash models. | Strapping |
| A2 | MTCK | Required for JTAG debugging; connected to flash clock in internal-flash models. | JTAG |
| A3 | MTDI | Used during boot; required for JTAG debugging; flash data in internal-flash models. | Strapping |
| RX | U0RXD | Default UART0 receive pin; using it may interfere with serial console or programming. | UART |
| TX | U0TXD | Default UART0 transmit pin; using it may interfere with serial console or programming. | UART |
| IO9 | GPIO9 | Pulling low on reset forces the ESP32-C6 into download mode instead of normal boot. | Strapping |
| 15 | JTAG_SEL | Controls JTAG input source at boot; avoid altering its state. | JTAG |
| IO8 | GPIO8 | Determines boot mode; pulling low at reset can prevent normal boot. | Strapping |
| IO7 | MTDO | Required for JTAG debugging; connected to flash data in internal-flash models. | JTAG |
| IO6 | MTCK | Required for JTAG debugging; connected to flash clock in internal-flash models. | JTAG |
| IO5 | MTDI | Used during boot; required for JTAG debugging; flash data in internal-flash models. | Strapping |
Pinout notes The Adafruit ESP32-C6 Feather breaks out 28 pins in total: 21 GPIO for your project, with 3V, GND, BAT and USB handling power. For peripherals, I²C is mapped…
The Adafruit ESP32-C6 Feather breaks out 28 pins in total: 21 GPIO for your project, with 3V, GND, BAT and USB handling power.
For peripherals, I²C is mapped to SDA on GPIO19 and SCL on GPIO18; the SPI bus (MOSI, MISO, SCK) is broken out in full; TX/RX on GPIO16 and GPIO17 cover serial logging and flashing.
On the analog side there are 8 ADC-capable pins for sensors and battery monitoring.
If you want zero surprises, A0, A4, A5, SCK and 6 more are free of any such role - the safest first picks. 11 of the exposed pins carry boot-time or system duties on the ESP32-C6 (A1, A2, A3 and 8 more).
Getting started
flash your first firmware in ~2 minutesBoard: Adafruit Feather ESP32-C6 USB CDC On Boot: Enabled Flash Size: 4MB (32Mb) Partition Scheme: Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS) Upload Speed: 921600
// blink the onboard user LED
void setup() {
pinMode(15, OUTPUT);
}
void loop() {
digitalWrite(15, HIGH); delay(500);
digitalWrite(15, LOW); delay(500);
}[env:adafruit-esp32-c6-feather]
platform = https://github.com/pioarduino/platform-espressif32/releases/download/stable/platform-espressif32.zip
board = adafruit_feather_esp32c6
framework = arduino
monitor_speed = 115200
upload_speed = 921600adafruit_feather_esp32c6 - or type it after board =.esp32:
board: adafruit_feather_esp32c6
variant: esp32c6
framework:
type: esp-idf
# blink - GPIO15
output:
- platform: gpio
pin: 15
id: led_out
light:
- platform: binary
name: "LED"
output: led_outadafruit_feather_esp32c6 (same ids as PlatformIO).esptool.py --chip esp32c6 --port /dev/ttyACM0 \
--baud 921600 write_flash 0x0 firmware.bin--port = your /dev/tty* (macOS/Linux) or COMx (Windows).Good to know
board-specific quirks worth 60 secondsThe ESP32-C6 has no native USB peripheral - only a built-in USB-Serial/JTAG interface for flashing and console output. It cannot act as a USB HID or mass-storage device, and CircuitPython on this board cannot use the UF2 drag-and-drop bootloader. Move files over Wi-Fi, Bluetooth, or WebSerial instead.
GPIO20 (NEOPIXEL_I2C_POWER) gates power to both the onboard NeoPixel and the STEMMA QT/I2C connector, and it must be driven high for either to work. CircuitPython and Arduino do this automatically at boot, but bare-metal or ESP-IDF code needs to set GPIO20 high manually before the NeoPixel or any STEMMA QT sensor will respond.
Specifications
ESP32-C6 · 51 × 23 mm · vs other ESP32 chips →About this board
At its core is the ESP32-C6 - a RISC-V part adding Wi-Fi 6 plus Thread/Zigbee radios.
Expect to pay about $14.95 - above the ~$10 typical for ESP32-C6 boards.
Onboard you'll find a STEMMA QT connector, an addressable RGB LED (GPIO9), a battery fuel gauge (MAX17048), battery charging via JST-PH 2.0, status LEDs (Red LED, Charge LED) and Reset/Boot buttons.
It flashes over native USB - no serial-converter driver needed, which isn't a given among ESP32-C6 boards.
- Wi-Fi 6 (802.11ax), Bluetooth 5, and an 802.15.4 radio for Zigbee and Thread
- MAX17048 LiPo fuel gauge for battery percentage readouts
- Cuttable Charger Disable trace on the back for use with non-rechargeable AA/AAA packs
- No onboard DAC - analog output is not available, only ADC input on A0-A5
Where to buy
prices are typical street prices
Resources
Similar boards





