Skip to content
nrf5340-hardware logo

nRF5340 Hardware

nrf5340-hardware

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, configurin...

plurigrid/asi0installs67stars

SKILL.md

Full skill instructions

nRF5340 Hardware

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

Cores

CoreCPUClockFlashRAMRole
ApplicationCortex-M33 + FPU + DSP128 MHz1 MB512 KBUser logic, DSP, crypto
NetworkCortex-M3364 MHz256 KB64 KBRadio 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

PeripheralCountNotes
GPIO48 pins (P0.0-P0.31, P1.0-P1.15)3.3V, 6 mA drive
SPI4 (SPIM)Up to 32 MHz, EasyDMA
I2C4 (TWIM)Up to 400 kHz
UART4 (UARTE)Up to 1 Mbps, EasyDMA, HW flow ctrl
ADC1 (SAADC)12-bit, 8 channels, 200 ksps
PWM416 MHz base, 4 channels each
PDM1Digital microphone interface
I2S1Audio codec interface
QSPI1External flash, up to 96 MHz
USB1Full-speed (12 Mbps), device only
Crypto1 (CryptoCell-312)AES, SHA, RSA, ECC, TRNG

Power Domains

DomainVoltagePeripherals
VDD1.7-5.5VMain supply (internal LDO/​DCDC to 1.1V)
VDDH2.5-5.5VHigh-voltage GPIO, USB
DECN1.0-1.3VNetwork core internal
DECA1.0-1.3VApplication 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)

PinFunctionConnected To
P0.06UART TXDebug console
P0.08UART RXDebug console
P0.13SPI SCKfNIRS ADC (ADS1299)
P0.14SPI MOSIfNIRS ADC
P0.15SPI MISOfNIRS ADC
P0.16SPI CSfNIRS ADC
P0.26I2C SDAIMU (LSM6DSO)
P0.27I2C SCLIMU
P1.00GPIOLED status
P1.01GPIOButton (DFU trigger)
P1.09ADC AIN5Battery 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

SkillConnection
zig-syrup-bciBCI receiver firmware target
cyton-dongle2.4GHz radio comparison (RFDuino vs nRF5340)
opennirscap-buildfNIRS sensor connected via SPI
nrf5340-device-interactionSoftware/​firmware interaction patterns