Platform · Vehicle data and receivers

Every source, one vehicle record.

Vehicles reach c.technology three ways: vendor clouds and devices push over HTTP, IoT hardware connects over TCP, and the owner's phone forwards what the vehicle sends over Bluetooth. Everything lands in one record per vehicle, with one current status and one history, and every role and every API reads that record.

One shared base, with your additions on top.

Every vehicle reports the same core, so every screen, report and API works for all of them. What only your vehicles know is added on top, by industry, protocol or manufacturer.

Shared base · every vehicle

The status every vehicle has

Same fields, same units, whether it is a boat, a motorcycle or an e-bike. Charge or fuel, depending on the drive.

  • Late data goes to history, never over the present
  • Each field permissioned on its own

Demo Motorcycle 1 · demo data

  • StatusParked at home
  • Position47.37° N, 8.54° E
  • GPS qualityGood · 11 satellites
  • IgnitionOff
  • LockedYes
  • Charge or fuel level62 %
  • Range81 km
  • 12 V battery12.9 V, steady
  • Odometer80,392 km
  • Last update10:38 · kept for every field on its own
Addition

Industry-specific

What a boat knows that a motorcycle does not, and the other way round.

  • Depth marine
  • Water sensors marine
  • Additional GPS marine
  • Engine data marine
  • Motor temperature light EV
Addition

Protocol-specific

Read straight from the vehicle's bus, in its own terms. Field by field ↓

Addition

Manufacturer-specific

Your own data points, from your ECU or battery system, mapped during setup.

  • Battery measurements
  • ECU values
  • Your own fields

Every source pushes. Nothing is polled.

Three receivers today, Kafka and MQTT next. A new source is a new receiver, our adapter for it, and nothing above it changes.

  • Live

    HTTP push

    Vendor clouds such as Bosch Mobility, your own backend, our devices.

    Each upload carries a signed token

  • Live

    TCP direct

    IoT hardware in the vehicle, over its own SIM. Nine device models decoded.

    Common telematics protocols, or your own

  • Live

    The owner's phone

    Vehicles that talk Bluetooth. The app forwards, and adds the phone's position.

    Offline cache on the phone, replayed in order

  • Coming

    Kafka to Kafka

    You already run a data platform. Your Kafka topics stream straight into ours.

    Topic to topic, nothing in between

  • Coming

    MQTT

    Devices and brokers that publish over MQTT, the usual language of IoT hardware.

    Your devices or your broker publish to ours

Everything lands in

One record per vehicle

Every role and every API reads one current status and one history.

What we read

Data arrives bus by bus, field by field.

Your device, your supplier's, or one of ours. Want to know exactly what comes off the bus? The field list in the documentation ↗

Position

  • Latitude and longitude
  • Altitude
  • Speed
  • Heading
  • Satellites
  • Fix quality (PDOP, HDOP)
  • Movement
  • Odometer

Power

  • Vehicle battery voltage
  • Device battery voltage
  • Device battery current
  • Sleep mode

Inputs and outputs

  • 4 analog inputs
  • 5 digital inputs
  • 4 digital outputs
  • The event that sent the update

Network and sensors

  • Mobile signal
  • Mobile operator
  • Up to 4 Bluetooth sensors: temperature, humidity, battery

Engines, up to 6

  • Engine speed
  • Oil pressure
  • Oil temperature
  • Oil level
  • Engine temperature
  • Coolant pressure
  • Fuel pressure
  • Fuel rate
  • Alternator voltage
  • Engine load
  • Engine torque
  • Engine hours
  • Status flags 1 and 2

Batteries, up to 8

  • State of charge
  • State of health
  • Time remaining
  • Battery type
  • Voltage
  • Current
  • Temperature
  • Capacity (Ah)
  • Charger state

Tanks, up to 4

  • Fluid type
  • Level
  • Capacity

Depth and weather

  • Water depth
  • Transducer offset
  • Water temperature
  • Wind speed
  • Air temperature

Up to six engines, eight batteries and four tanks, each with its own instance. Proprietary PGNs, we scope with you.NMEA 2000 in the docs ↗

Engine

  • Engine speed
  • Load at current speed
  • Actual torque
  • Coolant temperature
  • Coolant pressure
  • Oil level
  • Oil pressure
  • Oil temperature
  • Fuel temperature
  • Intake air temperature
  • Intake air pressure
  • Intake manifold pressure
  • Intake manifold temperature
  • Charge air cooler outlet
  • Throttle valve position
  • Wastegate position
  • EGR valve position
  • Injector rail pressure
  • Exhaust temperature
  • Barometric pressure

