Compare

MOS4 vs Geotab & CalAmp

Closed telematics devices run vendor firmware and route data through a vendor cloud. MOS4 puts customer-owned code on the device, delivers data over a standard MQTT path to your cloud ingress, and gives you 12 vehicle protocols in a declarative JSON stack.

Black-box telematics dongle with a locked padlock vs an open MOS4 dongle revealing 12 stacked protocol decoders inside — amber on the protocol stack

Cloud topology

End-to-end data path.

The recommended cloud path from a MOS4 device to your cloud ingress: micro service on device → mos-communication-gateway → MD21 optimised leg → cloud-connect → MQTT forwarding micro service → your cloud ingress over standard MQTT. The MD21 leg handles multiplexing, piggyback, compression, and ASN.1-based encoding — bandwidth optimisation that is invisible to your application layer and material on metered cellular links.

Customer micro service on device sends data through mos-communication-gateway over an MD21-optimised leg to Munic cloud-connect, which forwards over MQTT to the customer cloud ingress.

flowchart LR
  subgraph Dev["On device"]
    micro service[Customer micro service] --> GW[mos-communication-gateway]
  end
  GW -->|MD21 optimised leg| CC[cloud-connect]
  CC -->|MQTT forward micro service| CI[Customer cloud ingress]
  subgraph CC["Munic cloud-connect"]
    MQ[mqtt-fwd micro service]
  end

Side-by-side

Capability comparison.

On-device code Geotab / CalAmp Vendor-supplied firmware. Limited vendor-defined scripted add-ins. MOS4 Customer-owned Rust, Python, C++, or any container language. Any container can reach any component via the MQTT bridge — Python container → MQTT → the RPC JSON proxy → obdstacks-v2 SubscribeData.
Data destination Geotab / CalAmp Data routed through vendor cloud pipeline. Customer receives data via vendor API. MOS4 Standard MQTT delivery to your cloud ingress. Full path: micro service → mos-communication-gateway → MD21 → cloud-connect → MQTT fwd → customer ingress.
Vehicle protocols Geotab / CalAmp OBD-II service 01 PIDs and vendor-curated extended signals. MOS4 16 protocols (CAN, CAN-FD, DoIP, UDS, J1939, ISOBUS, KWP, J1850, GMLAN, CANopen, Modbus) via declarative JSON stack files. Adding a PID or changing a sampling period is a file edit, not a firmware release.
DTC access Geotab / CalAmp Vendor-gated fault signals. Direct DTC read/clear not available to the customer. MOS4 DTC reading and clearing across the supported protocol stack — OBD-II service 03 and UDS ReadDTCInformation.
Event automation Geotab / CalAmp Vendor-configured rule engine, if available. Policy is vendor-maintained. MOS4 mos-event-processor (MEP): declarative YAML policies — Trigger, Condition, Action — evaluated against device state and vehicle signals. Hot-reload without firmware flash.
Diagnostic passthrough Geotab / CalAmp No J2534 passthrough. Dedicated J2534 dongle required for workshop workflows. MOS4 J2534 04.04-compatible passthrough API over JSON/Protobuf. Existing PC OEM diagnostic tools and ECU flashers reach the vehicle bus through the same gateway.
GNSS Geotab / CalAmp Vendor position feed. Configuration depth is vendor-controlled. MOS4 mos-gnss: multi-constellation, A-GNSS/LTEE assisted start, dead reckoning injection, power-managed lifecycle.
Fleet OTA Geotab / CalAmp Vendor-managed firmware updates. MOS4 mos-update: Ed25519-signed delta packages, A/B partitions, automatic rollback via bootcount, retry count persisted across power cycles. Per-programme automation hooks on request.
Observability Geotab / CalAmp Vendor-defined health endpoints. MOS4 Per-component Prometheus metrics via mos-observer. Structured error events batched to a remote server via mos-sentry. OpenTelemetry OTLP export. Customer-operated Grafana/OTLP stack.

Source — Geotab from geotab.com; CalAmp from calamp.com; MOS4 from /architecture.

Fan of glowing cyan protocol cards (CAN-FD, ISO-TP, DoIP, J1939, J1850, K-Line, UDS, Modbus, OBD-II, ISOBUS) converging on an amber-glowing engine block at the centre, on a dark blueprint backdrop

Vehicle protocols

16 protocols in a declarative stack.

Vehicle protocols supported by obdstacks-v2
Protocol Standard MOS4 support
CAN ISO 11898 Native, declarative JSON stack
CAN-FD ISO 11898-1:2015 Native
DoIP ISO 13400 Native
UDS ISO 14229 Native, DTC read + clear
J1939 SAE J1939 Native
ISOBUS ISO 11783 Native (acquisition)
J1587 / J1708 SAE J1587 Native
J1850 VPW/PWM SAE J1850 Native
TP 2.0 VAG TP 2.0 Native
GMLAN GM LAN Native
CANopen CiA 301 Native
Modbus Modbus RTU/TCP Native (RTU production)

Stack definitions are JSON DSL data files validated at LoadStack time. Protocol changes are file edits, not firmware releases.

FAQ

The questions we hear most.

  • Can MOS4 read the same telemetry as Geotab or CalAmp?

    Yes — and more. obdstacks-v2 covers OBD-II plus the manufacturer-private PIDs and DTCs that closed devices typically gate. DTC reading and clearing are available across the supported protocol stack. Anything readable on the bus is readable from a MOS4 component.

  • Where does my data go?

    Your data goes where you configure it. The cloud path is: micro service on device → mos-communication-gateway → MD21 → cloud-connect → MQTT forwarding micro service → your cloud ingress over standard MQTT. The MD21 leg handles multiplexing, piggyback, compression, and ASN.1-based encoding — bandwidth optimisation that is invisible to your application but material on metered cellular links.

  • Can I write automation logic without Rust?

    Yes. The MOS Event Processor (MEP) evaluates declarative YAML policies — Trigger, Condition, Action — against device state and vehicle signals without any Rust or compiled code. Rules hot-reload without a firmware flash. Any container language also reaches any component via the MQTT bridge: a Python container speaks MQTT, which proxies through the RPC bridge to any obdstacks-v2 service call.

  • Can I reuse existing diagnostic tooling?

    Yes. obdstacks-v2 implements the SAE J2534 04.04 passthrough API over JSON/Protobuf. Existing PC-based OEM diagnostic scan tools and ECU flashers can reach the vehicle bus through the same embedded gateway that handles continuous telematics.

  • How does OTA work?

    mos-update handles download, SHA-256 verify, Ed25519 validate, delta apply, A/B partition commit, and automatic rollback via bootcount without operator intervention on failure. Retry and reboot limits persist across power cycles. Per-programme automation hooks available on request.

  • When is a closed SaaS device still the right choice?

    When fleet operations need a turnkey OBD-II and GPS feed with zero engineering involvement. MOS4 is the right answer when the programme needs custom on-device logic, additional vehicle protocols, data sovereignty, or on-device AI inference.

Your code, your data path, your servers.

A 30-minute call with engineering. We will size the device and the cloud path for your programme.

Building on MOS4?

One reply from engineering, ~24h. No deck, no NDA.

Talk to engineering