Skip to content

Build

Prerequisites

  • nRF Connect SDK v3.0.1 (sdk-nrf tag v3.0.1, Zephyr v4.0.99-ncs1-1)
  • west toolchain initialised in the workspace root

Basic build

west build -p always -b nrf52840dk/nrf52840 -d build_vscode .

With explicit DTC overlay (required for hardware bring-up on the dev kit):

west build -p always -b nrf52840dk/nrf52840 -d build_vscode . \
  -- -DDTC_OVERLAY_FILE=boards/nrf52840dk_nrf52840.overlay

Device type

The firmware variant is selected at build time via EXTRA_CONF_FILE. Default is MC. Pre-made conf files live in the repo root.

Type Conf file Description
MC mc.conf Motor controller
AED aed.conf AED
Sense sense.conf Air quality sensor unit
SEN55 only sen55_only.conf Sensor unit, SEN55 only
Dev kit nrf_dev_kit.conf Bare nRF52840 DK, no sensors
# AED
west build -p always -b nrf52840dk/nrf52840 -d build_vscode . \
  -- -DEXTRA_CONF_FILE=aed.conf

# Sense
west build -p always -b nrf52840dk/nrf52840 -d build_vscode . \
  -- -DEXTRA_CONF_FILE=sense.conf

The device type controls which sensors are initialised, which BLE device name is advertised (Vibrant-MC-XXXX, Vibrant-AED-XXXX, etc.), and which control services (pressure, fan, dampers) are active.

Flashing

Flash from the sysbuild root (works regardless of project directory name):

west flash -d build_vscode --runner nrfjprog

Or directly with nrfjprog using the merged image:

nrfjprog -f nrf52 --program build_vscode/merged.hex --sectorerase
nrfjprog -f nrf52 --reset