
nanoESP32-C6 Development Board | ESP32-C6-WROOM-1-N4 | WiFi 6 + Zigbee + Thread | RISC-V 160MHz | 4MB Flash | Dual USB-C | RGB LED
nanoESP32-C6 development board with ESP32-C6-WROOM-1-N4, WiFi 6, Zigbee, Thread, dual USB-C and RGB LED. Headers pre-soldered. Order now in Pakistan.
Description
The nanoESP32-C6 development board puts Espressif's ESP32-C6 — their first Wi-Fi 6 SoC — on a breadboard-friendly board with two USB Type-C ports and every usable GPIO brought out to 2.54 mm headers. One port runs through a CH343P USB-to-UART bridge for flashing and serial monitoring; the other is the ESP32-C6's own native USB, so you get USB Serial/JTAG debugging without an external probe.
What makes the C6 worth picking over an older ESP32 is the radio. A single chip covers 2.4 GHz Wi-Fi 6 (802.11ax), Bluetooth 5.3 LE and IEEE 802.15.4 — which means Thread 1.3, Zigbee 3.0 and a direct path to Matter. For a smart-home sensor, a Zigbee node, or a battery-powered device that needs Target Wake Time to stretch its runtime, this is the board to prototype on.
Key Features
- 📶 Wi-Fi 6 on 2.4 GHz — 802.11ax with OFDMA and Target Wake Time for lower power draw and better behaviour on crowded networks, still backward compatible with 802.11b/g/n.
- 🔗 Bluetooth 5.3 LE certified — long range, 2 Mbps PHY and advertising extensions for BLE mesh and beacon work.
- 🏠 Thread 1.3 and Zigbee 3.0 — an on-chip IEEE 802.15.4 radio, so one board can act as a Matter end device or a Zigbee node with no second module.
- ⚡ Two RISC-V cores — a 160 MHz high-performance core for your application plus a 20 MHz low-power core that keeps running while the main core sleeps.
- 🔌 Dual USB Type-C — the COM port goes through a WCH CH343P bridge for flashing and serial; the USB port is the ESP32-C6's native USB Serial/JTAG.
- 🌈 Addressable RGB LED on GPIO8 — WS2812-style, driven by Adafruit_NeoPixel or the ESP-IDF LED strip component. Status output with nothing to wire.
- 📌 Headers pre-soldered — 2.54 mm pins on both rows, ready for a breadboard straight out of the bag.
- 📡 Built-in PCB antenna — no external antenna or connector needed.
- 🔘 BOOT and RST buttons — manual download mode and reset without shorting pins.
Specifications
- Module: ESP32-C6-WROOM-1-N4 (PCB antenna)
- SoC: Espressif ESP32-C6
- HP processor: 32-bit RISC-V, up to 160 MHz
- LP processor: 32-bit RISC-V, up to 20 MHz
- Flash: 4 MB SPI flash (no PSRAM)
- SRAM: 512 KB HP SRAM + 16 KB LP SRAM
- ROM / cache: 320 KB ROM, 32 KB L1 cache
- Wi-Fi: 802.11ax (Wi-Fi 6) 2.4 GHz, 1T1R, 2412–2484 MHz, up to 150 Mbps; backward compatible with 802.11b/g/n
- Bluetooth: Bluetooth 5.3 LE certified
- 802.15.4: IEEE 802.15.4-2015, OQPSK, 250 kbps — Thread 1.3 / Zigbee 3.0
- USB: 2 × USB Type-C — CH343P USB-UART (COM) and native USB Serial/JTAG (USB)
- GPIO: 30 programmable GPIOs (QFN40 package)
- ADC: 12-bit SAR ADC, up to 7 channels
- Digital interfaces: 2 × UART plus 1 × LP UART, I2C plus LP I2C, 1 × I2S, general-purpose SPI, 2 × TWAI (CAN 2.0), SDIO slave, RMT TX/RX, parallel IO
- PWM: LED PWM up to 6 channels, plus Motor Control PWM (MCPWM)
- Timers and sensors: on-chip temperature sensor, pulse counter, 52-bit system timer, 2 × 54-bit general-purpose timers
- Security: secure boot (RSA-3072), flash encryption (AES-128/256-XTS), digital signature and HMAC peripherals, Trusted Execution Environment
- Buttons: BOOT and RST
- LED: 1 × addressable RGB LED on GPIO8
- Header pitch: 2.54 mm (0.1 inch), two rows, pre-soldered
Pinout
Numbers on the silkscreen are ESP32-C6 GPIO numbers.
- Top row: 5V, 13, 12, 11, 10, 8, 1, 0, 7, 6, 5, 4, RST, 3V3, GND
- Bottom row: 5V, GND, 9, 18, 19, 20, 21, 22, 23, 15, RX, TX, 3, 2, GND
RX and TX are the UART0 pins shared with the CH343P bridge. GPIO8 drives the onboard RGB LED and GPIO9 is the BOOT strapping pin, so leave both free where you can.
What's in the Box
- 1 × nanoESP32-C6 development board, ESP32-C6-WROOM-1-N4, pin headers pre-soldered — tested and QC-OK
USB Type-C cable is not included.
Who It's For
Students and final-year-project groups building IoT nodes, makers who want Matter, Thread or Zigbee without buying a separate radio, and firmware developers who need native USB JTAG debugging on a board small enough to sit on a breadboard. If you already work in ESP-IDF or Arduino your workflow carries straight over — set the target to esp32c6 and go.
Getting Started
In Arduino IDE, install the Espressif ESP32 board package and select a generic ESP32-C6 Dev Module. In ESP-IDF, run idf.py set-target esp32c6 then idf.py -p COMx flash monitor. Windows needs the WCH CH343 driver for the COM port; the native USB port enumerates on its own.
Documents and Downloads
- ESP32-C6 Datasheet by Espressif
- ESP32-C6 ESP-IDF get-started guide
- ESP32-C6 SoC product page by Espressif
- nanoESP32-C6 reference schematic and demo firmware
Test Sketch
Paste this into Arduino IDE to cycle the RGB LED and print the chip and flash details over serial — a quick way to confirm your board is alive.
// by www.digilog.pk #include <Arduino.h> #include <Adafruit_NeoPixel.h> // ========== LED SETUP ========== #define LED_PIN 8 #define LED_COUNT 1 Adafruit_NeoPixel pixels(LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800); // ========== Print system info using Arduino ESP API ========== void printSystemInfo() { Serial.println(F("=== Chip info ===")); const char *model = ESP.getChipModel(); Serial.printf("Model: %s\n", model ? model : "Unknown"); Serial.printf("Cores: %u\n", (unsigned)ESP.getChipCores()); Serial.printf("Revision: %u\n", (unsigned)ESP.getChipRevision()); Serial.printf("CPU freq: %u MHz\n", (unsigned)ESP.getCpuFreqMHz()); uint32_t flashBytes = ESP.getFlashChipSize(); Serial.printf("Flash size: %u KB\n", (unsigned)(flashBytes / 1024UL)); Serial.printf("Flash speed: %u Hz\n", (unsigned)ESP.getFlashChipSpeed()); uint64_t efuseMac = ESP.getEfuseMac(); uint8_t mac[6]; for (int i = 0; i < 6; ++i) mac[i] = (efuseMac >> (8 * (5 - i))) & 0xFF; Serial.printf("MAC Address: %02X:%02X:%02X:%02X:%02X:%02X\n", mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]); Serial.println(F("=== Memory info ===")); Serial.printf("Total heap: %u bytes\n", (unsigned)ESP.getHeapSize()); Serial.printf("Free heap: %u bytes\n", (unsigned)ESP.getFreeHeap()); Serial.printf("Min free heap:%u bytes\n\n", (unsigned)ESP.getMinFreeHeap()); } void setup() { Serial.begin(115200); delay(800); pixels.begin(); pixels.clear(); pixels.show(); Serial.println(F("Starting up...")); printSystemInfo(); } void loop() { pixels.setPixelColor(0, pixels.Color(255, 0, 0)); pixels.show(); delay(500); pixels.setPixelColor(0, pixels.Color(0, 255, 0)); pixels.show(); delay(500); pixels.setPixelColor(0, pixels.Color(0, 0, 255)); pixels.show(); delay(500); pixels.clear(); pixels.show(); printSystemInfo(); delay(3500); }
The nanoESP32-C6 is one of the cheapest ways to get Wi-Fi 6, Thread and Zigbee onto a breadboard, and the dual USB-C layout saves you hunting for a spare serial adapter every time you flash. In stock now — order online for delivery across Pakistan.