Fuel and hours

  • Fuel rate
  • Fuel level 1 and 2
  • Total fuel used
  • Idle fuel used
  • Average fuel economy
  • Engine hours
  • Idle hours
  • Total revolutions
  • Water in fuel

Aftertreatment

  • DEF tank level
  • DEF tank temperature
  • Urea concentration
  • Urea level
  • DPF status
  • DPF active regeneration
  • Regeneration inhibited
  • DPF intake temperature
  • DOC intake temperature
  • SCR intake temperature
  • SCR system state
  • SCR inducement active

Vehicle and electrics

  • Distance, high resolution
  • Selected gear
  • Accelerator pedal
  • Brake pedal
  • Battery voltage
  • Alternator current
  • Charging voltage
  • Keyswitch voltage
  • Ambient air temperature
  • Cargo temperature
  • VIN
  • Active error codes
  • Distance with MIL on

Read today through Bosch Mobility's C-Hub. Your own J1939 source connects the same way.

Driving

  • Vehicle speed
  • Throttle position

Engine

  • Engine speed
  • Engine load
  • Oil temperature
  • Coolant temperature
  • Intake air temperature

Fuel and battery

  • Fuel level
  • Fuel rate
  • Fuel pressure
  • Hybrid battery life

Electrics and faults

  • Control module voltage
  • Ambient air temperature
  • Fault codes (DTC)

On the Teltonika FMC001/003, plugged into the vehicle's OBD port.

Driving

  • Speed
  • Engine speed
  • Accelerator pedal
  • Total mileage
  • Mileage, counted

Fuel and power

  • Fuel level (%)
  • Fuel level (litres)
  • Fuel consumed
  • Fuel consumed, counted
  • Battery voltage

Alerts and states

  • Unplug alert
  • Towing alert
  • Control state flags
  • Security state flags

Your own signals

  • 20 raw frames: CAN ID, 8 data bytes, age
  • 8 decoded values of your choice

Your protocol does not need to be a standard: we read your frames as they are and decode them in our adapter.

Riding

  • Speed
  • Throttle position
  • Front brake
  • Rear brake
  • Drive mode
  • Powertrain state
  • Ignition
  • Motor speed
  • Torque current
  • Max available power
  • Recuperation allowed

Vehicle

  • Total distance
  • Estimated range
  • Kickstand
  • Kill switch
  • Handlebar lock
  • Top case sensor
  • Malfunction indicator
  • Firmware version
  • Serial number

Battery pack

  • State of charge
  • Remaining capacity
  • Full charge capacity
  • Part charge capacity
  • Charger plugged in
  • Time to full
  • Time to empty
  • Max charge current
  • Max discharge current
  • Pack voltage
  • Pack current
  • Pack state
  • Lowest and highest cell voltage
  • Lowest and highest temperature
  • Voltage mismatch
  • Batteries recognised, active, faulty
  • Swap level

Each battery, up to 2

  • Voltage
  • Current
  • State
  • State of charge
  • Temperatures
  • Power stage temperature
  • Remaining capacity
  • Error codes

Seven formats decoded today, each built for one manufacturer or supplier: from an electric outboard's full drive and battery set to a supplier's track-and-trace status. Yours gets its own, mapped onto the record during setup.

Talk to us about your supplier →

Out of spreadsheets, into one database for good.

Your model range, your parts, your vehicles, your error codes, your maintenance plans, your partners. Today they live in your ERP, in PDFs and in Excel sheets. We bring them in during setup, as they are.

Today

  • PDFModel range 2026.pdfSales brochure
  • CSVerp_export_vehicles.csvFrom your ERP
  • XLSXBill of materials v12.xlsxEngineering
  • XLSXError codes_FINAL_2.xlsxShared drive
  • PDFService booklet EN.pdfPrinted, in the glovebox
  • XLSXDealers DACH + IT.xlsxSales team

