Build packages
A named UltraMIN build for every point on the metering curve
UltraMIN ships as CMake build presets, not one client with feature flags nobody has size-tested. Each preset is measured against a hard binary-size cap, so a meter OEM knows the footprint before a single byte is compiled.
| Preset | Flash / RAM target | Adds |
ultra-min-30k | 30KB / 8KB, NoSec | Register/Update/Deregister, Read/Write/Execute over plain CoAP. The floor. |
ultra-min-sec-45k | 45KB / 10KB | PSK-DTLS (TinyDTLS), Composite Read/Write (FETCH/iPATCH), SEND and Queue Mode |
ultra-min-plus-55k | 55KB / 12KB | Observe/Notify (RFC 7641) and the Bootstrap interface |
ultra-min-max-60k | 60KB / 15KB | Firmware Update Object 5 and Connectivity Monitoring (Object 4) |
ultra-min-carrier-75k | 75KB / 18KB | RFC 7959 block-wise delta FOTA, SenML-CBOR SEND, the carrier PAL surface (SIM/APN/modem/PSM/SMS/GPS) and DTLS Connection ID intent, built for GSMA SGP.32 eSIM and carrier-class OTADM programmes |
ultra-min-metering | ~130KB class | A vendor-neutral smart-meter build: the full IPSO Smart Object suite over the mandatory objects, Bootstrap, FOTA with verify, SenML-CBOR SEND, Queue Mode and block-wise, ready for any utility's meter programme out of the box |
Utility-specific object suites, built to order: when a utility's meter specification defines its own proprietary object model on top of the metering baseline, an AMI variant supersets ultra-min-metering with that utility's object suite. Friendly has built one of these to order, under NDA, for a major water utility's digital-metering programme.
Every preset name is a CMake build target, not a marketing tier: 2,254 GoogleTest cases run against the codebase, ASan/UBSan clean. Platform ports relevant to metering include Nordic nRF91-series (LTE-M/NB-IoT) and nRF9161 bare-metal, Quectel BG95, and Raspberry Pi Pico for low-cost sensor nodes. For concentrator and multi-utility hub hardware, UltraPRO ships as five SKUs (std, m2m, esim, aiml, plus an OpenWrt/embedded-Linux gateway SKU in development), each built and tested against its own capability matrix rather than one binary with runtime flags.