Battery Telemetry

Own the data your batteries generate.

Edge-to-cloud telemetry pipelines for EV battery packs — protocol decode, real-time event streams, and time-series storage tuned for the volume and shape of EV data.

TelemetryBMSKafkaTimescaleDBClickHouseMQTTEdge

The data backbone behind every serious EV business

A battery without telemetry is a guess. A swap network without telemetry is a logistics gamble. A fleet without telemetry is a TCO question that nobody can answer.

We build the data backbone that turns raw cell voltages, currents, temperatures, and BMS faults into a queryable record your engineering, operations, and finance teams can all rely on. The work spans physical-layer integration with telematics hardware (Teltonika, Nesh, VoltUp, and bespoke OEM units), BMS protocol decoding (vendor-proprietary CAN dialects, J1939, Modbus, BLE GATT services), edge-resident filtering, and a high-throughput cloud pipeline tuned for the volume and shape of EV telemetry.

What an end-to-end pipeline looks like

  • Edge ingestion — Lightweight agents on the telematics device or paired BLE companion, time-stamping events and buffering through cellular outages. Compressed binary frames over MQTT (TLS) or HTTPS for constrained links.
  • Gateway and decode — A horizontally scalable MQTT broker (EMQX / VerneMQ) feeds a stateless decode service. Per-OEM decoders translate proprietary BMS frames into a normalised event schema. Schema evolution managed via Confluent Schema Registry / Buf.
  • Stream processing — Kafka or Redpanda topics for raw, normalised, and derived events. Real-time enrichment (vehicle metadata, station context, GIS) via Kafka Streams or Flink. Anomaly streams branched out for the analytics layer.
  • Time-series storage — TimescaleDB or ClickHouse for high-cardinality, high-volume tabular telemetry. Partitioning by vehicle / pack / day; continuous aggregates for cheap rollups.
  • Hot lookup — Redis or DynamoDB for last-seen / last-state queries from operator dashboards.
  • Cold storage and analytics — Parquet on S3 with Apache Iceberg for ad-hoc analytics in Spark / Trino / Snowflake.

Engineered for the EV use case

Battery telemetry has very specific characteristics: bursty connectivity, high event cardinality (thousands of points per pack), strict timing requirements for fault detection (sub-second), and a long tail of OEM-specific frame formats. Our reference architecture is tuned for that — we have shipped versions of it at multiple scales and have a written playbook for migrating from a vendor-managed black box to a stack you own.

Frequently asked

If we have access to a frame specification or a pack we can capture from, yes — we have built decoders for over a dozen vendor dialects. If the protocol is fully closed, we can negotiate access alongside you, or work with your OEM through their integration team.

Related services