Skip to content

Standards

Download: PDF ยท Word

Technical standards for the code and the devices: how C and Python are written, how interfaces and identifiers are designed, and what a field-deployed connected device must do.

The Guidelines say how the engineering is run, and require a coding standard for each language (EG-013). These pages are those standards, and the device and interface standards that sit alongside them. The Guides go into depth, and the Primers introduce the topics.

Coding

Standard Covers
C coding standard Layout, naming, declarations, statements and comments for C, with a focus on embedded firmware
MISRA C What MISRA C is, how to approach violations and deviations, and how it fits the workflow
Python for supporting tools Style, type hints, docstrings, errors, structure and tooling for build scripts and other supporting tools

Coding standards.

Design and interfaces

Standard Covers
Software architecture principles Component, SOLID and package principles, and the simplicity principles behind them
API design and error handling Resource design, status codes, problem details (RFC 9457), versioning and pagination
Unique identifiers Choosing and storing UUIDs and their time-ordered alternatives, and the effect on database indexes
Designing LwM2M objects and resources Grouping data into objects, choosing resource types and access, and when to split an object

Design and interfaces standards.

Connected devices

Standard Covers
IoT device architecture principles Principles for field-deployed devices in seven pillars, with device tiers and review checks
Battery budgeting and power profiling Energy budgets, low-power state machines, battery chemistry and current profiling
Constrained binary payloads When and how to use CBOR and Protocol Buffers on constrained networks
Offline storage and synchronisation Flash storage, wear levelling, buffering and synchronising data when a device has been offline
Serialisation, provisioning and factory test Device identities, key injection, hardware locking and automated factory test

Connected devices standards.