You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Marc Poulhiès 8892693344 Better handling of EPD refresh during configuration
Use a dirty flag to only update EPD when something has changed.
Makes the rotary use more friendly. Still not perfect as we miss all event
during a refresh... The less refresh, the less lost events...
2 years ago
.cargo Change default cargo target 3 years ago
.github/workflows Add more config in github actions 2 years ago
kicad pcb: Fix typo in label name 2 years ago
src Better handling of EPD refresh during configuration 2 years ago
.gitignore First commit for first working version 3 years ago
Cargo.toml Bump cortex-m version 2 years ago
LICENSE First commit for first working version 3 years ago WIP doc 2 years ago

Licorne Smart Alarm Clock

The firmware is pure Rust using RTIC(Real-Time Interrupt-driven Concurrency).


  • allow for small kids to be aware of different day period using a simple color code (ie. 5:00 is sleep time).
  • continue to learn embedded Rust
  • have fun


  • 2.13'in E-Paper display
  • DS3231 RTC for keeping track of time
  • BME680 for temperature and COV measures
  • TI TM4C123G (Cortex M4F)

Build log

The project initially started during first French lock-down because we really needed our sleep time and the ours kids could not make the difference between 5:00 and 8:00. A first Arduino prototype came to life quickly and has been used for several months. In parallel, this project started with no hard deadline with the following goals:

  • have a more finished hardware solution (versus previous arduino breadboard)
  • use event-based programming using embedded Rust



End result