m5dial-bsp

Crates.iom5dial-bsp
lib.rsm5dial-bsp
version0.5.0
created_at2025-02-11 22:22:55.308945+00
updated_at2025-11-24 21:06:28.56174+00
descriptionBoard support package for the M5 Dial.
homepagehttps://github.com/AntoineZen/m5dial-bsp
repositoryhttps://github.com/AntoineZen/m5dial-bsp
max_upload_size
id1552046
size76,684
AntoineZen (AntoineZen)

documentation

https://antoinezen.github.io/m5dial-bsp

README

M5 Dial Board Support Package (BSP)

This crates is a Board support package for the M5 Dial.

API Documentation

Feature list/roadmap:

  • Screen driver (GC9A01)
  • Rotary encoder
  • Button
  • Power management (Shutdown)
  • Touch-screen (FT3267)
  • Buzzer
  • Real-time clock (BM8563)
  • Port A (I2C)
  • Port B
  • Upgrade to be compatible to esp-hal v1.0.0

How to use

First generate a base project using esp-generate as described in its documentation. Then, add this crate to your Cargo.toml:

[dependencies]
....
m5dial-bsp= "0.5.0"
....

In your main function then initialize this hall and use it:

let config = esp_hal::Config::default().with_cpu_clock(CpuClock::max());
let peripherals = esp_hal::init(config);

let mut display = m5dial_bsp::get_screen!(peripherals);
let mut encoder = m5dial_bsp::get_encoder!(peripherals);

let mut board = m5dial_bsp::board_init!(peripherals);

For more information, please refer to the API Documentation. (Don't refers to the doc on docs.rs, as they fail to compile due to the lack of ESP specific toolchain.)

Examples

Examples are located in the examples folder. Here is an index:

License

MIT license (LICENSE or http://opensource.org/licenses/MIT)

Contributions

... are welcome !

Credit

This crates rely on many crates of the embedded Rust working group, ESP support crates from Expressif, embedded-graphics and device drivers such as :

Commit count: 34

cargo fmt