Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/esp-rs/esp-rust-board
Open Hardware with ESP32-C3 compatible with Feather specification designed in KiCad
https://github.com/esp-rs/esp-rust-board
Last synced: about 1 month ago
JSON representation
Open Hardware with ESP32-C3 compatible with Feather specification designed in KiCad
- Host: GitHub
- URL: https://github.com/esp-rs/esp-rust-board
- Owner: esp-rs
- License: other
- Created: 2021-11-10T08:28:14.000Z (about 3 years ago)
- Default Branch: master
- Last Pushed: 2024-02-20T10:14:29.000Z (10 months ago)
- Last Synced: 2024-08-02T20:44:20.646Z (4 months ago)
- Homepage: https://esp-rs.github.io/esp-rust-board/
- Size: 14.1 MB
- Stars: 467
- Watchers: 20
- Forks: 38
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE-CERN-OHL
Awesome Lists containing this project
- awesome-esp-rust - esp-rust-board - A development board based on the ESP32-C3 and designed in [KiCad EDA](https://www.kicad.org/) which is compatible with the [Adafruit Feather](https://learn.adafruit.com/adafruit-feather/feather-specification) specification. (Open Hardware)
README
# 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
* [ESP32-C3-DevKit-RUST-1](https://www.espressif.com/en/products/devkits)
* [AliExpress Espressif Official Store](https://www.aliexpress.com/item/1005004418342288.html)
* [Mouser Electronics](https://www2.mouser.com/ProductDetail/Espressif-Systems/ESP32-C3-DevKit-RUST-1?qs=4ASt3YYao0WvXOj9TGjU2A%3D%3D)## Ferrous Systems Training
* [Training Book: Explore the power of Rust on the new Espressif board](https://github.com/esp-rs/std-training)
* [Training Material](https://esp-rs.github.io/std-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 sensorFor the complete description, see the [ESP32-C3 Datasheet](https://www.espressif.com/sites/default/files/documentation/esp32-c3_datasheet_en.pdf).
![Diagram](assets/rust_board_v1.2_diagram.png)
### I2C Peripherals
This board includes the following peripherals over the I2C bus:
| Peripheral | Part number | Reference | Crate | Address |
| ------------------------ | ----------- | -------------------------------------------------------------------------------------------------------------- | ----------------------------------------- | ------- |
| IMU | ICM-42670-P | [Datasheet](https://invensense.tdk.com/download-pdf/icm-42670-p-datasheet/) | [Link](https://crates.io/crates/icm42670) | 0x68 |
| Temperature and Humidity | SHTC3 | [Datasheet](https://www.mouser.com/datasheet/2/682/Sensirion_04202018_HT_DS_SHTC3_Preliminiary_D2-1323493.pdf) | [Link](https://crates.io/crates/shtcx) | 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
![Pin Layout](assets/rust_board_v1_pin-layout.png)
#### 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
* [ESP32C3](https://github.com/espressif/kicad-libraries)
## Board Design
Top
![TOP](assets/esp-rust-board_top.jpg)
Bottom
![BOT](assets/esp-rust-board_bot.jpg)
## Bill of Material
[Interactive BOM](https://esp-rs.github.io/esp-rust-board/)
## Case
[Case 3D Printing Model](https://www.printables.com/model/288200-minimalistic-case-for-esp32-c3-devkit-rust-1)