The Brief
A compact Bluetooth LE beacon for indoor asset and personnel tracking in harsh industrial environments. Small enough to mount via lanyard, rivet or cable tie, the device needed to survive IP68 submersion and 500 drops from 1.2 m, while delivering up to 18 months of operation from a single replaceable CR2032 coin cell. The firmware and a companion PC configuration application were designed and delivered alongside the client's hardware and mechanical teams.
The Challenge
A CR2032 holds just 225 mAh at 3 V. BLE advertising draws milliamps during each transmission burst, so achieving 18 months of runtime demanded that the device spend the vast majority of its life drawing sub-microamp quiescent current. Every peripheral, every timer tick, and every radio transaction had to be justified against the power budget, with no margin for careless current paths.
Configurable Motion Detection
The onboard accelerometer drives the device's behaviour. Rather than advertising at a fixed interval regardless of context, the firmware implements a configurable motion detection algorithm that adapts advertising behaviour to the device's state. When stationary the beacon drops to a slow advertising interval, conserving energy. On detecting motion above a configurable threshold, with debounce windowing to reject false triggers from vibration, it switches immediately to a faster rate, improving location update frequency when an asset is being moved. Threshold, debounce window, and both advertising intervals are all user-configurable, allowing end-clients to tune the device for their environment.
Sub-1 µA Sleep
Reaching sub-1 µA quiescent current required closing every leakage path. The nRF SoC's System OFF deep-sleep mode was used, with the accelerometer as the sole wake source via a dedicated interrupt line. All GPIOs were driven to defined states to prevent floating inputs drawing leakage. The LED driver, NFC front-end, and all unused peripherals were fully power-gated between events. The result was a sleep current below 1 µA, sustaining the advertise-sleep duty cycle needed to meet the 18-month target.
NFC Configuration
Device parameters are written via an NDEF-based NFC interface. No dedicated app is required; any NFC-enabled smartphone will do. Configurable settings include BLE transmit power, advertising intervals for motion and stationary states, accelerometer threshold and debounce parameters, temperature reporting interval, and advertising payload format (Eddystone, iBeacon, or Omni-ID).
PC Configuration Application
To support end-client deployment and customisation, a companion PC application was designed and developed. Connecting to the beacon over BLE, it provides a graphical interface for reading and writing all configuration parameters, customising the advertisement payload, and viewing diagnostic data including battery voltage, firmware version, and motion state. The tool was designed for non-technical operators, with parameter range validation and clear feedback on every configuration change.
Working on something similar?
If you're building a battery-powered IoT device and need help squeezing the most from your power budget, we'd like to hear about it.
Start a conversation →