Skip to content
Home  /  Technology

Three layers — sense, decide, account. Each one publishes its own numbers.

Most portable signals are timers in a box. Ours are connected instruments. Here is how the stack is laid out, why we chose it, and where it stops.

01 · Stack

L4 · ACCOUNT
Audit, dispatch, billing.
Per-job event logs at 10 s cadence. Signed exports for procurement reviews. Integrations with Meridian TM and three other contractor stacks. Read-only API for council clients.
L3 · DECIDE
Adaptive cycle logic.
Vehicle-actuated by default. Demand smoothing, queue spillback handling, pedestrian phase insertion. Cycles run at 60-180 s; min/max bounds set per site by the operator.
L2 · SENSE
Radar, induction, accelerometer.
24 GHz CW radar (vehicle presence, speed). Buried inductive loop optional for high-fidelity counts. 6-axis accelerometer for tilt and tamper events.
L1 · CARRY
Battery, radio, head.
13 kWh LiFePO4 pack, fixed and workshop-serviceable — up to 28 days runtime on a single charge. Dual-radio (4G + LoRaWAN fallback). 200 mm signal head, IP66 enclosure, single-person deploy.

02 · Principles

P · 01

If it can be measured, it should be published.

Battery state, cycle in flight, queue presence, tilt history. The instrument knows it; the customer should see it. We do not gate telemetry behind a contract upgrade.

P · 02

Local-first, cloud-second.

The signal makes its own decisions. Loss of network does not change what the head shows. Telemetry buffers for 14 days and replays when reconnected.

P · 03

Boring algorithms with visible parameters.

Cycle logic is a published table, not a model. Every threshold has a name and a number. The control room can see what the unit will do before it does it.

P · 04

The audit log is the product.

An instrumented signal is only as good as the record it leaves. We treat the per-job event export as a primary deliverable, not an afterthought.

How a unit sees the road.

A 24 GHz radar fan covers 0-40 m on the approach. It returns a presence flag, a speed estimate, and a confidence value at 10 Hz. For high-volume sites we add a buried inductive loop; the two readings cross-check.

The 6-axis accelerometer runs continuously. A 4° tilt over 30 seconds raises a soft event; a 12° tilt or shock event auto-pauses the cycle and pushes a notification.

M1RADAR · 24 GHZ · 0-40 M42 KM/H · CONF 0.94TILT 0.4°  ·  CYCLE 84S  ·  BAT 84%DETECTION ZONE
FIG · T.2 — SENSING ENVELOPE, M1 STANDARD

03 · What this stack is not

N · 01

Not a model.

The cycle logic is deterministic and inspectable. We do not run a learned controller on the signal head. If a council asks why a phase ran the way it did, the answer is in a table.

N · 02

Not autonomous.

The unit does not change its own bounds. Min and max cycle are set per site by a named operator, recorded against a job ticket, and signed off before the closure goes live.

N · 03

Not connected to the live UTC.

We do not interface with TfL’s urban traffic control or any other live network. Where adjacent fixed signals exist, we co-ordinate on offline timing plans, not real-time signal exchange.

N · 04

Not a black box.

Firmware versions, sensor calibration dates, and decision parameters are visible per unit. We publish change notes for every release, with the affected parameters and the reason for the change.

04 · Reference numbers

Radar24 GHz CW, 0-40 m, 10 Hz, ±0.3 m/s
Inductive loop (opt)2 m × 1 m, 1 ms latency, dual-channel
Accelerometer6-axis MEMS, ±16 g, 100 Hz
Cycle boundsmin 30 s · max 240 s · default 60-120 s
Decision tick250 ms
Telemetry cadence10 s (configurable 1-60 s)
Event buffer14 days local, replayed on reconnect
Radio4G primary · LoRaWAN fallback · LTE-M roadmap
FirmwareSigned OTA · staged rollout · rollback supported
APIREST + webhook · OpenAPI 3.1 · read-only for clients

Want a copy of the integration spec?