#arm #cortex-m #hal #stm32f0xx

no-std stm32f0xx-hal

Peripheral access API for STM32F0 series microcontrollers

8 releases (5 breaking)

✓ Uses Rust 2018 edition

new 0.12.0 Jan 13, 2019
0.11.1 Jan 5, 2019
0.10.1 Dec 25, 2018
0.9.0 Dec 16, 2018
0.7.0 Dec 6, 2018

#105 in Hardware support

Download history 19/week @ 2018-12-11 18/week @ 2018-12-18 53/week @ 2018-12-25 14/week @ 2019-01-01 56/week @ 2019-01-08 38/week @ 2019-01-15

66 downloads per month
Used in 3 crates

0BSD license

2.5K SLoC


Travis Crates.io docs.rs

stm32f0xx-hal contains a hardware abstraction on top of the peripheral access API for the STMicro STM32F0xx family of microcontrollers.

This crate replaces the stm32f042-hal by a more ubiqitous version suitable for additional families. The idea behind this crate is to gloss over the slight differences in the various peripherals available on those MCUs so a HAL can be written for all chips in that same family without having to cut and paste crates for every single model.

This crate relies on Adam Greig's fantastic stm32f0 crate to provide appropriate register definitions, and implements a partial set of the embedded-hal traits. Some of the implementation was shamelessly adapted from the stm32f103xx-hal crate by Jorge Aparicio.

Collaboration on this crate is highly welcome, as are pull requests!

Supported Configurations

  • stm32f030 (stm32f030x4, stm32f030x6, stm32f030x8, stm32f030xc)
  • stm32f031
  • stm32f042
  • stm32f051
  • stm32f070 (stm32f070x6, stm32f070xb)
  • stm32f071
  • stm32f072
  • stm32f091

Getting Started

If you are unfamiliar with embedded development using Rust, there are a number of fantastic resources available to help.




0-Clause BSD License, see LICENSE-0BSD.txt for more details.


~1M SLoC