Skip to Content
DOC / SVC-04 - REV 01

IoT Gateway Software

Cross-platform gateway software that routes a fleet of devices to apps, backends, portals, and the operational tooling that support teams actually need.

SVC-04 / Overview

What gateway software does

Once a product has more than a handful of devices in the field, something has to sit between them and everything else: an addressable point that knows which devices exist, which are currently reachable, what each last reported, and where any given message should go. That is the gateway.

A gateway is not simply a relay. It holds the device registry, terminates the device protocol, buffers data when the backend is unavailable, exposes operational endpoints for support staff, and gives the mobile app a stable interface that does not shift every time the firmware changes.

We build gateway software in cross-platform C and C++, so the same core runs on an embedded Linux box at a customer site, on a server, or on a developer machine for testing, rather than existing as three divergent implementations.

SVC-04 / Capabilities

What this service covers

Capabilities
  • Cross-platform C and C++ gateway development.
  • Device endpoint registry and addressing.
  • App endpoint registry and session routing.
  • Backend service endpoints.
  • Operational and support endpoints.
  • UDP and TCP protocol handling and framing.
  • Local SQLite storage and buffering.
  • Diagnostics, logging, and health monitoring.
  • Fleet search and device status tooling.
  • A reusable gateway architecture across multiple products.
SVC-04 / Method

How we approach gateway software

Make the registry the source of truth

Every other feature depends on knowing what a device is and how to reach it. When identity is inferred from whichever connection happens to be open, diagnosing a fleet becomes guesswork.

We make the registry explicit and durable: devices, apps, and backend services are registered endpoints with stable identifiers, and routing is a lookup rather than an inference.

Buffer locally and assume the backend goes away

Backends are redeployed, networks fail, and certificates expire. A gateway that drops data whenever its upstream is unavailable converts routine maintenance into permanent data loss.

Local SQLite storage with a defined retention window and explicit backpressure behaviour means an outage costs a delay and a backfill, which is a recoverable situation.

Build the support tooling into the gateway

The questions support teams ask are always the same: is this device online, what did it last send, and why did that command not arrive. If the gateway cannot answer them, every one of those questions escalates to engineering. Diagnostics endpoints and a fleet status view are cheaper to build than the support load they remove.

Design it to outlive one product

The transport, registry, storage, and diagnostics layers are not product-specific. Building them as a shared core with per-product adapters means the second product line integrates at a fraction of the cost of the first, which is usually where the investment repays itself.

SVC-04 / Output

What you receive

Deliverables

  • Gateway service source, buildable on your target platform.
  • Device and app registries with documented addressing.
  • Local storage with defined retention and backfill behaviour.
  • Diagnostics endpoints and a fleet status view.
  • A deployment and upgrade procedure.
  • Load behaviour documented against the expected fleet size.

When this fits

  • Devices talk directly to a backend and it no longer scales or is difficult to support.
  • You are launching a second product and want a shared gateway rather than a second integration.
  • Support cannot answer whether a given device is online and what it last sent.
FAQ

Questions we are asked about iot gateway software

Where does the gateway run?

It depends on the product. Embedded Linux hardware at the customer site is common for industrial and building deployments; a hosted service is common where devices reach the internet directly. The same cross-platform core is built for both.

Do we need a gateway if devices can reach the cloud directly?

Not always. A gateway earns its place when there are many devices per site, when a local protocol needs terminating, when data must survive an internet outage, or when several products should share one operational interface.

Can one gateway serve more than one product line?

That is how we prefer to build it. Transport, registry, storage, and diagnostics are shared, and per-product behaviour goes into adapters. The second product then costs a fraction of the first.

How is the gateway updated once deployed?

Through the same discipline as device firmware: versioned releases, a documented upgrade procedure, and a rollback path. Where the gateway runs on customer premises, the upgrade path is designed alongside the deployment model.

Sense more. Do more.

Have an IoT product idea or prototype that needs a professional architecture?

Tell us what you want to build. We help transform connected product ideas into systems that sense the real world and do useful work through hardware, firmware, apps, gateways, and backend systems.

Start a Project