Skip to content

doorson_ble_smartswitch

BLE peripheral firmware for nRF52840 with Acconeer A121 radar presence detection.

Stack

  • SDK: nRF Connect SDK v2.9.0 (Zephyr RTOS)
  • MCU: Nordic nRF52840 (Cortex-M4, 64 MHz, 1MB Flash, 256KB RAM)
  • Radar: Acconeer A121 (60 GHz pulsed coherent)
  • USB-UART: FTDI FT230XS on XB122 breakout board
  • Language: C
  • Build: CMake + West

What It Does

  • Advertises as "Doorson SmartSwitch" over BLE
  • Real-time motion/no-motion presence detection via radar
  • UART output for presence status

Project Structure

src/
  main.c            # BLE advertising + presence detection
prj.conf            # Kconfig (BLE, radar, SPI, FPU, logging)
CMakeLists.txt       # build config
acconeer_sdk/        # precompiled radar libraries + HAL (BSD-3-Clause)

Building

Requires: GNU ARM Embedded Toolchain, nRF Connect SDK v2.9.0.

Environment variables:

  • ZEPHYR_BASE
  • GNUARMEMB_TOOLCHAIN_PATH
  • ZEPHYR_TOOLCHAIN_VARIANT
bash
west build -b xb122

CMakePresets available for CLion IDE.

Flashing

  • J-Link SWD (10-pin header): west flash
  • UART DFU: alternative flashing method