Adsum IoT Coder
BLG20 CommissionerBuilt with Adsum IoT Coder · powered by Adsum Networks
no unit

Commission a gateway

Stand next to the unit. Everything below is written over Bluetooth and read back from the unit's own account of itself — nothing is trusted because a button was pressed.

QR code for this page

Open this on a phone. Scan with the camera and open the link in Chrome — Web Bluetooth needs Chrome on Android; iOS has none. The same page, the same address, no install:
https://commission.adsumnetworks.com/blg20/

Pre-flight

checking…

    Defaults for every unit on this site. Saved on this device; export it to carry it to another phone.

    {site} {n} {date} {id4}
    ≤ 32 bytes after expansion
    no position may claim better
    1. 1

      Find the unit

      Chrome lists nearby gateways; pick the one you are standing next to. The unit asks to pair the moment you connect — enter the six digits printed on its label.

    2. 2

      State the position

      A coordinate that cannot say how wrong it might be is worth nothing later, so every method carries an uncertainty and the rules differ by method. The unit refuses a position without one.

      The device's own reported accuracy is the uncertainty. A phone with GPS outdoors gives a few metres; a laptop positions itself from Wi-Fi and will be tens of metres out — the tool will say which it got.

    3. 3

      Name it and give it a credential

      The label is how the unit appears on a dashboard; the identity is what the server knows it by. The key is generated here and shown once — the fleet register below is the only other place it exists.

      ≤ 31 characters
      ≤ 32 bytes
    4. 4

      Commission

      The unit refuses this until it holds a position and a credential. That refusal is deliberate: this board has no satellite receiver, so a unit installed without a coordinate cannot use the satellite bearer at all — and nobody finds out for months.

    5. 5

      Verify

      Read the unit's own account of itself and compare it with what was written. Green is a match; anything else is the unit disagreeing, and the unit is right.

    Every parameter a deployment needs, whether or not this unit's firmware exposes it yet. The tool reads the unit's service on connect: what it exposes is live, the rest is greyed with the reason. The greyed rows are the specification for the next firmware build.

    ParameterValueOn this unit

    Every unit commissioned from this device. This is the record the platform side needs — the identity and key for the data plane, the position and provenance for the audit trail. Export it before you leave the site.

    whenunitlabelidentitykeylatlon±mmethodfwby

    What happened

    1. Waiting to connect.

    Two lights, one per half of the unit. Colour is the state, the blink is the activity; every state is also distinguishable by pattern alone. From PLAN-2026-09-12-leds-buttons.

    LTE light (cellular half)means
    amber, slow 1 s blinknot commissioned — waiting for you
    blue, 200 ms every secondsearching for the network
    green, one flash every 5 sregistered, resting between cycles — the normal state
    solid blue, then green ×2sending, then acknowledged
    red ×3a send failed; it will try next cycle
    cyan where blue would beon the satellite bearer
    cyan, one flash every 3 ssatellite: waiting to attach — can take minutes
    cyan / red alternatingsatellite allowance used up; still working on cellular
    amber ×2 then cyansatellite refused: no commissioned position — set one
    red, one flash every 2 sdata allowance exhausted — parked. This needs a visit
    red / amber alternatingthe modem is under a network attach ban: do not reset it, it clears itself in ~30 min
    solid redfault
    BLE light (Bluetooth half)means
    off, green flash every 10 sscanning normally
    blue, slow breathecommissioning window open — connect now
    solid blue / fast blueconnected / waiting for you to enter the passkey
    green flash + ticka write was accepted
    red ×2 + buzza write was refused — read status to see why
    green ×3 + rising chirpcommissioned
    three ticks, oncefirst data sent after commissioning — you can leave
    amber flash every 5 sstore filling; the cellular half is behind
    red flash every 2 sthe link between the two halves is down
    The button (the small one; the other resets everything)does
    tapidentify: both lights white ×3, two ticks; the LTE light replays its state brighter for 5 s
    hold 3–5 sopen the commissioning window for 5 minutes (or close it)
    hold 10 s, red countdownfactory-reset the commissioning. Release early to cancel
    hold while powering onfirmware recovery over USB
    Work with Adsum IoT Coder

    BLG20 Commissioner · field tool v2 · built 11 September 2026 with Adsum IoT Coder · powered by Adsum Networks

    Commissions an Adsum gateway from a Chrome tab over Web Bluetooth — no cable, no app, no phone signal needed. This tool, and the gateway firmware it commissions, were generated with Adsum IoT Coder from Adsum Networks — firmware that arrives already wired to the production tooling a device needs.

    Contract
    service a05c0001-9e5f-4b6a-9f3a-2d1c7e4b8a01, firmware v1 characteristics …0002…0006; proposed …0007…000c
    Proven
    10 Sep 2026 on an nRF54LM20B running Zephyr, from a MacBook; the byte layouts and pairing sequence in v2 are the ones that ran
    Privacy
    nothing leaves this device and the gateway except what you export; profiles and the fleet register live in this browser's local storage only
    Browsers
    Chrome or Edge on Android, macOS, Windows, ChromeOS. iOS has no Web Bluetooth.
    Address
    https://commission.adsumnetworks.com/blg20/ — the published copy; scan the QR at the top
    Source
    blg20-gateway/tools/commissioner.html — one file, no dependencies. Firmware: src/bm20-ble/src/provision.c
    Licence
    Built with Adsum IoT Coder. © Adsum Networks 2026. Distributed to installers of Adsum gateways; not for redistribution.