One of my preferred manufacturers is WeMos, here is an entry-level development board based on ESP32-C3-WROOM-02, a general-purpose module with 4 MB SPI flash. This board integrates complete Wi-Fi and Bluetooth LE functions.
Key Component | Description |
---|---|
ESP32-C3 | ESP32-C3-WROOM-02 from Espressif is a powerful and general-purpose module that offers Wi-Fi and Bluetooth LE coexistence. It has 4 MB SPI flash. |
5 V to 3.3 V LDO | Power regulator that converts a 5 V supply into a 3.3 V output. |
5 V Power On LED | Turns on when the USB power is connected to the board. |
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. |
Micro-USB 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. |
LED | RGB_LED, driven by GPIO7 |
Battery connector | PH-2.0 Battery port with 500mA charging |
I2C connector | JST SH, 1mm pitch I2C port |
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. It has a JST SH, 1mm pitch I2C port to use for connecting a series of devices.
Battery charging led: by soldering the footprint on the bottom, you can enable a led that show when the device is in charge.
Battery connector: PH-2.0 Battery port with 500mA charging.
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
- 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
- PH-2.0 Battery port with 500mA charging
- JST SH, 1mm pitch I2C port
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
Datasheet
ESP32c3 datasheet
Board Schematic
PCB size
Thanks
- Arduino
- esp8285
- esp8266
- ESP32
- ESP32 s2
- ESP32c3
- ESP32s3
- VCC-GND Studio YD-ESP32-S3
- ESP32-S3 DevKitC 1
- WeAct ESP32 S3 A
- WeMos LOLIN S3
- WeMos LOLIN S3 Pro
- Arduino SAMD
- STM32
- Raspberry Pi