Clone this repo:
  1. efe1e8a Update README.md (#65) by 3tilley · 8 months ago upstream/master
  2. 6a5c149 Merge pull request #68 from georgik/georgik-patch-1 by Pedro Minatel · 1 year, 11 months ago
  3. 52e9d9c doc: add information about IC charger by Juraj Michálek · 1 year, 11 months ago
  4. 63595f2 Create issue_handler.yml by Sergio Gasquez Arcos · 2 years, 7 months ago
  5. 3d37723 feat: ✨ Update STD trainings links (#63) by Sergio Gasquez Arcos · 2 years, 8 months ago

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.

Diagram

I2C Peripherals

This board includes the following peripherals over the I2C bus:

PeripheralPart numberReferenceCrateAddress
IMUICM-42670-PDatasheetLink0x68
Temperature and HumiditySHTC3DatasheetLink0x70

I2C Bus Connection

SignalGPIO
SDAGPIO10
SCLGPIO8

I/Os

The following devices are connected through GPIO:

I/O DevicesGPIO
WS2812 LEDGPIO2
LEDGPIO7
Button/BootGPIO9

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

Pin Layout

Left Side

Pin NumberDescriptionSoC
1ResetEN/CHIP_PU
23V3
3N/C
4GND
5IO0/ADC1-0GPIO0
6IO1/ADC1-1GPIO1
7IO2/ADC1-2GPIO2
8IO3/ADC1-3GPIO3
9IO4/ADC2-0GPIO4
10IO5/ADC2-1GPIO5
11IO6/MTCKGPIO6
12IO7/MTDO/LEDGPIO7
13IO9/LOGGPIO8
14IO21/U0RXDGPIO21
15IO20/U0TXDGPIO20
16IO9/BOOTGPIO9

Right Side

Pin NumberDescriptionSoC
1VBAT
2EN [1]
3VBUS [2]
4NC
5NC
6NC
7NC
8NC
9IO18/USB_D-GPIO18
10IO19/USB_D+GPIO19
11IO8/SCLGPIO8
12IO10/SDAGPIO10
  • [1] Connected to LDO enable pin*
  • [2] Connected to USB 5V*

Project KiCad Libraries

Board Design

Top

TOP

Bottom

BOT

Bill of Material

Interactive BOM

Case

Case 3D Printing Model