nRF52
The nRF52 Series is a family of SoCs by Nordic Semiconductor. Two of their core features are Bluetooth and low-energy operation. They feature a 32-bit ARM Cortex-M4 CPU.
The nRF52 series supports the following wireless protocols with it’s RF radio:1
- Bluetooth 5.4
- Bluetooth LE
- Bluetooth mesh
- Thread
- Zigbee
- 802.15.4
- ANT
- 2.4GHz proprietary protocols
The nRF52840 is likely the most popular MCU in the series and is the most advanced variant in terms of features.1 It has a 64MHz Cortex-M4 CPU with FPU, 1MB flash and 256kB RAM.
The nRF52 series has good support for using the Zephyr framework to develop the firmware, as is officially backed by Nordic Semiconductor. Zephyr provides a RTOS, peripheral drivers and utility API. There are many project examples and guides available for using Zephyr with the nRF52.
GPIO Pins
This is a placeholder for the reference: fig-nrf52-gpio-port-pin-internal-architecture shows the internal architecture of a GPIO pin on the nRF52 series MCU.
GPIO Drive Strength
The GPIO pins can be configured in two different drive strengths, standard drive and high drive. This is a placeholder for the reference: tbl-nrf52-gpio-pin-current-limits shows the current limits for the GPIO pins when configured in standard drive and high drive. The current limits depend on the supply voltage and are also characterized for different output levels (e.g. 0.4 V is considered the max. for a logic low).
Parameter | Description | Min | Typ | Max | Unit |
---|---|---|---|---|---|
Current at +0.4 V, output set low, standard drive, ≥ 1.7 | 1 | 2 | 4 | mA | |
Current at +0.4 V, output set low, high drive, ≥ 2.7 V | 6 | 10 | 15 | mA | |
Current at +0.4 V, output set low, high drive, ≥ 1.7 V | - | 3 | - | mA | |
Current at -0.4 V, output set high, standard drive, ≥ 1.7 | 1 | 2 | 4 | mA | |
Current at -0.4 V, output set high, high drive, ≥ 2.7 V | 6 | 9 | 14 | mA | |
Current at -0.4 V, output set high, high drive, ≥ 1.7 V | - | 3 | - | mA |
When using the Zephyr framework for writing firmware, Zephyr provides nRF specific GPIO flags for controlling the drive strength. The drive strength is individually configurable for both a logic low and a logic high output. This is done with the following macros, which set the upper 8 bits of the gpio_dt_flags_t
struct:3
NRF_GPIO_DRIVE_S0
: Logic low, standard driveNRF_GPIO_DRIVE_H0
: Logic low, high driveNRF_GPIO_DRIVE_S1
: Logic high, standard driveNRF_GPIO_DRIVE_H1
: Logic high, high drive
Footnotes
-
Nordic Semiconductor. Products / nRF52840 [product page]. Retrieved 2025-03-03, from https://www.nordicsemi.com/Products/nRF52840. ↩ ↩2 ↩3
-
Nordic Semiconductor (2024, Oct 1). nRF52840 - Product Specification - v1.11 [datasheet]. Retrieved 2025-03-03, from https://docs.nordicsemi.com/bundle/ps_nrf52840/page/keyfeatures_html5.html. ↩ ↩2
-
Zephyr Project (2025, Mar 3). Device Driver APIs > GPIO Driver APIs > nRF-specific GPIO Flags [documentation]. Retrieved 2025-03-03, from https://docs.zephyrproject.org/apidoc/latest/group__gpio__interface__nrf.html. ↩