The app

Codriver

An Android app that reads your own car, keeps its history, and helps you decide what to do about what it finds. It works offline; the parts that need a connection say so and degrade quietly when there isn't one.

Drive mode

Dock the phone and it becomes the dashboard.

Turn the phone sideways and the three things you want while moving — music, the map, and the speed dial with its gear and engine readouts — sit on one screen you can read at a glance. Above them, a road rule for the moment: Rule 94 as you set off, and others as the drive goes on.

Music, map and speed dial. Range and coolant at the bottom right, straight from the car.
Codriver drive mode: music player, live map and speed dial reading 62 km/h in second gear

Music, map and speed dial. Range and coolant at the bottom right, straight from the car.

Where to? Saved places, sorted by distance, and the walk back to wherever you parked.
Drive mode: the Where to panel with Where I parked and saved places like Home, Work and Manda Hill

Where to? Saved places, sorted by distance, and the walk back to wherever you parked.

Nothing playing, and the map still knows where the car is.
Drive mode with nothing playing: map centred on the car and speed dial reading 78 km/h

Nothing playing, and the map still knows where the car is.

The camera panel, here in the red theme. It counts what it sees — ten on the road — and reminds you it is advisory only.
Drive mode in the red theme with the camera panel detecting ten cars on the road

The camera panel, here in the red theme. It counts what it sees — ten on the road — and reminds you it is advisory only.

Drive

What the car is doing, right now.

Live speed, revs, coolant temperature, fuel level and consumption, with plain-language health checks rather than a wall of numbers. Everything comes from documented, standard SAE J1979 parameters — no manufacturer-specific write commands are ever sent to your car.

When the adapter is not connected it says so, plainly, and tells you what went wrong. Nothing pretends to be live.

Live. Idling, with the range you last set.
Drive tab, live at 3 Hz: engine idling at 698 rpm, speed 0, shift indicator and fuel range of 186 km

Live. Idling, with the range you last set.

Offline, and honest about why.
Drive tab offline: adapter not connected, with the reason and a Connect adapter button

Offline, and honest about why.

Everything else is one swipe away.
The side menu: connect the adapter, drive mode, workshops, recordings, destinations, fault codes, parking assist, where I parked

Everything else is one swipe away.

Data

Every parameter, every code.

Every parameter your ECU supports, charted as it changes. Stored and pending fault codes with what they actually mean, freeze-frame data from the moment the fault was recorded, and emissions readiness — which matters the week before an inspection.

The code lookup covers the generic SAE set and the codes Mazda defines for itself. Anything it does not have, the assistant can translate.

Fourteen parameters polled, each with its own trace.
Live data: RPM, speed, load, throttle, coolant and battery voltage with sparkline charts, 14 parameters polled

Fourteen parameters polled, each with its own trace.

Scan for stored, pending and permanent codes.
Diagnostics tab with a Scan for codes button, fault codes panel and history

Scan for stored, pending and permanent codes.

Look up a code you saw somewhere else.
Code lookup: search a code or symptom against the fault code reference

Look up a code you saw somewhere else.

Garage

The car's history, kept for you.

Trips log themselves. Fill-ups become fuel economy measured full tank to full tank, which is the only way to measure it honestly. Service items track distance and time and tell you before they are overdue, never after.

Items badged Mazda carry the maker's own intervals and advice — which oil, where the filter is, how long the job takes.

The schedule, with the maker's own notes.
Garage service schedule: engine oil and filter badged Mazda every 10,000 km or a year, cabin filter, air filter, spark plugs

The schedule, with the maker's own notes.

Logging a service takes a moment.
Log a service sheet: item, date, mileage, cost, where and notes

Logging a service takes a moment.

A year of driving on one chart.
Garage timeline: monthly chart of distance driven, fuel bought and spent over a year

A year of driving on one chart.

Assist

Parking, cameras, and help when you need it.

A top-down parking view fed by your own ESP32 distance sensors, and live camera feeds from your own ESP32-CAM boards. Your hardware, your network — nothing goes through us.

The same tab holds the assistant, an emergency button that rings your contacts in the order you set, and the spot where you parked.

Sensors, the assistant, emergency, and where the car is.
Assist tab: parking sensors, ask the assistant, emergency help button and where I parked

Sensors, the assistant, emergency, and where the car is.

Music

What is on the phone, and YouTube, in one queue.

Audio files already on the phone and audio from YouTube, in one queue, playing in the background. Signing in with Google is optional and read-only: it exists so your own playlists appear in the list instead of you pasting a link at every journey.

Fifty-six tracks on the phone, searchable, shuffled if you like.
Music tab, Device view: 56 tracks on the phone with search, shuffle and add-to-queue

Fifty-six tracks on the phone, searchable, shuffled if you like.

The assistant

You can ask questions in plain words — "why is it drinking fuel", "is this code serious", "what does a P0420 actually cost to fix" — and get an answer that has your car's actual figures in front of it. Voice works while driving, hands on the wheel.

Your question is passed through our server to an AI provider and the answer comes back to your phone. The content of questions, answers and audio is not stored; only usage counts, so quotas can be enforced. That is spelled out in the privacy policy.

Finding a workshop

When a fault code comes up, Codriver can go straight from the code to the people who handle it — a lean-mixture code to diagnostics and fuel injection, a brake warning to brakes — nearest first. The same directory is browsable on this site, and it reads without an account so it works the moment the app opens.

Your records, on more than one phone

Everything works with no account at all: the records live on the phone and are yours. Signing in adds cloud backup and sync across your phones, the community rooms, and the assistant. There is a 14-day trial, and after that it is a subscription — ZMW 50 a month or ZMW 500 a year, paid by mobile money.

If you never sign in, none of your car's data reaches us. If you do, what is stored and what is never stored is listed item by item in the privacy policy.

What you need

  • An Android phone or tablet.
  • An OBD-II adapter — Bluetooth Classic, BLE or Wi-Fi — for anything that reads the car.
  • Optionally, your own ESP32 sensor or camera boards for the parking and camera views.

It was built and tested against Mazda's SKYACTIV range, and reads standard diagnostic parameters that any compliant car publishes.

Safety

Set the app up while parked. The parking view is a convenience, not a safety system — no failure detection, no redundancy, no certification. Displayed figures come from the diagnostic port at a few samples per second and can lag or drop out; the car's own dashboard is always the authority. Keep looking where you are going, and follow the road laws where you are.

Download Codriver