OBD data
OBD data · our own work, not from GAC's manuals

OBD data: build your own logger

Three builds, from everything to the cheapest. Most people should start with Standard: always on, all the same data as Pro except GPS, for under Rs 10,000. Each comes in two versions: a CAN chip wired to an OBD plug (three wires: the cheapest and the fastest) or a Bluetooth adapter (no soldering, costs more). All three use an ESP32-S3 board, and our firmware will cover all three. Everything is plug-in: nothing in the car is cut or rewired. This is educational material, shared as it is: build it at your own risk.

Pick a build
ProOur build

Always on, from anywhere, with GPS

  • ■ Logs every drive
  • ■ Charging, logged automatically
  • ■ 12 V battery watch, early warning
  • ■ Away from home (4G)
  • ■ GPS

Parts: ESP32-S3 + 4G board, OBD splitter, OBD → 5 V adapter and a data SIM, plus a CAN chip and an OBD plug (3 wires) or a Bluetooth adapter (no soldering).

CAN chipUS$ 67 + SIMRs 24,769
BluetoothUS$ 87 + SIMRs 31,702

Parked draw: ≈ 30–45 mA, 19–28 days · our firmware: yes

StandardRecommended

Always on; syncs when the car is home

The best place to start: it records everything the Pro build does except GPS, for under Rs 10,000 with the CAN chip. The only difference: no live data while the car is away; it all syncs when the car gets home.

  • ■ Logs every drive
  • ■ Charging, logged automatically
  • ■ 12 V battery watch, early warning
  • □ Away from home (4G)
  • □ GPS

Parts: ESP32-S3 board, OBD splitter and OBD → 5 V adapter, plus a CAN chip and an OBD plug (3 wires) or a Bluetooth adapter (no soldering).

CAN chipUS$ 30Rs 7,879
BluetoothUS$ 50Rs 14,812

Parked draw: ≈ 25–30 mA, 28–33 days · our firmware: yes

Budget

Only while the car is on; syncs at home

  • ■ Logs every drive
  • □ Charging, logged automatically
  • □ 12 V battery watch, early warning
  • □ Away from home (4G)
  • □ GPS

Parts: ESP32-S3 board and a USB cable from the car's USB socket, plus a CAN chip and an OBD plug (3 wires) or a Bluetooth adapter (no soldering).

CAN chipUS$ 18Rs 4,348
BluetoothUS$ 38Rs 11,281

Parked draw: none: off with the car · US$ 10 with an old dongle as the plug · our firmware: yes

US$: a typical online price, delivered, rounded (October 2026). Rs: what we paid in Sri Lanka in October 2026. Draw: current on the 12 V side, mostly estimated. Days: until half of a 40 Ah 12 V battery is used (the manuals don't give the Aion's size). Bluetooth prices are for the Vgate iCar Pro 2S: cheaper Bluetooth LE adapters (about US$5–10) work too, but we can't vouch for their sleep, draw or speed.

Why always on: less to worry about

Worried an always-on reader will flatten the 12 V battery? It works the other way round. Parked, the reader draws only about 25–45 mA: about 10 Wh a day, under 3 % of the 0.38 kWh a day our parked car uses by itself, and the car tops its 12 V battery up from the main battery now and then. Meanwhile it keeps an eye on that battery for you:

Both need always-on power: the Pro and Standard builds. The Budget build switches off with the car, so it sees neither.

All six side by side
RoutePriceSpeed12 V watch + chargingAway from homeGPSWiringParked drawOur firmware
A Budget · CAN chip
CAN chip + plug · car USB
US$ 18
Rs 4,348
≈ 87/s□ no□ no□ no3 wiresnone: off with the carTested on our car
B Standard · CAN chip
CAN chip + plug · splitter + 5 V adapter
US$ 30
Rs 7,879
≈ 87/s■ yes□ no□ no3 wires≈ 25–30 mA · 28–33 daysTested on our car
C Budget · Bluetooth
Vgate · car USB
US$ 38
Rs 11,281
14–50/s expected□ no□ no□ nonone≈ 3 mA · 278 daysCar test to come
D Standard · Bluetooth
Vgate · splitter + 5 V adapter
US$ 50
Rs 14,812
14–50/s expected■ yes□ no□ nonone≈ 26–31 mA · 27–32 daysCar test to come
E Pro · CAN chip
4G board · CAN chip + plug · splitter + 5 V adapter · SIM
US$ 67 + SIM
Rs 24,769
≈ 87/s■ yes■ yes■ yes3 wires≈ 30–45 mA · 19–28 daysOn our car, 4G SIM to come
F Pro · Bluetooth
4G board · Vgate · splitter + 5 V adapter · SIM
US$ 87 + SIM
Rs 31,702
14–50/s expected■ yes■ yes■ yesnone≈ 31–46 mA · 18–27 daysCar test to come
G USB adapter (advanced)
GODIAG + powered OTG cable · car USB
US$ 39
Rs 1,800 + parts
≈ 28/s□ no□ no□ nononeunknown: the adapter never sleepsTested on our car

