nrf5340-hardware

star 26

Nordic nRF5340 dual-core SoC hardware reference: application core (Cortex-M33 128MHz), network core (Cortex-M33 64MHz), 2.4GHz radio (BLE 5.3, Thread, Zigbee, ANT, 802.15.4, proprietary), GPIO/SPI/I2C/UART pinout, power domains, DFU bootloader. Use when designing BCI receiver firmware, configuring radio parameters, or debugging hardware peripherals.

plurigrid By plurigrid schedule Updated 6/10/2026

name: nrf5340-hardware description: "Nordic nRF5340 dual-core SoC hardware reference: application core (Cortex-M33 128MHz), network core (Cortex-M33 64MHz), 2.4GHz radio (BLE 5.3, Thread, Zigbee, ANT, 802.15.4, proprietary), GPIO/SPI/I2C/UART pinout, power domains, DFU bootloader. Use when designing BCI receiver firmware, configuring radio parameters, or debugging hardware peripherals." trit: 0

nRF5340 Hardware

Nordic Semiconductor dual-core wireless SoC. The BCI receiver target for zig-syrup-bci.

Cores

Core CPU Clock Flash RAM Role
Application Cortex-M33 + FPU + DSP 128 MHz 1 MB 512 KB User logic, DSP, crypto
Network Cortex-M33 64 MHz 256 KB 64 KB Radio stack, BLE, Thread

Cores communicate via IPC (inter-processor communication) with shared RAM regions and hardware mutexes.

Radio

  • Frequency: 2400-2483.5 MHz (ISM band)
  • Protocols: BLE 5.3, Thread 1.3, Zigbee 3.0, ANT, IEEE 802.15.4, proprietary 2.4GHz
  • TX Power: -20 to +3 dBm (1 dB steps)
  • RX Sensitivity: -98 dBm (1 Mbps BLE), -104 dBm (125 kbps coded PHY)
  • Data Rates: 125 kbps, 500 kbps, 1 Mbps, 2 Mbps
  • Direction Finding: AoA and AoD (antenna switching)

Key Peripherals

Peripheral Count Notes
GPIO 48 pins (P0.0-P0.31, P1.0-P1.15) 3.3V, 6 mA drive
SPI 4 (SPIM) Up to 32 MHz, EasyDMA
I2C 4 (TWIM) Up to 400 kHz
UART 4 (UARTE) Up to 1 Mbps, EasyDMA, HW flow ctrl
ADC 1 (SAADC) 12-bit, 8 channels, 200 ksps
PWM 4 16 MHz base, 4 channels each
PDM 1 Digital microphone interface
I2S 1 Audio codec interface
QSPI 1 External flash, up to 96 MHz
USB 1 Full-speed (12 Mbps), device only
Crypto 1 (CryptoCell-312) AES, SHA, RSA, ECC, TRNG

Power Domains

Domain Voltage Peripherals
VDD 1.7-5.5V Main supply (internal LDO/DCDC to 1.1V)
VDDH 2.5-5.5V High-voltage GPIO, USB
DECN 1.0-1.3V Network core internal
DECA 1.0-1.3V Application core internal

Power modes: Active (6 mA), Idle (1 mA), System ON sleep (1.5 µA), System OFF (0.4 µA)

Use DCDC converter for battery operation — drops from ~6 mA to ~3 mA active current.

BCI Receiver Pin Assignment (zig-syrup-bci target)

Pin Function Connected To
P0.06 UART TX Debug console
P0.08 UART RX Debug console
P0.13 SPI SCK fNIRS ADC (ADS1299)
P0.14 SPI MOSI fNIRS ADC
P0.15 SPI MISO fNIRS ADC
P0.16 SPI CS fNIRS ADC
P0.26 I2C SDA IMU (LSM6DSO)
P0.27 I2C SCL IMU
P1.00 GPIO LED status
P1.01 GPIO Button (DFU trigger)
P1.09 ADC AIN5 Battery voltage divider

DFU Bootloader

The nRF5340 uses MCUboot as the default bootloader:

# Build with MCUboot
west build -b nrf5340dk/nrf5340/cpuapp -- -DCONFIG_BOOTLOADER_MCUBOOT=y

# Flash via J-Link
west flash

# DFU over BLE (using mcumgr)
mcumgr --conntype ble --connstring peer_name=nRF5340_BCI image upload app_update.bin

# DFU over USB (using nrfutil)
nrfutil dfu serial -pkg dfu_package.zip -p /dev/cu.usbmodem*

Zephyr RTOS

# Setup
west init -m https://github.com/nrfconnect/sdk-nrf
west update

# Build for application core
west build -b nrf5340dk/nrf5340/cpuapp app/

# Build for network core (BLE controller)
west build -b nrf5340dk/nrf5340/cpunet net/

# Flash both cores
west flash --erase

Key Kconfig Options

CONFIG_BT=y                    # Enable Bluetooth
CONFIG_BT_PERIPHERAL=y         # Peripheral role
CONFIG_BT_DIS=y                # Device Information Service
CONFIG_BT_NUS=y                # Nordic UART Service
CONFIG_BT_CTLR=y               # BLE controller on network core
CONFIG_IPC_SERVICE=y            # Inter-core communication
CONFIG_HEAP_MEM_POOL_SIZE=8192
CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=2048

Relevant Datasheets

  • nRF5340 Product Specification v1.3: infocenter.nordicsemi.com/index.jsp?topic=%2Fps_nrf5340
  • nRF5340-DK User Guide: infocenter.nordicsemi.com/topic/ug_nrf5340_dk

Related Skills

Skill Connection
zig-syrup-bci BCI receiver firmware target
cyton-dongle 2.4GHz radio comparison (RFDuino vs nRF5340)
opennirscap-build fNIRS sensor connected via SPI
nrf5340-device-interaction Software/firmware interaction patterns
Install via CLI
npx skills add https://github.com/plurigrid/asi --skill nrf5340-hardware
Repository Details
star Stars 26
call_split Forks 8
navigation Branch main
article Path SKILL.md
More from Creator