FirmwareMaestro Docs
Dev Guide

Phase 2 — Development Environment Setup

Configure Nordic's toolchain and the nRF Connect SDK for efficient firmware development.

Setting up the development environment correctly saves hours of debugging later. Nordic provides excellent tooling through nRF Connect for Desktop and VS Code extensions. The nRF Connect SDK builds on Zephyr RTOS and provides Nordic-specific drivers and libraries.

Steps

Install nRF Connect for Desktop

Download and install nRF Connect for Desktop, which provides access to all Nordic development tools.

Key apps to install:

  • Toolchain Manager — install and manage SDK versions
  • Programmer — flash firmware to devices
  • Bluetooth Low Energy — debug BLE connections
  • Power Profiler — analyze power consumption
  • Serial Terminal — UART communication

Keep nRF Connect for Desktop updated for the latest tool versions. The Toolchain Manager handles SDK and toolchain version management for you.

Set up nRF Connect SDK with Zephyr

Use Toolchain Manager to install the nRF Connect SDK, which includes Zephyr RTOS and all necessary tools.

SDK structure after installation:

~/ncs/
├── nrf/           # Nordic-specific code and samples
├── zephyr/        # Zephyr RTOS core
├── modules/       # Third-party modules (mbedTLS, etc.)
├── bootloader/    # MCUboot bootloader
└── tools/         # Build tools

Verify the installation:

west --version
cmake --version
  • Use LTS (Long Term Support) SDK versions for production projects
  • nRF Connect SDK v2.x uses west for build management
  • Keep a backup of working SDK versions before upgrading

See the nRF Connect SDK Documentation.

Configure VS Code with the nRF Connect Extension

Install VS Code and the nRF Connect Extension Pack for the best development experience.

  • Install the full nRF Connect Extension Pack (includes C/C++, CMake, DTS)
  • Use the nRF Connect sidebar for build, flash, and debug operations
  • Configure IntelliSense for accurate code completion

Install nRF Command Line Tools

Install nRF Command Line Tools for scripting, automation, and CI/CD integration.

nrfutil version                              # Check installation
nrfutil device list                          # List connected devices
nrfutil device program --firmware app.hex    # Flash firmware
nrfutil device reset                         # Reset device
nrfutil device recover                       # Recover locked device

West build commands (Zephyr):

west build -b nrf52840dk_nrf52840   # Build for target
west flash                          # Flash to device
west debug                          # Start debug session
  • Add nrfutil to your PATH for easy access
  • Use --snr to target a specific device when multiple are connected
  • Combine with west for a streamlined workflow

Set up your Development Kit

Connect and configure your Nordic Development Kit for programming and debugging.

  • Update DK firmware using nRF Connect Programmer
  • Check jumper settings for power source selection
  • Install USB drivers if not automatically detected
  • Use the board's onboard J-Link for debugging (no external debugger needed)

Initialize a Git repository

Set up version control with proper structure for Nordic/Zephyr projects.

# Recommended .gitignore for nRF Connect SDK projects
build/
*.pyc
__pycache__/
.west/
*.log
*.elf
*.hex
*.bin
.vscode/settings.json
*.DS_Store
  • Track prj.conf, overlay files, and Kconfig in version control
  • Don't commit build directories or SDK files
  • Use Git tags to mark firmware releases
  • Include hardware revision in commit history

Next

Continue to Phase 3 — Hardware Abstraction & Drivers.

On this page