In c.technologyOne database · audited

  • Model range

    Your categories, families and types, the way you sell them.

    Category Family Type

    from Model range 2026.pdf

  • Parts

    What goes on each type, tied to the firmware it runs.

    Part Firmware

    from Bill of materials v12.xlsx

  • Vehicles

    Every vehicle you built, with its VIN and your ERP id.

    VIN ERP id Type

    from erp_export_vehicles.csv

  • Error codes

    Every code any of your types can throw, and what it means.

    Code Meaning Type

    from Error codes_FINAL_2.xlsx

  • Maintenance plans

    Intervals and tasks per type, from the booklet to the screen.

    Interval Task Type

    from Service booklet EN.pdf

  • Partners

    Importers, distributors, dealers and service partners.

    Role Market Vehicles

    from Dealers DACH + IT.xlsx

  • Your own fields

    Anything else you keep, on any of the above.

    Any field Any metadata

    you name it

  • AuditedEvery change is logged, with who made it and when.
  • Kept for goodNothing lives on a laptop or a shared drive any more. It stays, for as long as your vehicles run.
  • Built to fitThe base every manufacturer needs is there. Anything only you keep is added as your own fields.

Your ERP id stays on every level, so both systems keep talking. One vehicle can carry more than one maker's type, the engine maker's and the boat builder's, each seeing its own.

Out over REST and a live stream.

The same record and the same permissions as every screen, for your own systems.

Everything comes from

One record per vehicle

Read with the permissions of whoever asks. Nothing else.

  • Live

    REST API

    Every vehicle, its status and history, your master data. Versioned, with a full OpenAPI reference.

    GET /api/v2.2/vehicle/{id}/status
  • Live

    Live stream

    Everything stays in sync. A change reaches you the moment the vehicle reports it.

    wss api.ctechnology.io/vehicle/status
    {"latitude": 47.37, "speed": 0, …}
  • Live

    History

    Any fields over any period: as CSV over REST, a month per request, or the whole database as a dump.

    CSV over REST · database dumps

  • Coming

    Webhooks

    We call your endpoint when something happens on a vehicle, instead of you asking.

    Your URL, the events you choose

API keys are scoped to an organisation or to one vehicle. A stream is re-scoped the moment a permission changes.

The c.technology fabric

The same API reaches every vehicle a key has been granted, whichever manufacturer built it. Your own systems, a multi-brand dealer, a mixed fleet and an AI agent all use it. It uses one format and one key, with the permissions of whoever asks.

We distribute it. The vehicle applies it.

A rollout per part, confirmed per vehicle. Two ways to the vehicle: over its own connection, or through the owner's app. We host and serve the file, we never flash a control unit.

  1. Uploaded

    You

    Upload

    A firmware file with its version, for one part.

  2. Switched on

    You

    Target

    The part and the vehicle type, then switch the rollout on.

  3. Served

    Us

    Serve

    Its own modem

    The vehicle fetches the file from our API, with a key bound to that vehicle.

    Out of the box
    The owner's app

    No modem: your app carries the file over Bluetooth.

    With enterprise
  4. Applied

    Vehicle

    Apply

    The control unit applies it and reports back. You see which vehicles have.

    Display 3.4.0

    1,201 applied · 83 not yet · demo data

The Bluetooth path runs in your own app, with your vehicle's Bluetooth protocol built in. Pricing →

Not sure which hardware to use?

We advise you and help you choose the right device, whatever your vehicle and your use case.

Official hardware partners, with example devices

  • Bosch
    • Connectivity Hub (C-Hub)
    • Track and Trace
  • Astra Telematics
    • AT241
    • AT242
    • AT300
  • Teltonika
    • FMC650
    • FMC003
    • FMC230
  • Comodule
    • Master

And more. These are examples, not a list to choose from. If your device speaks one of the common telematics protocols, it connects. Ask us about hardware →

Asked by engineering.

We already have a telematics supplier. Do we have to change it?

No. If your supplier's cloud can push, it becomes a receiver. If your device uses one of the common telematics protocols, it connects over TCP. Nothing above the receiver changes when a source is added.

Can our engineers read the raw data?

Yes, through the API, with the same permissions as everyone else: live over the WebSocket stream, or any fields as CSV, a month per request.

Do you offer MQTT or webhooks?

Not yet. MQTT is coming as a way in, next to Kafka. Data comes out over REST and a live WebSocket stream. Outbound webhooks are on the roadmap.

What does a vehicle type change?

What the screens show first, the thresholds for alerts and when a vehicle counts as offline, and which fields it fills. The record, the APIs and the permissions stay the same.