Cargo Features

[dependencies]
embassy-nrf = { version = "0.3.1", default-features = false, features = ["rt", "time", "defmt", "unstable-pac", "gpiote", "time-driver-rtc1", "nfc-pins-as-gpio", "reset-pin-as-gpio", "qspi-multiwrite-flash", "nrf51", "nrf52805", "nrf52810", "nrf52811", "nrf52820", "nrf52832", "nrf52833", "nrf52840", "nrf5340-app-s", "nrf5340-app-ns", "nrf5340-net", "nrf54l15-app-s", "nrf54l15-app-ns", "nrf9160-s", "nrf9160-ns", "nrf9120-s", "nrf9161-s", "nrf9120-ns", "nrf9161-ns", "log"] }
default = rt

The rt feature is set by default whenever embassy-nrf is added without default-features = false somewhere in the dependency tree.

rt default

Cortex-M runtime (enabled by default)

Enables rt of nrf-pac

time

Enable features requiring embassy-time

Enables embassy-time, time of embassy-embedded-hal

defmt

Enable defmt

Enables defmt, defmt of embassy-embedded-hal, embassy-hal-internal, embassy-sync, and embassy-usb-driver

unstable-pac

Reexport the PAC for the currently enabled chip at embassy_nrf::pac (unstable)

gpiote

This is unstable because semver-minor (non-breaking) releases of embassy-nrf may major-bump (breaking) the PAC version.
If this is an issue for you, you're encouraged to directly depend on a fixed version of the PAC.
There are no plans to make this stable.

Enable GPIO tasks and events

Affects embassy-nrf::gpiote, embassy-nrf::Config.gpiote_interrupt_priority

time-driver-rtc1 = _time-driver

Use RTC1 as the time driver for embassy-time, with a tick rate of 32.768khz

nfc-pins-as-gpio

Allow using the NFC pins as regular GPIO pins (P0_09/P0_10 on nRF52, P0_02/P0_03 on nRF53)

reset-pin-as-gpio

Allow using the RST pin as a regular GPIO pin.
* nRF52805, nRF52810, nRF52811, nRF52832: P0_21
* nRF52820, nRF52833, nRF52840: P0_18

qspi-multiwrite-flash

Implements the MultiwriteNorFlash trait for QSPI. Should only be enabled if your external flash supports the semantics described here

nrf51

Chip selection features

nRF51

Enables nrf51 of nrf-pac

nrf52805

nRF52805

Enables nrf52805 of nrf-pac

nrf52810

nRF52810

Enables nrf52810 of nrf-pac

nrf52811

nRF52811

Enables nrf52811 of nrf-pac

Affects radio::ieee802154

nrf52820

nRF52820

Enables nrf52820 of nrf-pac

Affects embassy-nrf::usb, radio::ieee802154

nrf52832

nRF52832

Enables nrf52832 of nrf-pac

Affects embassy-nrf::i2s, embassy-nrf::nfct

nrf52833

nRF52833

Enables nrf52833 of nrf-pac

Affects embassy-nrf::i2s, saadc::VddhDiv5Input, embassy-nrf::nfct, embassy-nrf::usb, radio::ieee802154

nrf52840

nRF52840

Enables nrf52840 of nrf-pac

Affects embassy-nrf::DcdcConfig.reg0, embassy-nrf::DcdcConfig.reg0_voltage, embassy-nrf::config.Reg0Voltage, embassy-nrf::qspi, embassy-nrf::i2s, embassy-nrf::power, saadc::VddhDiv5Input, embassy-nrf::nfct, embassy-nrf::usb, radio::ieee802154

nrf5340-app-s = _nrf5340-app

nRF5340 application core in Secure mode

nrf5340-app-ns = _nrf5340-app

nRF5340 application core in Non-Secure mode

nrf5340-net = _nrf5340-net

nRF5340 network core

nrf54l15-app-s = _nrf54l

nRF54L15 application core in Secure mode

Enables nrf54l15-app of nrf-pac

nrf54l15-app-ns = _nrf54l

nRF54L15 application core in Non-Secure mode

Enables nrf54l15-app of nrf-pac

nrf9160-s = _nrf91

nRF9160 in Secure mode

Enables nrf9160 of nrf-pac

Affects embassy-nrf::power

nrf9160-ns = _nrf91

nRF9160 in Non-Secure mode

Enables nrf9160 of nrf-pac

Affects embassy-nrf::power

nrf9120-s nrf9151-s? nrf9161-s? = _nrf91

The nRF9120 is the internal part number for the nRF9161 and nRF9151.
nRF9120 in Secure mode

Enables nrf9120 of nrf-pac

nrf9151-s nrf9161-s = nrf9120-s
nrf9120-ns nrf9151-ns? nrf9161-ns? = _nrf91

nRF9120 in Non-Secure mode

Enables nrf9120 of nrf-pac

nrf9151-ns nrf9161-ns = nrf9120-ns
_nrf5340-app nrf5340-app-ns? nrf5340-app-s? = _nrf5340

Features starting with _ are for internal use only. They're not intended to be enabled by other crates, and are not covered by semver guarantees.

Enables nrf5340-app of nrf-pac

Affects embassy-nrf::config.DcdcConfig, embassy-nrf::qspi, saadc::VddhDiv5Input, embassy-nrf::nfct, embassy-nrf::usb

_nrf5340-net nrf5340-net? = _nrf5340

Enables nrf5340-net of nrf-pac

Affects nvmc::PAGE_SIZE, radio::ieee802154

_time-driver time-driver-rtc1?

Enables embassy-time-queue-utils, time of embassy-embedded-hal and tick-hz-32_768 of embassy-time-driver

embassy-time-driver:

32.768kHz Tick Rate

Affects embassy-nrf::Config.time_interrupt_priority

_nrf5340 _nrf5340-app? _nrf5340-net?

Affects embassy-nrf::reset

_nrf54l nrf54l15-app-ns? nrf54l15-app-s?

Affects gpio::LevelDrive, gpio::OutputDrive

_nrf91 nrf9120-ns? nrf9120-s? nrf9160-ns? nrf9160-s?

Affects embassy-nrf::config.DcdcConfig

Features from optional dependencies

log implicit feature

Enables log

log:

A lightweight logging facade for Rust