TTGO T-OI PLUS RISC-V ESP32-C3
by LilyGo
LilyGO’s ESP32-C3 board with RISC-V core and USB-C - great for portable, low-cost IoT projects with BLE and Wi-Fi.

On this page
Pinout
10 pins · 2.54 mm pitch| Pin | GPIO | Labels | Status | Capabilities | Notes |
|---|---|---|---|---|---|
| 1 | 2 | A1BAT_ADC_PIN | strapping | adc | |
| 2 | 3 | LED_BUILTIN | safe | - | |
| 3 | 4 | SCKA2 | strapping | adc · spi | |
| 4 | 5 | MISOA3 | strapping | adc · spi | |
| 5 | 6 | MOSI | strapping | spi | |
| 6 | 7 | SS | strapping | spi | |
| 7 | 18 | SCL | uart | i2c | |
| 8 | 19 | SDA | uart | i2c | |
| 9 | 20 | RX | uart | uart | |
| 10 | 21 | TX | uart | uart |
Start with these
1 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 | GPIO2 | Must be held high during boot (if low on reset, normal flash boot may fail) | Strapping |
| SCK | MTMS | Used during boot; JTAG TMS for debugging; acts as Quad-SPI flash IO (hold data line) in internal-flash variants | JTAG |
| MISO | MTDI | Used during boot; JTAG TDI for debugging; acts as Quad-SPI flash IO (write-protect data line) in internal-flash variants | JTAG |
| MOSI | MTCK | Used during boot; JTAG TCK for debugging; provides flash clock in internal-flash variants | JTAG |
| SS | MTDO | Used during boot; JTAG TDO for debugging; acts as Quad-SPI flash IO (data line) in internal-flash variants | JTAG |
| RX | U0RXD | Used as UART0 receive (console/bootloader); repurposing may disable serial programming and debug logs | UART |
| TX | U0TXD | Used as UART0 transmit (console/bootloader); repurposing may disable serial console output and printing | UART |
Only if you know the tricks
wired to flash or USB - expect a fight| Pin | Label | What to know | Role |
|---|---|---|---|
| SCL | USB_D- | By default connected to on-chip USB Serial/JTAG controller; to use as GPIO it must be reconfigured from its USB function | USB |
| SDA | USB_D+ | By default connected to on-chip USB Serial/JTAG controller; not available for GPIO use unless USB functionality is disabled or remapped | USB |
Pinout notes All 10 pins on the TTGO T-OI PLUS RISC-V ESP32-C3 are usable GPIO, spaced at the standard 2.54 mm pitch. Peripheral wiring is straightforward: I²C is mapped to…
All 10 pins on the TTGO T-OI PLUS RISC-V ESP32-C3 are usable GPIO, spaced at the standard 2.54 mm pitch.
Peripheral wiring is straightforward: I²C is mapped to SDA on GPIO19 and SCL on GPIO18; the SPI bus (MOSI, MISO, SCK, SS) is broken out in full; TX/RX on GPIO21 and GPIO20 cover serial logging and flashing.
Beyond plain digital I/O you get 3 ADC-capable pins for sensors and battery monitoring.
7 of the exposed pins carry boot-time or system duties on the ESP32-C3 (A1, SCK, MISO and 4 more) - check the guidance above before wiring anything to them. LED_BUILTIN is free of any such role - the safest first picks.
Getting started
flash your first firmware in ~2 minutesBoard: Ttgo-t-oi-plus Dev
Flash Size: 4MB · QIO
Upload Speed: 921600
// blink
pinMode(3, OUTPUT);
digitalWrite(3, LOW); // on (often inverted)[env:ttgo-t-oi-plus]
platform = espressif32
board = esp32-c3-devkitm-1
framework = arduino
monitor_speed = 115200
upload_speed = 921600esp32:
board: esp32-c3-devkitm-1
variant: ttgo-t-oi-plus
framework:
type: esp-idf
# blink - GPIO3
output:
- platform: gpio
pin: 3
id: led_out
light:
- platform: binary
name: "LED"
output: led_outesptool.py --chip esp32c3 --port /dev/ttyACM0 \
write_flash 0x0 firmware.binSpecifications
ESP32-C3 · 45.7 × 25.8 mmAbout this board
Inside sits the ESP32-C3 - a single-core RISC-V and the budget low-power pick.
At $5.50 it's cheaper than most ESP32-C3 boards, which usually run around $10.
Only 10 GPIO are broken out, where most ESP32-C3 boards manage about 13 - worth checking the pinout covers what you need.
Around the module: a Grove connector, battery charging (TP4054), status LEDs (Power, Charge, UART) and Reset buttons.
- Rechargeable 16340 Li-ion battery holder on the back
- TP4054 Li-ion charger without on-board battery protection (use protected cells)
- IPEX/u.FL connector for an external antenna
- Power ON/OFF slide switch
- D1 mini-compatible pinout
Where to buy
prices are typical street prices
Resources
Similar boards




