ESP32-C3-DevKitM-1, 30 pin pinout
ESP32-C3 board. Pick ESP32C3 Dev Module in the Arduino IDE. 8 of its header GPIOs are free of boot, flash and USB duties.
C3
GND
GND
3V3
TX
3V3
RX
2
GND
3
9
GND
8
RST
GND
GND
7
0
6
1
5
10
4
GND
GND
5V
18
5V
19
GND
GND
Pins tested on hardware
| Use | Pins |
|---|---|
| I2C | SDA 6 / SCL 7 |
| One-wire or DHT data | GPIO 4 |
| BOOT button | GPIO 9 |
Field notes
- Native USB serial is off by default on the DevKitM-1 build. Without -DARDUINO_USB_MODE=1 a board connected only by its native port boots but prints nothing.
- GPIO 9 is the BOOT button and GPIO 8 drives the RGB LED.
- GPIO 18 and 19 are the native USB data lines.
- Check the silkscreen before wiring: a sensor on the wrong pad was the one wiring fault in ProbeHarbor's C3 test.
Analog and Wi-Fi
ADC2 (GPIO 5) gives unstable readings because of a chip erratum, and ESP-IDF no longer supports it in oneshot mode. Use GPIO 0 to 4 for analog.
Every pin
Pads in order from the top, with the USB connector at the bottom. Numbers are GPIO numbers, which is what sketches use.
| Pad | Label | GPIO | Can do | Use it? |
|---|---|---|---|---|
| Left 1 | GND | — | — | Power Ground. |
| Left 2 | 3V3 | — | — | Power The 3.3 V supply. |
| Left 3 | 3V3 | — | — | Power The 3.3 V supply. |
| Left 4 | 2 | 2 | ADC1_CH2, Deep-sleep wake | Boot pin A strapping pin. It must be high at reset. |
| Left 5 | 3 | 3 | ADC1_CH3, Deep-sleep wake | Safe A general-purpose pin with no boot, flash or USB duty. |
| Left 6 | GND | — | — | Power Ground. |
| Left 7 | RST | — | — | Reset The reset pin. |
| Left 8 | GND | — | — | Power Ground. |
| Left 9 | 0 | 0 | ADC1_CH0, Deep-sleep wake | Safe A general-purpose pin with no boot, flash or USB duty. |
| Left 10 | 1 | 1 | ADC1_CH1, Deep-sleep wake | Safe A general-purpose pin with no boot, flash or USB duty. |
| Left 11 | 10 | 10 | — | Safe A general-purpose pin with no boot, flash or USB duty. |
| Left 12 | GND | — | — | Power Ground. |
| Left 13 | 5V | — | — | Power The 5 V supply from USB. |
| Left 14 | 5V | — | — | Power The 5 V supply from USB. |
| Left 15 | GND | — | — | Power Ground. |
| Right 1 | GND | — | — | Power Ground. |
| Right 2 | TX | 21 | UART0 TX | Serial Carries the serial console. Anything wired here fights with flashing and the bench. |
| Right 3 | RX | 20 | UART0 RX | Serial Carries the serial console. Anything wired here fights with flashing and the bench. |
| Right 4 | GND | — | — | Power Ground. |
| Right 5 | 9 | 9 | — | Boot pin A strapping pin and the BOOT button. |
| Right 6 | 8 | 8 | — | Boot pin A strapping pin and the RGB LED. |
| Right 7 | GND | — | — | Power Ground. |
| Right 8 | 7 | 7 | JTAG MTDO | Safe A general-purpose pin with no boot, flash or USB duty. |
| Right 9 | 6 | 6 | JTAG MTCK | Safe A general-purpose pin with no boot, flash or USB duty. |
| Right 10 | 5 | 5 | ADC2_CH0, JTAG MTDI, Deep-sleep wake | Safe A general-purpose pin with no boot, flash or USB duty. |
| Right 11 | 4 | 4 | ADC1_CH4, JTAG MTMS, Deep-sleep wake | Safe A general-purpose pin with no boot, flash or USB duty. |
| Right 12 | GND | — | — | Power Ground. |
| Right 13 | 18 | 18 | USB D- | Avoid The native USB D- line. Using it breaks USB flashing and serial. |
| Right 14 | 19 | 19 | USB D+ | Avoid The native USB D+ line. Using it breaks USB flashing and serial. |
| Right 15 | GND | — | — | Power Ground. |
The ESP32-C3 chip
| Feature | Value |
|---|---|
| CPU | Single-core RISC-V, up to 160 MHz |
| Radio | Wi-Fi 4 (2.4 GHz) and Bluetooth LE 5 |
| GPIOs | 22 |
| Analog in | 6 channels: ADC1 on GPIO 0 to 4, ADC2 on GPIO 5 |
| Touch | None |
| Analog out | None |
| USB | USB serial/JTAG port on GPIO 18 and 19 |
| SRAM | 400 KB |
Projects for this board
- ProbeHarbor probe Prebuilt sensor firmware from the ProbeHarbor project. Flash it from this page, then it finds a temperature sensor by itself and posts a reading every minute.
- Wi-Fi scanner List nearby networks with signal strength and channel every ten seconds. A quick radio health check.
- I2C bus scanner Probe every address on the I2C bus and report what answers. Run it before trusting any sensor wiring.
- DHT22 climate logger Read temperature and humidity every two seconds and print them as a log line.
- SSD1306 OLED status Drive a 128 by 64 I2C OLED and show an uptime counter. The base for any small status display.
- ESP-NOW pair Two boards talk directly over the Wi-Fi radio, with no router. Each sends a counter and prints what the other sends.
- NeoPixel effects Drive a strip or stick of WS2812 LEDs through a color wipe, a rainbow and a theater chase.
- Home Assistant temperature Publish a DS18B20 reading over MQTT every 30 seconds. Home Assistant finds the sensor by itself through MQTT discovery.
- Bluetooth LE scanner List nearby Bluetooth LE devices with their signal strength every ten seconds: phones, watches, beacons and sensors.
- Over-the-air updates Upload new firmware over Wi-Fi with ArduinoOTA, so a board in a box on the shelf never needs a USB cable again.
- Battery deep-sleep sensor Wake every five minutes, read a DS18B20 and the battery voltage, then go back to deep sleep. A boot counter survives in RTC memory.
- Relay and servo control Move a hobby servo to any angle and switch a relay module on and off by typing commands on the bench.
- E-paper temperature card Show a DS18B20 reading on a 2.9 inch e-paper panel that keeps its image with the power off, refreshing only when the value changes.
- BME280 web dashboard The board serves its own web page with live temperature, humidity and pressure and a chart that grows every two seconds.
- Wi-Fi setup portal No passwords in the sketch: the board opens its own setup network with a page to pick your Wi-Fi, saves it, and joins it from then on.
- DS18B20 to ProbeHarbor Read a waterproof DS18B20 probe and post the temperature to ProbeHarbor once a minute.
- DS18B20 with Wi-Fi portal The same DS18B20 probe, but Wi-Fi is set from a phone through a captive portal instead of being compiled in.
Amazon buy links may include an Associates tag, and this site may earn a commission from qualifying Amazon purchases at no extra cost to you. Adafruit links are direct.