LuatOS CORE-ESP32 C3: high-resolution pinout and specs
The core of the LuatOS CORE ESP32 C3 is the ESP32-C3 microcontroller, featuring a 32-bit RISC-V single-core processor running at up to 160MHz. The device comes with integrated Wi-Fi and Bluetooth Low Energy (BLE) capabilities, allowing for seamless wireless communication in a wide range of IoT applications. Additionally, the device offers an extensive array of GPIO pins and support for popular communication protocols, such as I2C, SPI, and UART, which enable effortless integration with various sensors, actuators, and peripherals.
One of the key strengths of the LuatOS CORE ESP32 C3 is its compatibility with multiple development ecosystems. While it is primarily designed for the LuatOS operating system, it also seamlessly integrates with the popular Arduino ecosystem, just like other ESP32-C3 devices. This flexibility allows developers to choose their preferred development environment, catering to a broader range of preferences and expertise.
Here my selection of C3 LuatOS esp32c3 Core - ESP32-C3-DevKitC-02 - ESP32-C3-MINI-1 - WeMos LOLIN C3 PICO - WeMos LOLIN C3 Mini v2.1 - WeMos LOLIN C3 Mini v1.0 - ESP32 S3 Purlple AI-S3
Another notable feature of the LuatOS CORE ESP32 C3 is its inclusion of an external SPI flash, which provides additional storage capacity for more complex applications and data storage requirements. This extra memory makes it possible to store and manage more extensive firmware, libraries, and data sets, further expanding the device’s capabilities.
Key Component | Description |
---|---|
ESP32-C3 | The CORE ESP32 core board equipped with ESP32-C3 is a version without built-in FLASH, and the external SPI FLASH is mounted by default. If you encounter a core without external SPI FLASH, you need to pay attention to the specific model of the main chip. |
5 V to 3.3 V LDO | Power regulator that converts a 5 V supply into a 3.3 V output. |
Pin Headers | All available GPIO pins (except for the SPI bus for flash) are broken out to the pin headers on the board. |
Boot Button | Download button. Holding down Boot and then pressing Reset initiates Firmware Download mode for downloading firmware through the serial port. |
USB Type-C Port | USB interface. Power supply for the board as well as the communication interface between a computer and the ESP32-C3 chip. |
Reset Button | Press this button to restart the system. |
USB-to-UART Bridge | Single USB-to-UART bridge chip provides transfer rates up to 3 Mbps. |
2 LED | LEDs driven by GPIO12 and GPIO13. |
PINs
UART (Universal Asynchronous Receiver-Transmitter) pins:
- U0RXD (GPIO20): This pin serves as the UART0 receive (RX) pin, which is used for receiving serial data.
- U0TXD (GPIO21): This pin serves as the UART0 transmit (TX) pin, which is used for transmitting serial data.
I2C (Inter-Integrated Circuit) pins: The ESP32-C3 does not have dedicated I2C pins. However, you can implement software-based I2C (bit-banging) using any available GPIO pins. For instance, you could use GPIO12 (SPIHD) and GPIO13 (SPIWP) for the I2C SCL (clock) and SDA (data) pins, respectively.
LEDs: It has 2 led that can be controlled with GPIO12 and GPIO13.
The BOOT (IO09) pin cannot be pulled down before power-on, and the ESP32 will enter the download mode.
Specs
CPU and Memory
- 32-bit RISC-V single-core processor, up to 160
MHz - CoreMark® score:
- 1 core at 160 MHz: 407.22 CoreMark; 2.55
CoreMark/MHz
- 1 core at 160 MHz: 407.22 CoreMark; 2.55
- 384 KB ROM
- 400 KB SRAM (16 KB for cache)
- 8 KB SRAM in RTC
- Embedded flash (see details in Chapter 1
ESP32-C3 Series Comparison) - SPI, Dual SPI, Quad SPI, and QPI interfaces that
allow connection to multiple external flash - Access to flash accelerated by cache
- Supports flash in-Circuit Programming (ICP)
Ordering Code | Embedded Flash | Ambient Temperature (°C) | Package (mm) | GPIO No. |
---|---|---|---|---|
ESP32-C3 | No | –40 ∼ 105 | QFN32 (5*5) | 22 |
ESP32-C3FN4 | 4 MB | –40 ∼ 85 | QFN32 (5*5) | 22 |
ESP32-C3FH4 | 4 MB | –40 ∼ 105 | QFN32 (5*5) | 22 |
ESP32-C3FH4AZ | 4 MB | –40 ∼ 105 | QFN32 (5*5) | 16 |
Advanced Peripheral Interfaces
To upload in the Arduino environment, you must select DIO upload mode
- 22 or 16 programmable GPIOs
- Digital interfaces:
- 3 × SPI
- 2 × UART
- 1 × I2C
- 1 × I2S
- Remote control peripheral, with 2 transmit
channels and 2 receive channels - LED PWM controller, with up to 6 channels
- Full-speed USB Serial/JTAG controller
- General DMA controller (GDMA), with 3
transmit channels and 3 receive channels - 1 × TWAI® controller compatible with ISO
11898-1 (CAN Specification 2.0)
- Analog interfaces:
- 2 × 12-bit SAR ADCs, up to 6 channels
- 1 × temperature sensor
- Timers:
- 2 × 54-bit general-purpose timers
- 3 × digital watchdog timers
- 1 × analog watchdog timer
- 1 × 52-bit system timer
WiFi
- IEEE 802.11 b/g/n-compliant
- Supports 20 MHz, 40 MHz bandwidth in 2.4
GHz band - 1T1R mode with data rate up to 150 Mbps
- 4 × virtual Wi-Fi interfaces
- 802.11mc FTM
Bluetooth
- Bluetooth LE: Bluetooth 5, Bluetooth mesh
- High power mode (21 dBm)
- Speed: 125 Kbps, 500 Kbps, 1 Mbps, 2 Mbps
- Advertising extensions
- Multiple advertisement sets
- Channel selection algorithm #2
- Internal co-existence mechanism between Wi-Fi
and Bluetooth to share the same antenna
Security
- Secure boot
- Flash encryption
- 4096-bit OTP, up to 1792 bits for use
- Cryptographic hardware acceleration:
- AES-128/256 (FIPS PUB 197)
- Permission Control
- SHA Accelerator (FIPS PUB 180-4)
- RSA Accelerator
- Random Number Generator (RNG)
- HMAC
- Digital signature
Low Power Management
- Power Management Unit with four power modes
How to
- ESP32: pinout, specs and Arduino IDE configuration
- ESP32: integrated SPIFFS Filesystem
- ESP32: manage multiple Serial and logging
- ESP32 practical power saving
- ESP32 practical power saving: manage WiFi and CPU
- ESP32 practical power saving: modem and light sleep
- ESP32 practical power saving: deep sleep and hibernation
- ESP32 practical power saving: preserve data, timer and touch wake up
- ESP32 practical power saving: external and ULP wake up
- ESP32 practical power saving: UART and GPIO wake up
- ESP32: integrated LittleFS FileSystem
- ESP32: integrated FFat (Fat/exFAT) FileSystem
- ESP32-wroom-32
- ESP32-CAM
- ESP32: use ethernet w5500 with plain (HTTP) and SSL (HTTPS)
- ESP32: use ethernet enc28j60 with plain (HTTP) and SSL (HTTPS)
- How to use SD card with esp32
- esp32 and esp8266: FAT filesystem on external SPI flash memory
- Firmware and OTA update management
- Firmware management
- OTA update with Arduino IDE
- OTA update with Web Browser
- Self OTA uptate from HTTP server
- Non-standard Firmware update
- Integrating LAN8720 with ESP32 for Ethernet Connectivity with plain (HTTP) and SSL (HTTPS)
- Connecting the EByte E70 to ESP32 c3/s3 devices and a simple sketch example
- ESP32-C3: pinout, specs and Arduino IDE configuration
- Integrating W5500 with ESP32 Using Core 3: Native Ethernet Protocol Support with SSL and Other Features
- Integrating LAN8720 with ESP32 Using Core 3: Native Ethernet Protocol Support with SSL and Other Features
- Dallas ds18b20:
- Dallas ds18b20 with esp32 and esp8266: introduction and parasite mode
- Dallas ds18b20 with esp32 and esp8266: pull-up P-MOSFET gate and alarms
- Dallas ds18b20 with esp32 and esp8266: all OneWire topologies, long stubs and more devices
Datasheet
ESP32c3 datasheet
LuatOS CORE-ESP32-C3 Schematic
PCB size
Thanks
- Arduino
- esp8285
- esp8266
- ESP32
- ESP32 s2
- ESP32c3
- ESP32s3
- Arduino SAMD
- STM32
- Raspberry Pi