FirmwareMaestro Docs
Dev Guide

Phase 1 — Planning & Requirements

Define project scope, requirements, and select the appropriate Nordic SoC for your application.

The planning phase is critical for embedded projects. Choosing the right Nordic SoC upfront prevents costly redesigns later. Consider your wireless protocol needs, power budget, processing requirements, and security features when making your selection.

Steps

Select Nordic SoC based on requirements

Choose the right Nordic chip for your application based on connectivity, processing power, and power consumption needs.

  • nRF52832 / nRF52840 — best for BLE applications, mesh networking, and low-power sensors
  • nRF5340 — dual-core for complex applications requiring both connectivity and processing
  • nRF54 series — latest generation with improved power efficiency and performance
  • nRF7002 — WiFi 6 companion IC for cloud-connected applications
  • nRF9160 — cellular IoT (LTE-M/NB-IoT) with GPS for asset tracking and remote monitoring

See the Nordic Product Selector for a full comparison.

Define wireless connectivity needs

Determine which wireless protocols your application requires and ensure your chosen SoC supports them.

  • BLE — short-range, low-power, ideal for wearables and sensors
  • Thread / Zigbee — mesh networking for smart home and industrial IoT
  • WiFi — high bandwidth for streaming and cloud connectivity
  • LTE-M / NB-IoT — wide-area coverage for remote assets
  • Consider multi-protocol support (BLE + Thread) for future flexibility

Create system architecture

Design your system architecture considering Nordic's SoftDevice, protocol stacks, and application requirements.

System Architecture Layers:
- Application Layer: Business Logic, State Machines, Protocol Handlers
- Middleware Layer: nRF Connect SDK Libraries, Zephyr Subsystems
- OS Layer:         Zephyr RTOS (threads, timers, workqueues)
- HAL Layer:        Nordic HAL / Zephyr Device Drivers
- Hardware Layer:   Nordic SoC + External Peripherals

Separate hardware-specific code into HAL modules, prefer Zephyr's native drivers where available, and plan the memory layout for SoftDevice + application + OTA up front.

Establish a power budget

Calculate expected power consumption and battery life early in the design process.

Power Budget Calculation Example:

Active Mode (BLE advertising @ 1s interval):
  Radio TX: 4.6 mA x 1   ms = 4.6 uAs per interval
  CPU:      3.0 mA x 0.5 ms = 1.5 uAs per interval
  Average:  ~6 uA continuous

Sleep Mode (System ON, RTC running): 1.5 uA base

Target: CR2032 (225 mAh) for 2 years
  Available: 225 mAh / (2 years x 8760 hours) = 12.8 uA
  Budget: 10 uA average leaves headroom
  • Use the Nordic Power Profiler Kit II for accurate measurements
  • Account for peak currents when sizing batteries
  • Include all peripherals in power calculations
  • Plan for temperature variations affecting battery capacity

Try the Online Power Profiler for quick estimates.

Plan peripheral usage

Map out which peripherals you need and their pin assignments.

  • Check pin multiplexing constraints in the datasheet
  • Reserve pins for programming/debugging (SWD)
  • Consider peripheral power domains for low-power modes
  • Plan for hardware flow control on UART if needed

Define security requirements

Determine security features needed: secure boot, encryption, TrustZone, key storage.

  • nRF52 — software-based security, CryptoCell for crypto acceleration
  • nRF53 / nRF54 — Arm TrustZone for hardware isolation
  • nRF9160 — Trusted Firmware-M (TF-M) for secure processing
  • Plan key provisioning and storage strategy early

Next

Continue to Phase 2 — Development Environment Setup.

On this page