Skip to content

Sandbox for basic embedded Rust experiments 👶🏽

License

Notifications You must be signed in to change notification settings

kesyog/sandbox-stm32f4-rust

Repository files navigation

Nucleo-F401RE Rust sandbox

A sandbox with some basic examples created to help wrap my head around what using Rust for embedded development looks like and keep a running list of helpful resources.

There's only a tiny bit new here beyond what's already in the linked embedded tutorials or the examples available in the linked crates, but maybe the links down below are useful to someone 🤷🏽‍♂

Hardware

I'm using an STM32 Nucleo-64 dev board I had laying around that's based around an STM32F401RE. Some specs:

  • 84MHz ARM Cortex M4 with floating point instructions
  • 512K Flash, 96K SRAM
  • Built-in ST-LINK debugger/programmer
  • An LED and a button
  • Lots of exposed pins

Let's push this board to the edge by blinking some LEDs 🔥

Plans

Check out the examples folder for some ugly implementations.

  • Follow the Rust embedded discovery book
    • blinky
    • Hello world via ITM
    • UART echo server
    • blinky with hardware timer-based busy-waits
  • blinky using timer interrupts
  • UART echo server using interrupts
  • RTIC-based UART echo server
  • Draw some things on an SH1106 OLED display with the embedded_graphics crate and the sh1106 driver crate.
  • Figure out DMA
  • ???
  • 🚀

Demo

Just for fun

License

This repository is licensed under the MIT license

References

This repository was originally generated from the cortex-m-quickstart template.

Useful crates

About

Sandbox for basic embedded Rust experiments 👶🏽

Resources

License

Stars

Watchers

Forks