// PROJECT 003

BLE-Enabled Asset Tracking System

End-to-end BLE mesh network with Nordic nRF52840 nodes, custom GATT services, AES-128 encrypted provisioning, RFID integration, cloud sync to AWS, and a React Native companion app.

nRF52840BLE MeshZephyr RTOSAES-128RFIDReact NativeAWS
// BLE MESH TOPOLOGY — WAREHOUSE DEPLOYMENT GATEWAY nRF52840 NODE 0x0A1F NODE 0x0A20 NODE 0x0A21 NODE 0x0A22 NODE 0x0A23 RELAY 0x0B01 RELAY 0x0B02 AWS IoT Asset DB Security: AES-128-CCM · Provisioning: LE Secure Connections + ECDH · Key rotation: every 24h
500+Active Nodes
AES-128Encryption
<2sLocation Update
6moBattery Life
MCUNordic nRF52840 · ARM Cortex-M4F @ 64MHz
RTOSZephyr 3.4 with BLE stack
BLEMesh v1.0 · Friend/LPN · GATT provisioning
RFIDISO 15693 · NFC-V via SX1502 front-end
SecurityAES-128-CCM · LE Secure Connections · ECDH
BatteryLi-MnO2 3.0V 2000mAh · 6 month life
AppReact Native · BLE GATT · REST → AWS API GW

Project Overview

Designed a warehouse asset tracking system using BLE mesh networking. 500+ sensor nodes track pallets, equipment, and vehicles in real time. Each node contains an RFID reader, accelerometer, and temperature sensor, reporting location and status through a self-healing BLE mesh to cloud gateways.

BLE Mesh Architecture

Built on Zephyr RTOS with the Nordic BLE Mesh stack (SIG Mesh v1.0). The mesh uses a 3-tier topology:

Encrypted Provisioning

/* Out-of-band provisioning via NFC */
static void prov_complete(uint16_t net_idx, uint16_t addr) {
    bt_mesh_prov_complete(net_idx, addr);

    /* Set LE Secure Connections security level */
    bt_conn_set_security(conn, BT_SECURITY_L4);

    /* Distribute application key via OOB NFC record */
    struct bt_mesh_cfg_app_key_add key_add = {
        .net_idx = net_idx,
        .app_idx = APP_KEY_IDX,
    };
    memcpy(key_add.app_key, app_key_128, 16);
    bt_mesh_cfg_cli_app_key_add(net_idx, addr, &key_add, NULL);
}

Power Optimisation

Achieved 6-month battery life on a 2000mAh Li-MnO2 cell through aggressive duty cycling:

← Previous
AWS Fleet Telematics Gateway
Next →
TinyML Vibration Fault Classifier
← All Projects