Vendors · 43 pages
- STM32 (ST) — overview
- STM32 F / G / H mainstream
- STM32 L / U low-power
- STM32 WB / WL wireless
- NXP Kinetis & i.MX RT
- NXP LPC family
- Nordic nRF
- Nordic nRF53 dual-core
- Nordic nRF91 cellular
- Raspberry Pi RP2040 / RP2350
- Renesas RA / RX
- TI Tiva / MSP432
- TI Sitara (Cortex-A + R)
- Microchip SAM
- Silicon Labs EFM32 / EFR32
- Infineon XMC / PSoC
- Infineon AURIX
- GigaDevice GD32 — overview
- GD32F mainstream (M3/M4)
- GD32L low-power (M23)
- GD32W wireless (M33)
- Artery AT32 — overview
- AT32F4 mainstream (M4)
- AT32M motor / power
- Nuvoton NuMicro — overview
- NuMicro M0 entry-level
- NuMicro M4 mainstream
- NuMicro M23 secure
- Ambiq Apollo — overview
- Apollo4 sub-µA M4F
- Apollo510 / Apollo5 (Helium M55)Helium
- Maxim / ADI MAX32 — overview
- MAX32 general-purpose M4
- MAX78000 ML acceleratorAI
- NVIDIA Jetson — overview
- Jetson Orin Nano / NX
- Jetson AGX Orin / Thor
- MediaTek — overview
- MediaTek Genio (IoT A-series)
- MediaTek Filogic Wi-Fi router
- Rockchip — overview
- Rockchip RK3566 / RK3568
- Rockchip RK3588 / RK3582
Nordic Semiconductor (nRF52, nRF53, nRF54)
The Bluetooth-first Cortex-M family — softdevice architecture, EasyDMA, the nRF Connect SDK / Zephyr migration.
Nordic is the default for Bluetooth Low Energy. Their nRF52 and nRF53 families ship in essentially every BLE consumer device — earbuds, wearables, beacons, sensor tags. The hardware is excellent and uniquely BLE-oriented; the software story has gone through two generations (legacy "nRF5 SDK" → modern "nRF Connect SDK", aka Zephyr-based).
The chips
| Family | Application core | Network core | Notable |
|---|---|---|---|
| nRF52810/811 | Cortex-M4 | shared | Entry BLE, no FPU |
| nRF52832 | Cortex-M4F | shared | Mainstream BLE 5 — most popular |
| nRF52833 | Cortex-M4F | shared | + Bluetooth Mesh, 802.15.4 |
| nRF52840 | Cortex-M4F | shared | Top of 52 line — BLE 5, USB, Thread/Zigbee |
| nRF5340 | Cortex-M33 | Cortex-M33 | Dual-core, TrustZone, BLE 5.2 |
| nRF54L15/H20 | Cortex-M33 | RISC-V (54H) / shared (54L) | New gen, lower power, RF improvements |
| nRF9160 / nRF91 | Cortex-M33 | modem (M33) | Cellular LTE-M / NB-IoT |
| nRF7002 | (companion) | — | Wi-Fi 6 coprocessor |
The nRF52840 has been the dominant chip in connected consumer products for the last 5+ years. The nRF5340 is its successor for new designs (dual-core architecture isolates the application from the BLE stack).
The Softdevice — for nRF52
Nordic's BLE stack runs as a softdevice: a precompiled binary that occupies the lower portion of flash and the lower portion of RAM. Your application links against an API but doesn't see the softdevice's source. The softdevice gets the highest interrupt priorities; your code must use lower priorities.
0x00000000 ┌───────────────────┐
│ Softdevice │ ~150 KB BLE stack
0x00027000 ├───────────────────┤
│ Your app code │
│ Your app data │
0x20000000 ├───────────────────┤
│ Softdevice RAM │ ~8 KB
0x20002000 ├───────────────────┤
│ Your app RAM │
0x2003FFFF └───────────────────┘It worked. It also tied every project tightly to Nordic's APIs.
nRF Connect SDK — the Zephyr migration
Around 2019 Nordic pivoted to Zephyr as the canonical SDK for new chips (53, 54, 91). The nRF Connect SDK is essentially Zephyr + Nordic-specific drivers + a Bluetooth host stack (BLE controller in firmware for the nRF53/54 network core, software stack on the app core).
For new designs:
- nRF52 — still supported by the legacy nRF5 SDK, but Nordic recommends nRF Connect SDK (Zephyr).
- nRF53 / nRF54 / nRF91 — nRF Connect SDK only.
If you're starting fresh, learn the Zephyr way. The legacy SDK gets bug fixes but no new features.
EasyDMA — every peripheral does DMA
Nordic's defining peripheral feature: every peripheral that benefits from DMA has DMA built in, not as a separate controller. You don't configure a DMA channel; you tell the peripheral the buffer address.
// UARTE — UART with EasyDMA
NRF_UARTE0->TXD.PTR = (uint32_t)tx_buf;
NRF_UARTE0->TXD.MAXCNT = sizeof(tx_buf);
NRF_UARTE0->TASKS_STARTTX = 1;
// Done. UARTE will DMA the buffer out.Same for SPIM, TWIM (I²C), SAADC, PWM, RADIO. Simplifies code dramatically — no DMA controller setup, no request mapping table.
PPI / DPPI — peripheral interconnect
The Programmable Peripheral Interconnect lets you wire a peripheral event directly to another peripheral's task, with no CPU involvement:
// When TIMER0 hits compare 0, trigger SAADC sample
NRF_PPI->CH[0].EEP = (uint32_t)&NRF_TIMER0->EVENTS_COMPARE[0];
NRF_PPI->CH[0].TEP = (uint32_t)&NRF_SAADC->TASKS_SAMPLE;
NRF_PPI->CHENSET = (1 << 0);CPU stays asleep. The timer fires the ADC sample. ADC's EVENT_END (via another PPI channel) triggers a UART transfer. Entire chains of behaviour without an ISR.
The successor on nRF53/54 is DPPI (Distributed PPI), which works the same conceptually but separates the event matrix per power domain.
The 2.4 GHz radio
A unique hardware block on every nRF52/53/54. Not just BLE — it can be configured for:
- BLE 4.x and 5.x.
- IEEE 802.15.4 (Thread, Zigbee, Matter).
- Proprietary 2.4 GHz protocols (Nordic's Gazell / ESB).
- Bluetooth Mesh.
A single nRF52840 can host Matter over Thread (802.15.4) and BLE provisioning at the same time by time-multiplexing the radio. The softdevice / network-core firmware handles the multiplexing.
Power consumption
Nordic chips are sold on low average power. Typical numbers (nRF52840):
- System OFF: 0.3 µA — only retention RAM + RTC, full wake from RESET.
- System ON, idle: 1.5 µA — RAM retained, RTC running.
- Radio TX at 0 dBm: ~5 mA.
- Radio RX: ~5 mA.
- CPU active at 64 MHz: ~3 mA.
A coin-cell-powered beacon advertising every second can run for 2+ years on a CR2032. Sensor tags wake on accelerometer interrupts and stay below 10 µA average.
Boot and bootloader
Nordic's standard pattern:
- MBR (Master Boot Record) — small immutable bootloader at flash start.
- Bootloader — typically MCUboot (or Nordic's legacy DFU bootloader). Verifies signatures, swaps slots for A/B firmware update.
- Softdevice (52-series) or network core firmware (53/54).
- Application.
OTA DFU over BLE is well-supported and standardised across Nordic chips.
See also
- Bluetooth Low Energy (eventual deep-dive page — not yet written).
- Cortex-M4 — nRF52 core.
- Cortex-M33 — nRF53, nRF54, nRF91 core.
- Zephyr — the SDK foundation for new chips.