KairosEngineering
KAN_1 · the product

A CAN logger for the ZD8.

High-rate engine and chassis data off the factory bus of a gen-2 GR86 / BRZ, logged to its own SD card with GPS time on every sample — so it drops straight onto your GoPro footage.

CarZD8 only
Board revC
First batch5units
PriceNone yet
No boards exist yet. The first five are hand-built and none have been ordered — there is no price, no pre-order and no cart. Say plainly that the list at the bottom is the whole mechanism for finding out whether anyone else wants one.
The idea01

Your logger can't see gear, throttle, brake or steering. Your car broadcasts all four.

A GPS logger measures where you were and how fast. It infers everything else, and it cannot infer driver input. KAN_1 reads the ZD8's factory CAN bus and records the same values the ECU sees, at rate, with GPS UTC stamped on every sample so the file lines up with video to about one frame.

Which of the three modes is the one you'll really use, why the lap time is a bonus rather than the pitch, and that the raw file stays yours either way — no account, no cloud, no export to fight for.

Modes02

Three modes, one device.

Two of the three are planned, not built. The status table says exactly which.

Mode 01 · the main one

Standalone

CAN + GPS to its own microSD. No phone, no app, no pairing, nothing to remember. Turn the key, drive, pull the card.

Mode 02 · the output

Overlay

Your lap with gauges on it, in the browser, free — open the overlay. Nothing uploads. Live now, running on real ZD8 data.

Mode 03 · the upgrade

RaceChrono

Feeds RaceChrono as a CAN source over BLE, using its published DIY device API. Proper lap timing, your engine channels in the same session.

Scope03

What it does, and what it doesn't.

Written before the marketing copy, so the second column is as long as the first.

Does

  • Reads the factory CAN bus and decodes it to engineering units — the same numbers the ECU is working from, not a sensor's guess at them
  • Logs to its own microSD card, with GPS UTC on every sample
  • Runs with no phone in the loop — no app, no pairing, no battery to go flat mid-session
  • Gives you a plain CSV. Unencrypted, no account, no cloud, no export queue
  • Physically cannot transmit onto your car's bus — how that is guaranteed
  • Plugs into the OBD2 port through a harness. No splicing, and it comes back out

Does not

  • Time laps to competition accuracy. Around ±0.1 s — fine for comparing your own laps, not for arguing with a transponder
  • Beat a RaceBox or an AiM at lap timing. That is what mode 03 is for
  • Fit anything but a gen-2 GR86 / BRZ (ZD8). Not the ZC6, not a WRX, not yet
  • Tune, flash or change anything. It only listens
  • Have a screen, buttons, alarms or gauges. It has no settings
  • Exist yet. The status table is the honest version
Trust04

It can't talk to your car.

The reason to be comfortable leaving it in your OBD2 port.

The transmit line is cut in copper, not in firmware.

JP1 is an open solder jumper in series with CAN TX. With it open — which is how it ships — there is no conductive path from the logger onto your car's bus. A pull-up on the transceiver side holds the line recessive, so an unpowered or crashed board cannot drag the bus down either. The transceiver's standby pin is hard-tied to ground, so there is no software route to silence it in either direction.

The argument, in your words. The free DIY builds ship with a genuinely alarming disclaimer about data corruption, dash warnings and loss of vehicle control — and those warnings are fair, because a device that can transmit can transmit at the wrong moment. The usual fix is to promise the firmware won't. Land the difference between a promise and a gap in a trace, and that this one is deliberately the one you can undo yourself with an iron.

Channels05

Twelve channels, decoded and audited.

From a real Queensland Raceway session — LOG0009. Open the data review and scrub them against the track map. It is the same data, not a mock-up.

Engine_RPMrpm
Speedkm/h
Accelerator_Pos%
Brake_Pos%
Gearselected
Steering_Angledeg
Yaw_Ratedeg/s
Lat_Accelg
Long_Accelg
Coolant_Temp°C
Oil_Temp°C
Fuel_Level%
SessionLOG0009
Samples5,496@ 10 Hz
CAN ↔ GPS0.9994r
Lag−0.1s

The full ZD8 signal list, with IDs and scaling, gets published here as its own page.

Status06

State of play.

Updated 2026-08-15. Anything unbuilt says so, including on the page meant to sell you something.

ItemStateDetail
ZD8 CAN decode Done Twelve channels, audited, from a real track session at Queensland Raceway.
GPS ↔ CAN time sync Done Aligned on UTC at r = 0.9994, lag −0.1 s — about one video frame at 30 fps. This is the strong claim on the page.
Overlay renderer Done The gauges on the overlay tool come out of it.
Browser tools Live Data review and overlay. Free, no signup, nothing uploaded. Free permanently, not free-for-now.
KAN_1 board Rev C Design and a full pre-fab review are complete — power, RF, layout and BOM, forty change items closed. Not yet ordered. None in hand.
Firmware Not built Pin map, CAN over SPI, GPS at rate, SD logging. Starts when the boards land.
RaceChrono BLE mode Planned The API is published and there are working ESP32 implementations to follow. It is not written, and iOS support is not yet verified.
Enclosure Open Not chosen. Honest gap.
Price None Doesn't exist. The first five are a market experiment, not a launch.
Accuracy07

Two accuracy claims that must not be confused.

One is strong and it is the one the product rests on. The other is deliberately hedged.

ClaimWhat it needsWhere it stands
UTC sync, for video ~33 ms (1 frame) Strong. Measured at r = 0.9994 against a RaceBox over a full track day. The 1PPS pin is broken out to a GPIO, which tightens it further once firmware uses it.
Lap time tenths, ideally hundredths Weak-ish. About ±0.1 s. A constant position error cancels between the two line crossings; what is left is a couple of metres of random along-track error, which is ~50–75 ms a crossing at speed. Good enough to compare your own laps. Not good enough to argue with a transponder.
Note what is not claimed: GPS update rate. Rate is the wrong axis — a RaceBox does 25 Hz for less money, and once you interpolate the line crossing, position accuracy is the limit anyway. The GPS is on this board for absolute time and position, so the CAN file is self-sufficient. CAN is the differentiator.
The file08

The file is the product.

State the position: a log that technically contains everything but imports like garbage is worse than no product, which is why the export format has its own specification instead of being whatever the firmware happened to write.

It opens in what you already use

One clock for everything, GPS merged into the same file, both time_s and utc columns, engineering units, and a tested import profile per tool — RaceRender, StintBox, Telemetry Overlay, MoTeC i2.

Stated as intent, not as a feature: those import profiles are written into the export spec and have not been verified against each tool yet. When they are, each gets its own page saying so.

The tools stay free and local

Nothing you load into the browser tools leaves your machine — there is no server to send it to, which is also why they cost nothing to keep free.

The CSV is unencrypted and unversioned. No account, no cloud, no export queue.

Fitment09

What you'd need.

Nothing exotic, and nothing bolted on at checkout.

ItemNote
A gen-2 GR86 / BRZZD8, 2022 on. The only car the decode is built for.
The harnessPlugs into the OBD2 port. Included in whatever the price turns out to be.
A microSD cardOrdinary card. Intended to ship with one.
A GPS antennaActive, magnetic mount, on the roof or the parcel shelf. Intended to ship with one.
A cameraOptional, but the overlay is the point. Any camera — sync is on UTC, not on a clap.
RaceChronoOptional. Only if you want mode 03 and proper lap timing.

Want one of the first five?

It's a list, not a pre-order — no payment, no obligation, and you won't be asked for money for hardware that doesn't exist. One email when there are boards in a box. Say what a bigger batch depends on, and that nobody signing up is a useful answer too.