nrf-rs/nrf-hal

A Rust HAL for the nRF family of devices

Rust

607

1,051 commits

updated Sep 10, 2026

See the code

README

nrf-hal

HAL for the nRF51, nRF52 and nRF91 families of microcontrollers

CI

Please refer to the changelog to see what changed in the last releases.

Crates

Every nRF chip has its own crate, listed below:

CrateDocscrates.iotarget
nrf51-haldocs.rscrates.iothumbv6m-none-eabi
nrf52805-haldocs.rscrates.iothumbv7em-none-eabi
nrf52810-haldocs.rscrates.iothumbv7em-none-eabi
nrf52811-haldocs.rscrates.iothumbv7em-none-eabi
nrf52832-haldocs.rscrates.iothumbv7em-none-eabihf
nrf52833-haldocs.rscrates.iothumbv7em-none-eabihf
nrf52840-haldocs.rscrates.iothumbv7em-none-eabihf
nrf9160-haldocs.rscrates.iothumbv8m.main-none-eabihf

Device Reference Manuals from Nordic

* These devices do not have a separate development kit and share the NRF52 DK

There are currently no crates here for nRF54 parts. Pull requests are welcome. In the meantime, we recommend the embassy-nrf crate for this purpose. In spite of its name embassy-nrf also supplies a normal embedded-hal style interface.

Development

Be sure to copy and edit the Cargo.example.toml file to Cargo.toml. The file will require editing dependent on the target you wish to work with and contains some further instructions. Similarly, check out the .vscode/settings.json file when used in the context of Visual Studio Code. By default, all of these files are configured to work with the nRF52840 target.

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

bluetooth
embedded
hal
microcontroller
nrf52
nrf52840
rust

nrf-rs/nrf-hal

A Rust HAL for the nRF family of devices

Rust

607

1,051 commits

updated Sep 10, 2026

See the code

README

nrf-hal

HAL for the nRF51, nRF52 and nRF91 families of microcontrollers

CI

Please refer to the changelog to see what changed in the last releases.

Crates

Every nRF chip has its own crate, listed below:

CrateDocscrates.iotarget
nrf51-haldocs.rscrates.iothumbv6m-none-eabi
nrf52805-haldocs.rscrates.iothumbv7em-none-eabi
nrf52810-haldocs.rscrates.iothumbv7em-none-eabi
nrf52811-haldocs.rscrates.iothumbv7em-none-eabi
nrf52832-haldocs.rscrates.iothumbv7em-none-eabihf
nrf52833-haldocs.rscrates.iothumbv7em-none-eabihf
nrf52840-haldocs.rscrates.iothumbv7em-none-eabihf
nrf9160-haldocs.rscrates.iothumbv8m.main-none-eabihf

Device Reference Manuals from Nordic

* These devices do not have a separate development kit and share the NRF52 DK

There are currently no crates here for nRF54 parts. Pull requests are welcome. In the meantime, we recommend the embassy-nrf crate for this purpose. In spite of its name embassy-nrf also supplies a normal embedded-hal style interface.

Development

Be sure to copy and edit the Cargo.example.toml file to Cargo.toml. The file will require editing dependent on the target you wish to work with and contains some further instructions. Similarly, check out the .vscode/settings.json file when used in the context of Visual Studio Code. By default, all of these files are configured to work with the nRF52840 target.

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

bluetooth
embedded
hal
microcontroller
nrf52
nrf52840
rust

Project health

Overall

4.7/10

Maintained

4/10

Code review

10/10
OpenSSF Scorecard

Significant stargazers

Scott Mabin

410 followers · starred Dec 2019

Wenzhuo Liu

831 followers · starred Jan 2026

Diego Barrios Romero

350 followers · starred Mar 2023

Youngsuk Kim

68 followers · starred Oct 2020