Skip to main content

Hardware Details

Soldered NULA Dual ESP32-C5 is built around the ESP32-C5-WROOM-1-N8R8 module, with a PCB antenna on the module. Its 19 GPIO (general-purpose input/output pins) come out on two 13-pin, 2.54 mm headers that fit a breadboard. This page lists what each header pin does, how the board is powered, and what its two solder jumpers are for.

Key specifications​

SpecificationValue
MCU
MCUESP32-C5-WROOM-1-N8R8 module, the board's MCU (microcontroller unit), with a 32-bit RISC-V (an open processor architecture) single core
ClockUp to 240 MHz
SRAM384 KB HP (high-performance) SRAM (static RAM), 16 KB LP (low-power) SRAM
Flash8 MB (plus 8 MB PSRAM: pseudo-static RAM, extra working memory in the module)
Connectivity
Wi-FiWi-Fi 6 (802.11ax), 2.4 GHz and 5 GHz
BluetoothBluetooth 5 (LE: Bluetooth Low Energy)
Wireless moduleESP32-C5-WROOM-1-N8R8, PCB antenna
Interface
GPIO19, on two 13-pin 2.54 mm headers
QwiicYes, SDA on IO4 and SCL on IO5
Breadboard compatibleYes
Power
Battery connector2-pin JST (the plug style your battery's connector must match), single-cell Li-ion (lithium-ion)
Onboard battery chargerYes, TP4056M, 400 mA to 4.2 V
SupplyUSB-C 5 V, battery, or 3.7 V to 5.3 V on the VCC pin
Logic level3.3 V
Other
Development environmentsArduino IDE, MicroPython, ESP-IDF
Dimensions26 × 63 mm
Mounting hole1 × 3.2 mm

Pinout​

The two headers carry these signals:

  • First header: RX, TX, IO2, IO7, IO6, IO10, IO3, IO0, RESET, 3V3, GND, VCC and VBAT.
  • Second header: IO4, IO5, IO25, IO24, IO23, IO13, IO14, IO9, IO28, IO1, IO8, 3V3 and GND.

All GPIO use 3.3 V logic.

Pin details​

PinGPIODescription
RXGPIO12UART0 (the first of the chip's UART serial ports) receive. Also wired to the CH340K USB-to-serial chip, so Serial and uploads use it. Arduino name RX.
TXGPIO11UART0 transmit. Also wired to the CH340K. Arduino name TX.
IO2GPIO2Default SPI (a serial bus with clock, data-out, data-in and chip-select lines) MISO in Arduino (MISO). Analog input: ADC1 (the chip's analog-to-digital converter) channel 1. Strapping pin (see below).
IO7GPIO7Default SPI MOSI in Arduino (MOSI). Strapping pin: read at reset to select where the JTAG signals come from (JTAG is the interface for debugging the CPU).
IO6GPIO6Default SPI clock in Arduino (SCK). ADC1 channel 5.
IO10GPIO10Default SPI chip select in Arduino (SS).
IO3GPIO3General-purpose I/O. ADC1 channel 2. Strapping pin: read at reset, with IO25, to set the clock edge of SDIO (Secure Digital Input/Output, the interface a host processor can use to talk to the chip).
IO1GPIO1General-purpose I/O. ADC1 channel 0.
IO25GPIO25General-purpose I/O. Strapping pin: read at reset, with IO3, to set the SDIO clock edge.
IO0, IO9, IO23, IO24GPIO0, GPIO9, GPIO23, GPIO24General-purpose I/O.
IO4GPIO4I2C (a two-wire bus between chips, with the SDA data and SCL clock lines) SDA (SDA in Arduino), shared with the Qwiic connector. 10 kΩ pull-up to 3.3 V through JP1. ADC1 channel 3.
IO5GPIO5I2C SCL (SCL in Arduino), shared with the Qwiic connector. 10 kΩ pull-up to 3.3 V through JP1. ADC1 channel 4.
IO8GPIO8Data input of the onboard WS2812B RGB LED (one LED with red, green and blue channels; LED_BUILTIN in Arduino).
IO13GPIO13The chip's native USB D− pin. The USB-C connector does not use it on this board, so it is free as a GPIO.
IO14GPIO14The chip's native USB D+ pin. Free as a GPIO, like IO13.
IO28GPIO28Connected to the user button, which pulls it to GND, with a 10 kΩ pull-up to 3.3 V. It is also a boot pin: low at reset starts the download mode instead of your program, as long as GPIO27 is high, which a pull-up on the board holds.
RESETENThe module's enable line, also on the reset button. Low turns the chip off; high turns it on.
3V3–The 3.3 V rail from the onboard regulator.
VCC–The supply the board selected (USB or battery). You can also feed 3.7 V to 5.3 V in here.
VBAT–The battery's positive terminal: the + pin of the 2-pin JST battery connector is on this line.
GND–Ground.

On the headers, IO2, IO3, IO7, IO25 and IO28 are strapping pins. The module's GPIO26 and GPIO27 are strapping pins too, but they do not come out on the headers. The chip reads their levels when it comes out of reset and keeps them until it powers down; after that they work as normal I/O. A pull-up or pull-down resistor you wire to one of them can change how the chip starts: IO28 picks the boot mode together with GPIO26 and GPIO27, IO3 and IO25 set the SDIO clock edge, and IO7 the JTAG signal source. IO28 low at reset starts the download mode while GPIO27 is high, which a 10 kΩ pull-up on the board holds.

Power supply​

The board runs from one of three sources:

  • USB-C: 5 V from the cable, through a 500 mA fuse.
  • Battery: a single-cell Li-ion battery on the 2-pin JST connector. The onboard TP4056M charger charges it from USB at 400 mA, up to 4.2 V, and a red LED shows the charger's status.
  • VCC pin: 3.7 V to 5.3 V from an external supply.

You do not need to switch anything. With USB plugged in, the board runs from USB; when you unplug the cable, it switches to the battery by itself. The selected supply is on the VCC pin. A TPS7A2633 regulator turns it into the 3.3 V rail, rated at 500 mA, which powers the module, the Qwiic connector and the 3V3 pins.

Espressif's datasheet for the module asks for an external supply that can deliver at least 0.6 A, which is more than this regulator's 500 mA rating. When it transmits over Wi-Fi, the module alone draws peaks of up to 313 mA on 2.4 GHz and up to 403 mA on 5 GHz. Keep that in mind before you power other parts from the 3V3 pins or the Qwiic connector.

In deep sleep, with the RTC (real-time clock) timer and LP (low-power) memory on, the module draws 12 µA typical. That is the module's own figure: the purple power LED also runs from the 3.3 V rail whenever the board is on, and JP2 lets you disconnect it.

Keep the VCC pin between 3.7 V and 5.3 V. The GPIO pins are 3.3 V only: the module runs from 3.0 V to 3.6 V, and a high input level may be at most 0.3 V above its supply, so connect 5 V signals through a level shifter.

Dimensions​

  • Board size: 26 × 63 mm
  • Mounting holes: one, 3.2 mm in diameter

Jumpers​

JumperDefaultFunction
JP1Closed (two copper bridges)Connects the 10 kΩ pull-ups on SDA (IO4) and SCL (IO5) to 3.3 V. These are the Qwiic connector's I2C lines. JP1 has three pads: the middle one is on 3.3 V, and each outer pad goes through its own 10 kΩ resistor, one to SDA and one to SCL, so the closed jumper never joins SDA to SCL. Each bridge connects one pull-up; cut both to disconnect both pull-ups.
JP2Closed (one copper bridge)Powers the purple power LED from the 3.3 V rail. Cut the bridge to turn that LED off and save its current.