Skip to main content

Espressif ESP32-C3-RUST-DevKit

A ESP32-C3 dev-board from Espressif with IMU and Temp/Humidity sensor, originally for ESP32 Rust port.

Espressif ESP32-C3-RUST-DevKit picture

Features

  • I2C on 10/8 using Header connector
  • WS2812B RGB LED on pin 2 (use setStatusLight to control)
  • Serial logging on pin P21 at 115200 8N1

  • Service: buttonBOOT (button)

Stores

Pins

pin namehardware idfeatures
LEDGPIO7debug, io
P0GPIO0analogIn, io
P1GPIO1analogIn, io
P20GPIO20bootUart, io
P21GPIO21log.pinTX, bootUart, io
P3GPIO3analogIn, io
P4GPIO4analogIn, debug, io
P5GPIO5debug, io
P6GPIO6debug, io
P9GPIO9$services.buttonBOOT[0].pin, boot, io
i2c.pinSCLGPIO8i2c.pinSCL, boot, io
i2c.pinSDAGPIO10i2c.pinSDA, io
led.pinGPIO2led.pin, analogIn, boot, io

DeviceScript import

You must add this import statement to load the pinout configuration for this device.

In Visual Studio Code, click the wand icon on the file menu and select "Espressif ESP32-C3-RUST-DevKit".

import { pins, board } from "@dsboard/esp32c3_rust_devkit"

Firmware update

In Visual Studio Code, select DeviceScript: Flash Firmware... from the command palette.

Run this command line command and follow the instructions.

devicescript flash --board esp32c3_rust_devkit

Configuration

esp32c3_rust_devkit.json
{
"$schema": "https://raw.githubusercontent.com/microsoft/devicescript-esp32/main/boards/esp32deviceconfig.schema.json",
"id": "esp32c3_rust_devkit",
"devName": "Espressif ESP32-C3-RUST-DevKit",
"productId": "0x33f29c59",
"$description": "A ESP32-C3 dev-board from Espressif with IMU and Temp/Humidity sensor, originally for ESP32 Rust port.",
"archId": "esp32c3",
"url": "https://github.com/esp-rs/esp-rust-board",
"$services": [
{
"name": "buttonBOOT",
"pin": "P9",
"service": "button"
}
],
"i2c": {
"$connector": "Header",
"pinSCL": 8,
"pinSDA": 10
},
"led": {
"pin": 2,
"type": 1
},
"log": {
"pinTX": "P21"
},
"pins": {
"LED": 7,
"P0": 0,
"P1": 1,
"P20": 20,
"P21": 21,
"P3": 3,
"P4": 4,
"P5": 5,
"P6": 6,
"P9": 9
}
}