finds.dev← search

// the find

stm32-rs/stm32f7xx-hal

★ 130 · Rust · Apache-2.0 · updated Sep 2024

A Rust embedded-hal HAL for all MCUs in the STM32 F7 family

A Rust HAL implementation for the STM32F7 series of ARM Cortex-M7 microcontrollers, sitting on top of the embedded-hal traits. It's for embedded Rust developers targeting F7 parts who want a typed, safe abstraction over peripherals without writing raw register code.

Good peripheral coverage for a niche HAL: GPIO, SPI (including 16-bit mode with DMA), I2C, UART, CAN, RTC, RNG, LTDC, QSPI, USB OTG, and FMC/LCD — that's most of what you'd actually use on an F7 board. The example set is practical and directly runnable (blinky, CAN loopback, USB serial, QSPI flash, LTDC screen). Feature flags per MCU variant keep binary size honest and the build.rs enforces exactly one chip selected. CI covers clippy and build checks across multiple feature combinations, so regressions in chip variants get caught.

130 stars and last pushed September 2024 — this is low-traffic and visibly less maintained than the F4 sibling (which has 10x the activity). Ethernet is missing entirely, which is significant given that the F7-series is popular in industrial/networking applications precisely because of its MAC. async/embedded-hal 1.0 migration status is unclear; the codebase still targets embedded-hal 0.2, so if you're building on the current embedded ecosystem you'll hit compatibility friction. Documentation beyond docs.rs is thin — no book, no hardware bring-up guide — so debugging a misconfigured clock tree means reading source and datasheets simultaneously.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →