Awesome
Rust ESP Board
Welcome to the Rust ESP Development board project. This repository contains everything you will need to build the board yourself.
Where to buy
Ferrous Systems Training
Project Specification
This board is based on the ESP32-C3, and includes sensors, LEDs, buttons, a battery charger, and USB type-C connector.
SoC Features
- IEEE 802.11 b/g/n-compliant
- Bluetooth 5, Bluetooth mesh
- 32-bit RISC-V single-core processor, up to 160MHz
- 384 KB ROM
- 400 KB SRAM (16 KB for cache)
- 8 KB SRAM in RTC
- 22 × programmable GPIOs
- 3 × SPI
- 2 × UART
- 1 × I2C
- 1 × I2S
- 2 × 54-bit general-purpose timers
- 3 × watchdog timers
- 1 × 52-bit system timer
- Remote Control Peripheral (RMT)
- LED PWM controller (LEDC)
- Full-speed USB Serial/JTAG controller
- General DMA controller (GDMA)
- 1 × TWAI®
- 2 × 12-bit SAR ADCs, up to 6 channels
- 1 × temperature sensor
For the complete description, see the ESP32-C3 Datasheet.
I2C Peripherals
This board includes the following peripherals over the I2C bus:
Peripheral | Part number | Reference | Crate | Address |
---|---|---|---|---|
IMU | ICM-42670-P | Datasheet | Link | 0x68 |
Temperature and Humidity | SHTC3 | Datasheet | Link | 0x70 |
I2C Bus Connection
Signal | GPIO |
---|---|
SDA | GPIO10 |
SCL | GPIO8 |
I/Os
The following devices are connected through GPIO:
I/O Devices | GPIO |
---|---|
WS2812 LED | GPIO2 |
LED | GPIO7 |
Button/Boot | GPIO9 |
Power
- USB type-C (no PD compatibility).
- Li-Ion battery charger - MCP73831T-2ACI/OT, it charges up to 4.2V.
- Recommendation: MCP73831T-2ACI/OT does not provide battery protection for over-current or over-discharge. For the battery (Li-Ion or Li-Po), it's recommended the ones with embedded protection
- Limitation: reading the battery voltage is not supported.
Pin Layout
Left Side
Pin Number | Description | SoC |
---|---|---|
1 | Reset | EN/CHIP_PU |
2 | 3V3 | |
3 | N/C | |
4 | GND | |
5 | IO0/ADC1-0 | GPIO0 |
6 | IO1/ADC1-1 | GPIO1 |
7 | IO2/ADC1-2 | GPIO2 |
8 | IO3/ADC1-3 | GPIO3 |
9 | IO4/ADC2-0 | GPIO4 |
10 | IO5/ADC2-1 | GPIO5 |
11 | IO6/MTCK | GPIO6 |
12 | IO7/MTDO/LED | GPIO7 |
13 | IO9/LOG | GPIO8 |
14 | IO21/U0RXD | GPIO21 |
15 | IO20/U0TXD | GPIO20 |
16 | IO9/BOOT | GPIO9 |
Right Side
Pin Number | Description | SoC |
---|---|---|
1 | VBAT | |
2 | EN [1] | |
3 | VBUS [2] | |
4 | NC | |
5 | NC | |
6 | NC | |
7 | NC | |
8 | NC | |
9 | IO18/USB_D- | GPIO18 |
10 | IO19/USB_D+ | GPIO19 |
11 | IO8/SCL | GPIO8 |
12 | IO10/SDA | GPIO10 |
- [1] Connected to LDO enable pin*
- [2] Connected to USB 5V*
Project KiCad Libraries
Board Design
Top
Bottom