Parked draw: the reader, the CAN chip or Bluetooth adapter and the 5 V adapter's own loss, estimated (details under Power below). The Budget builds draw nothing from the reader while parked because it switches off with the car (a Bluetooth adapter stays in the port, asleep).

Our build

Ours today is the Pro build with the CAN chip: the ESP32-S3 + 4G board, an OBD splitter in the normal port, the OBD → 5 V adapter for always-on power, and our own CAN plug with pin 16 pulled out. GPS works; it uses home Wi-Fi until the SIM goes in. Photos of it to come.

Where it started the Budget build, temporary

An ESP32-S3 DevKitC with an SN65HVD230 CAN module taped to its back, and an old OBD dongle with its electronics removed as the plug (three wires soldered to its pins 6, 14 and 5), running from the car's USB socket.

ESP32-S3 board and an emptied OBD dongle used as the plug
The SN65HVD230 CAN module taped to the back of the ESP32-S3 board
Where to run the collector

The reader keeps hours of logs and shows live values on its own pages. To keep everything, see trips and charts, and feed Home Assistant, run the collector (see the logging set-up): a small Python program and a PostgreSQL database, both in Docker. It runs on almost anything, at home or on a cloud server you run.

WhereCostNotes
Reader onlyfreeThe reader's own pages show live values, the car view and fault codes, over its hotspot or your Wi-Fi. Logs stay on it (about 10 MB) until you download them.
Home server or NAS with Dockerfree, if you have oneRecommended. Runs the collector, its database and Home Assistant next to everything else.
Used office PC (6th-gen Intel or newer: Lenovo ThinkCentre, Dell OptiPlex)≈ US$30–60 once (Rs 10,000–20,000), about 10 WCheaper and faster than a Raspberry Pi, with a real disk: runs the collector, the database and Home Assistant. A Raspberry Pi works too, but costs more once you add a power supply and an SSD.
Old laptopfree, 10–20 WHow we started: an old laptop with a broken screen and the battery taken out, running Linux. It grew into a full home server. Take the battery out.
A cloud server you runfree (Oracle Cloud Always Free, Google Cloud e2-micro) or a small VPS, about US$4–5 a monthWorks with every build: the reader pushes to it over HTTPS, from home Wi-Fi or over 4G, so you need no computer at home. Container-only free hosts sleep and keep no disk, so the database must live elsewhere, and small free databases fill in about a month. Free tiers change without warning: check the current terms first.

We don't run a hosted service: your car's data stays on a machine you control.

A question for you

Don't want to run a computer at home? Would you like a hosted version: plug in the reader and see your car's data in a web app?

Need help? If you're reading this, you probably found it through the Aion V owners' WhatsApp group: you'll find me there.

Parts we bought

Common parts sold by many shops; no links, no recommendation of a seller. Photos: the sellers' product photos, logos removed.

