kesyog / sandbox-stm32f4-rust

Sandbox for basic embedded Rust experiments πŸ‘ΆπŸ½

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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 πŸ‘ΆπŸ½

License:MIT License


Languages

Language:Rust 77.2%Language:GDB 22.8%