NUCODE NU40
Overview
The NUCODE NU40 is a development kit based on the Nordic Semiconductor nRF52840 ARM Cortex-M4F SoC. It features an onboard UF2 bootloader (Adafruit nRF52 fork) enabling drag-and-drop firmware flashing via USB, as well as support for BLE 5.4, IEEE 802.15.4 (Thread/Zigbee), and USB 2.0 Full Speed.
More information about the board can be found at the NUCODE NU40 website [1].
Hardware
The nucode_nu40/nrf52840 board target has two external oscillators.
The frequency of the slow clock is 32.768 kHz. The frequency of the
main clock is 32 MHz.
Supported Features
The nucode_nu40 board supports the hardware features listed below.
- on-chip / on-board
- Feature integrated in the SoC / present on the board.
- 2 / 2
-
Number of instances that are enabled / disabled.
Click on the label to see the first instance of this feature in the board/SoC DTS files. -
vnd,foo -
Compatible string for the Devicetree binding matching the feature.
Click on the link to view the binding documentation.
nucode_nu40/nrf52840 target
Type |
Location |
Description |
Compatible |
|---|---|---|---|
CPU |
on-chip |
ARM Cortex-M4F CPU1 |
|
ADC |
on-chip |
Nordic Semiconductor nRF family SAADC node1 |
|
ARM architecture |
on-chip |
Nordic UICR (User Information Configuration Registers)1 |
|
on-chip |
Nordic EGU (Event Generator Unit)6 |
||
on-chip |
Nordic nRF family ACL (Access Control List)1 |
||
on-chip |
Nordic nRF family MWU (Memory Watch Unit)1 |
||
Audio |
on-chip |
Nordic PDM (Pulse Density Modulation interface)1 |
|
Clock control |
on-chip |
Nordic nRF clock control node1 |
|
on-chip |
Nordic nRF high-frequency crystal oscillator (nRF52 series)1 |
||
Comparator |
on-chip |
Nordic nRF COMP (analog COMParator)1 |
|
Counter |
on-chip |
Nordic nRF timer node5 |
|
Cryptographic accelerator |
on-chip |
Nordic ECB (AES electronic codebook mode encryption)1 |
|
on-chip |
Nordic nRF family CCM (AES CCM mode encryption)1 |
||
on-chip |
ARM TrustZone CryptoCell 3101 |
||
Debug |
on-chip |
ARMv7 instrumentation trace macrocell1 |
|
Flash controller |
on-chip |
Nordic NVMC (Non-Volatile Memory Controller)1 |
|
on-chip |
Properties defining the interface for the Nordic QSPI peripheral1 |
||
GPIO & Headers |
on-chip |
NRF5 GPIOTE1 |
|
on-chip |
NRF5 GPIO2 |
||
I2C |
on-chip |
Nordic nRF family TWI (TWI master)2 |
|
I2S |
on-chip |
Nordic I2S (Inter-IC sound interface)1 |
|
IEEE 802.15.4 |
on-chip |
Nordic nRF IEEE 802.15.4 node1 |
|
Input |
on-board |
Group of GPIO-bound input keys1 |
|
Interrupt controller |
on-chip |
ARMv7-M NVIC (Nested Vectored Interrupt Controller)1 |
|
LED |
on-board |
Group of GPIO-controlled LEDs1 |
|
on-board |
Group of PWM-controlled LEDs1 |
||
Miscellaneous |
on-chip |
Nordic FICR (Factory Information Configuration Registers)1 |
|
on-chip |
Nordic nRF family PPI (Programmable Peripheral Interconnect)1 |
||
MTD |
on-chip |
Flash node1 |
|
Networking |
on-chip |
Nordic nRF family RADIO peripheral1 |
|
on-chip |
Nordic nRF family NFCT (Near Field Communication Tag)1 |
||
Pin control |
on-chip |
Nordic nRF family Pin Controller1 |
|
Power management |
on-chip |
Nordic nRF power control node1 |
|
PWM |
on-chip |
||
on-chip |
nRFx S/W PWM1 |
||
Regulator |
on-chip |
Nordic nRF5X regulator (fixed stage of the core supply)1 |
|
on-chip |
Nordic nRF52X regulator (high voltage stage of the main supply)1 |
||
Retained memory |
on-chip |
Nordic GPREGRET (General Purpose Register Retention) device2 |
|
RNG |
on-chip |
Nordic nRF family RNG (Random Number Generator)1 |
|
RTC |
on-chip |
Nordic nRF RTC (Real-Time Counter)3 |
|
Sensors |
on-chip |
Nordic nRF family TEMP node1 |
|
on-chip |
Nordic nRF quadrature decoder (QDEC) node1 |
||
Serial controller |
on-chip |
Nordic nRF family UARTE (UART with EasyDMA)2 |
|
SPI |
on-chip |
||
on-chip |
Nordic nRF family SPI (SPI master)1 |
||
SRAM |
on-chip |
Generic on-chip SRAM1 |
|
Timer |
on-chip |
ARMv7-M System Tick1 |
|
USB |
on-chip |
Nordic nRF52 USB device controller1 |
|
Watchdog |
on-chip |
Nordic nRF family WDT (Watchdog Timer)1 |
nucode_nu40/nrf52840/bare target
Type |
Location |
Description |
Compatible |
|---|---|---|---|
CPU |
on-chip |
ARM Cortex-M4F CPU1 |
|
ADC |
on-chip |
Nordic Semiconductor nRF family SAADC node1 |
|
ARM architecture |
on-chip |
Nordic UICR (User Information Configuration Registers)1 |
|
on-chip |
Nordic EGU (Event Generator Unit)6 |
||
on-chip |
Nordic nRF family ACL (Access Control List)1 |
||
on-chip |
Nordic nRF family MWU (Memory Watch Unit)1 |
||
Audio |
on-chip |
Nordic PDM (Pulse Density Modulation interface)1 |
|
Clock control |
on-chip |
Nordic nRF clock control node1 |
|
on-chip |
Nordic nRF high-frequency crystal oscillator (nRF52 series)1 |
||
Comparator |
on-chip |
Nordic nRF COMP (analog COMParator)1 |
|
Counter |
on-chip |
Nordic nRF timer node5 |
|
Cryptographic accelerator |
on-chip |
Nordic ECB (AES electronic codebook mode encryption)1 |
|
on-chip |
Nordic nRF family CCM (AES CCM mode encryption)1 |
||
on-chip |
ARM TrustZone CryptoCell 3101 |
||
Debug |
on-chip |
ARMv7 instrumentation trace macrocell1 |
|
Flash controller |
on-chip |
Nordic NVMC (Non-Volatile Memory Controller)1 |
|
on-chip |
Properties defining the interface for the Nordic QSPI peripheral1 |
||
GPIO & Headers |
on-chip |
NRF5 GPIOTE1 |
|
on-chip |
NRF5 GPIO2 |
||
I2C |
on-chip |
Nordic nRF family TWI (TWI master)2 |
|
I2S |
on-chip |
Nordic I2S (Inter-IC sound interface)1 |
|
IEEE 802.15.4 |
on-chip |
Nordic nRF IEEE 802.15.4 node1 |
|
Input |
on-board |
Group of GPIO-bound input keys1 |
|
Interrupt controller |
on-chip |
ARMv7-M NVIC (Nested Vectored Interrupt Controller)1 |
|
LED |
on-board |
Group of GPIO-controlled LEDs1 |
|
on-board |
Group of PWM-controlled LEDs1 |
||
Miscellaneous |
on-chip |
Nordic FICR (Factory Information Configuration Registers)1 |
|
on-chip |
Nordic nRF family PPI (Programmable Peripheral Interconnect)1 |
||
MTD |
on-chip |
Flash node1 |
|
Networking |
on-chip |
Nordic nRF family RADIO peripheral1 |
|
on-chip |
Nordic nRF family NFCT (Near Field Communication Tag)1 |
||
Pin control |
on-chip |
Nordic nRF family Pin Controller1 |
|
Power management |
on-chip |
Nordic nRF power control node1 |
|
PWM |
on-chip |
||
on-chip |
nRFx S/W PWM1 |
||
Regulator |
on-chip |
Nordic nRF5X regulator (fixed stage of the core supply)1 |
|
on-chip |
Nordic nRF52X regulator (high voltage stage of the main supply)1 |
||
Retained memory |
on-chip |
Nordic GPREGRET (General Purpose Register Retention) device2 |
|
RNG |
on-chip |
Nordic nRF family RNG (Random Number Generator)1 |
|
RTC |
on-chip |
Nordic nRF RTC (Real-Time Counter)3 |
|
Sensors |
on-chip |
Nordic nRF family TEMP node1 |
|
on-chip |
Nordic nRF quadrature decoder (QDEC) node1 |
||
Serial controller |
on-chip |
Nordic nRF family UARTE (UART with EasyDMA)2 |
|
SPI |
on-chip |
||
on-chip |
Nordic nRF family SPI (SPI master)1 |
||
SRAM |
on-chip |
Generic on-chip SRAM1 |
|
Timer |
on-chip |
ARMv7-M System Tick1 |
|
USB |
on-chip |
Nordic nRF52 USB device controller1 |
|
Watchdog |
on-chip |
Nordic nRF family WDT (Watchdog Timer)1 |
Connections and IOs
LEDs
LED0 = P0.13 (active high)
LED1 = P0.14 (active high)
LED2 = P0.15 (active high)
LED3 = P0.16 (active high)
UART
UART0: TX = P0.6, RX = P0.8, RTS = P0.5, CTS = P0.7
UART1: TX = P1.2, RX = P1.1
I2C
I2C0 (Arduino): SDA = P0.26, SCL = P0.27
I2C1: SDA = P0.30, SCL = P0.31
SPI
SPI1: SCK = P0.31, MOSI = P0.30, MISO = P1.8
SPI3 (Arduino): SCK = P1.15, MOSI = P1.13, MISO = P1.14
Programming and Debugging
The nucode_nu40 board supports the runners and associated west commands listed below.
| flash | debug | debugserver | rtt | reset | attach | |
|---|---|---|---|---|---|---|
| jlink | ✅ | ✅ (default) | ✅ | ✅ | ✅ | ✅ |
| nrfjprog | ✅ | |||||
| pyocd | ✅ | ✅ | ✅ | ✅ | ✅ | |
| uf2 | ✅ (default) |
Applications for the nucode_nu40/nrf52840 board configuration can be
built in the usual way (see Building an Application for more details).
Flashing
The board supports the following programming options:
Using the built-in UF2 bootloader
Using an external debug probe
Option 1: Using the Built-In UF2 Bootloader
The board is factory-programmed with a UF2 bootloader (Adafruit nRF52 fork, maintained by chcbaram). With this option, the board enumerates as a USB mass-storage device when in bootloader mode.
Enter bootloader mode by double-tapping the RESET button (or holding BUTTON0 while connecting USB). The board mounts as
BARAM-NU40.Build the sample application:
# From the root of the zephyr repository west build -b nucode_nu40/nrf52840 samples/hello_world
Copy the generated
zephyr.uf2file to theBARAM-NU40drive:cp build/zephyr/zephyr.uf2 /run/media/$USER/BARAM-NU40/The board resets automatically and runs the new firmware.
Option 2: Using an External Debug Probe
The board can also be flashed and debugged using a J-Link or other compatible debug probe connected to the SWD pads.
west flash
Debugging
Refer to the Run an Application page for more details on debugging.