Vgate iCar Pro 2S (Bluetooth LE)
Vgate iCar Pro 2S (Bluetooth LE)
Adapter in the OBD port; the reader talks to it over Bluetooth.
Price: US$ ≈ 30 · we paid Rs 9,481. Draw at 12 V: ≈ 34 mA working, ≈ 3 mA asleep (maker's figures).
Alternatives: OBDLink CX, or any ELM327 that does Bluetooth LE. Cheaper ones (about US$5–10) work too, but we can't vouch for their sleep, draw or speed. Many cheap ones are Bluetooth Classic only: those need a classic ESP32, not an S3.
ESP32-S3 DevKitC-1 N16R8
ESP32-S3 DevKitC-1 N16R8
The reader: Wi-Fi, Bluetooth LE, USB host, 16 MB flash, 8 MB PSRAM.
Price: US$ ≈ 8 · we paid Rs 1,800 (local shop). Draw at 12 V: ≈ 45 mA working, ≈ 20–22 mA parked.
Alternatives: Any ESP32-S3 board (USB host is only on the S3). A plain ESP32 or an ESP32-C3/C6 can do Bluetooth or CAN too, but has no ready-made firmware from us (source only); the plain ESP32 also does Bluetooth Classic.
ESP32-S3 + A7670E 4G board
ESP32-S3 + A7670E 4G board
The reader with 4G (LTE Cat-1, 2G fallback), GPS and microSD.
Price: US$ ≈ 45 + shipping · we paid Rs 18,690 (AliExpress, delivered). Draw at 12 V: ≈ 90 mA working, ≈ 25–37 mA parked.
Alternatives: SIM7670G version (more bands), separate modem boards on an ESP32's serial port, LilyGO T-A7670 boards (classic ESP32, no USB host). Check the bands your SIM uses (see 4G below). Ordered; not tested yet.
SN65HVD230 CAN module
SN65HVD230 CAN module
CAN chip: remove its 120 Ω resistor (marked 121).
Price: US$ ≈ 2 · we paid Rs 275. Draw at 12 V: ≈ 2 mA.
Alternatives: Adafruit CAN Pal (TJA1051T/3): ±58 V on the bus pins, a silent pin and a termination switch. Avoid 5 V-only boards (TJA1050, MCP2551, MCP2515 modules) on a 3.3 V ESP32.
OBD Y-splitter (30 cm)
OBD Y-splitter (30 cm)
One port, two sockets: power cable in one, adapter or plug in the other.
Price: US$ ≈ 6 · we paid Rs 1,847. Draw at 12 V: none of its own.
Alternatives: Any 16-pin pass-through splitter; check with a meter that all 16 pins go through.
OBD → 5 V USB adapter with low-voltage cut-off
OBD → 5 V USB adapter with low-voltage cut-off
Always-on power from pin 16 (dash-camera type).
Price: US$ ≈ 6 · we paid Rs 1,684. Draw at 12 V: ≈ 3–6 mA (its own loss).
Alternatives: Dash-camera OBD power cables; branded ones let you pick the cut-off (11.6–12.5 V). Or an OBD pass-through with a USB charger built in (≈ US$22): one piece, but the cut-off and standby draw are rarely stated.
OBD plug with loose wires (30 cm)
OBD plug with loose wires (30 cm)
The plug: only pins 6, 14 and 5 are used.
Price: US$ ≈ 8 · we paid Rs 2,273 (AliExpress, delivered). Draw at 12 V: none of its own.
Alternatives: An old OBD dongle with its electronics removed (what we use), jumper wires into the back of a splitter, or a splitter cable cut open: anything that reaches pins 6, 14 and 5.
More detail and advanced options
Build your own four questions, every option, other boards, DIY power

Answer four questions, or pick each part yourself. Options that don't go together say what they would change; "show advanced options" adds the USB adapter, other boards, DIY power and car Ethernet.

Price against speed chart
00252550507575100100Price of the parts in the car, US$Reads per secondDirect CAN: the cheapest and the fastestmeasuredexpected (Bluetooth)ABCDEF
Speed = reads per second through each connection: measured on our car for the CAN chip (11–12 ms per read); the Bluetooth figure is the usual ELM327 range until our car test. The USB adapter (route G) measured 24–33 per second. Tap a route to load it into the builder.
The ways to connect CAN chip, Bluetooth, USB, car Ethernet
1. Direct CAN fastest · our main link

ESP32 + a CAN transceiver chip wired straight to the port's CAN pins. The ESP32 has a CAN controller built in (classic CAN, which is what the normal port uses).

Good
Fastest: 11–12 ms per read on our car, about three times quicker than the USB adapter. Cheapest, nothing in between, nothing that has to sleep.
Watch out
Wiring, and the ISO-TP framing and flow control in code (our firmware does it). Use pins 6 (CAN-H), 14 (CAN-L) and 5 (signal ground) only, never 16 (we pulled pin 16 out of our plug). Remove the 120 Ω resistor on the SN65HVD230 board (marked 121) or switch termination off: the car's bus is already terminated. The SN65HVD230's bus pins take only −4 to +16 V; the TJA1051T/3 (±58 V) is tougher. A transceiver with a silent pin lets the transmitter stay off except for your own requests.
2. Bluetooth adapter no wiring · car test still to come

ESP32 + a Bluetooth LE ELM327 adapter (Vgate iCar Pro 2S). The adapter plugs into the port; the ESP32 can sit anywhere in the cabin.

Good
No wires to the port, the adapter sleeps when the car is off, any ESP32 with Bluetooth LE works.
Watch out
ELM327 speed (about 20–70 ms per read). The adapter must do Bluetooth LE: many cheap ones are Classic only. Ask for a short Bluetooth connection interval or every read gets slower. Our firmware supports it; the first car test is still to come. The Vgate alone costs more than the whole direct-CAN route; cheaper Bluetooth LE adapters (about US$5–10) work too, but we can't vouch for their sleep, draw or speed.
3. USB adapter advanced · not recommended

ESP32-S3 + a USB ELM327 (GODIAG GD101) on the S3's USB-host port, through an OTG adapter. It logged our first drives; direct CAN replaced it.

Good
A wired link with no soldering.
Watch out
Needs an ESP32-S3 (USB host); the 4G board's USB port is taken by its modem. The board doesn't power USB devices by default: don't bridge it to power the adapter through the board, as that killed our board's input diode. Use a powered OTG Y-cable or 5 V on the 5V pin. The GODIAG needs raw frames (see how to read it), doesn't sleep, and on ours can need unplugging and replugging after power cycles.
Not tried: car Ethernet separate project

The normal port also carries Ethernet (pins 3, 11, 12 and 13, with a wake-up line on pin 8). An ESP32 with an Ethernet chip (a WT32-ETH01, or an S3 with a W5500) could in principle talk to the car that way (DoIP). We haven't tried it. The Ethernet chip adds a little draw, roughly 15–45 mA; the bigger unknown is the wake-up line, which may keep the car's gateway awake while parked.

Power car USB, always on, parked draw
  • The car's USB sockets switch off with the car, so a reader on them only records while the car is on: no charging sessions, no parked data. Fine for a build that syncs over home Wi-Fi. Not for 4G: a 4G reader is meant to be online all the time, so it needs always-on power.
  • For always-on: an OBD splitter plus an OBD → 5 V USB adapter with a low-voltage cut-off. Pin 16 is live all the time. Pick the highest cut-off on offer and measure what the set-up draws while parked.
  • When the car goes to sleep, our firmware only listens, and checks the 12 V battery about once an hour. The reader itself stays powered (about 25–45 mA, see below), so the adapter's cut-off is what finally protects the battery. Our car tops up its 12 V battery from the main battery now and then (the firmware logs each top-up); don't count on every car doing so.
  • A DIY 12 V-to-5 V converter only with a fuse at the plug, a TVS diode against voltage spikes, a converter rated well above 24 V input and a fire-resistant case.
Part, car parkedAt 5 VOn the 12 V side
ESP32-S3 (CPU running, Wi-Fi in power-save, Bluetooth listening 1 %)~30–40 mA~13–17 mA
CAN chip~5 mA~2 mA
4G modem, idle (Pro build; no SIM)~10–15 mA~5–6 mA
LEDs, regulators, memory chips~4–6 mA~2 mA
The OBD → 5 V adapter's own loss–~3–6 mA
Total, Pro build without a SIM~0.25–0.33 W≈ 25–35 mA
Build, parkedDraw at 12 VHalf of a 40 Ah battery
Standard≈ 25–30 mA28–33 days
Pro, SIM in, modem idle≈ 30–45 mA19–28 days
Pro, modem asleep (later firmware)≈ 28–35 mA24–30 days
Budgetnone: off with the car–

Estimates. Our USB power meter (1 W steps) agrees: it shows 0 W with an occasional 1 W blip, so the average is under about 0.5 W. The hourly car checks and parked GPS fixes add about 1–2 mAh an hour. A Bluetooth adapter adds about 3 mA asleep (maker's figure). Our car tops up its 12 V battery from the main battery now and then, so in practice the reader costs about 10 Wh a day from the main battery: tiny next to the 0.38 kWh a day the car itself uses while parked.

4G bands, SIM, data
  • An ESP32-S3 board with an A7670E 4G modem can send its logs over HTTPS wherever the car is, not only at home. It also has GPS (working on our car) and a microSD slot.
  • Check the SIM's bands. The A7670E covers LTE bands 1, 3, 5 and 8 (among others) plus 2G. In Sri Lanka that suits Mobitel and Hutch; the SIM7670G version adds more bands. LTE-M and NB-IoT modules need network support that may not exist where you live.
  • Use a data-only SIM with a small monthly pack: about 10 KB a minute while driving, compressed.