My Self-Driving G-Wagon

Work log of a 2011 Mercedes-Benz G55 AMG (W463, M113K 5.4 L supercharged V8, 722.6 five-speed) and comma.ai's openpilot driving models. Since December 2025 both CAN buses have been decoded, comma's driving model put on the truck's own cameras, the transmission moved to open-source firmware and the engine ECU patched to take a torque request.

on the truck: N16 at 20 Hz, 32.5 ms a stepECU: torque request at 50 Hz, checked key on, engine offcruise: SET+ accepted 7 of 7steering: none yetdecoded: 131 signals in 47 messagescomma releases tested: 19notes: 8commits: 3,154 since Dec 2025updated: 2026-11-06

The truckselect a number

The G55, side view, with what has been added to it Line drawing of a 2011 Mercedes-Benz G55 from the left side. Filled parts were added for this project; outlined parts are factory. Colour is the subsystem: blue perception and models, orange control and powertrain, aqua electrical and CAN. Numbers match the list below the drawing. 1 2 3 4 5 6 7 8 9 10

Perception and modelsControl and powertrainElectrical and CANaddedfactoryCAN-CCAN-B

What is on itall parts

#PartHardwareSoftware, rateSince
1Cameras addedELP AR0234 on an 8 mm lens; Arducam B0576 IMX662MJPEG, 20 fps recorded; one case on the sun-visor mount10-22
2Tablet addedGalaxy Tab Active5 Prodashboard v139, Kotlin and Compose; voice assistant11-05
3Gateway, Raspberry Pi 5 addedRaspberry Pi 5 on NVMeRust gateway; 62 signals decoded live; every frame on both buses10-26
4Jetson Orin NX 16 GB addedJetson Orin NX 16 GB, 2 TB NVMeN16, TensorRT fp16, 32.5 ms a step; YOLO26s at 10 Hz; SegFormer-B0 at 5 Hz10-26
5Compute battery addedEco-Worthy 314 Ah LiFePO4, 4,019 Wh; Victron Orion-Tr 12/12-30Abattery and charger read over Bluetooth every 10 s10-26
6Engine ECU, Bosch ME 2.8.1 factoryBosch ME 2.8.1, Infineon C167, 512 KB flashstock code and calibration; torque request at 50 Hz, 100 ms watchdog; 10 Hz telemetry11-03
7Transmission, 722.6 five-speed factory722.6 with the Ultimate-NAG52 controllerfirmware V15: upstream dev with 5 G55 patches; live data at 10 Hz10-18
8Cruise control stalk factoryfactory stalk on the steering-column modulethe gateway's cruise controller; SET+ accepted 7 of 710-29
9Steering factoryfactory hydraulic steering box, no motornothing steers yet; simulation onlyfactory
10CAN buses factoryCAN-C 500 kbit/s, CAN-B 83.3 kbit/s131 signals in 47 messages in the DBC files; 62 decoded livefactory

From the as-built record. Dates are 2026.

comma's releases on the truck's drivesnewest first; nothing ranked; newest f22e06e5

Against the release before it, paired on the same windows, interval clear of zero: ▼ lower▲ higherno separable changefirst on these windows. Every column is an error or a distance: lower is closer to what the truck did.

ReleaseFirst publicFamilyParams, MWhereOL lateral error
m/s², mean [95%]
CL path at 2 s
cm, mean [95%]
CL path at 7.2 s
m, mean [95%]
2° heading, 2 s
cm, mean [95%]
0.5 m offset, 2 s
cm, mean [95%]
f22e06e52026-11-05residual382.9Hugging Face0.18 [0.15, 0.19]14.1 [10.9, 17.1]2.46▲ [1.66, 3.46]48.1 [39.1, 59.6]25.4 [22.8, 28.1]
f22b8b342026-10-29residual382.9Hugging Face0.18▲ [0.15, 0.19]14.9 [11.4, 17.8]2.03▼ [1.36, 2.94]48.3▼ [39.2, 59.5]26.3 [23.8, 28.6]
6b5b705f2026-10-17residual382.9Hugging Face0.16▼ [0.14, 0.17]13.9 [10.8, 17.2]3.01▲ [2.03, 4.08]50.0 [40.7, 61.5]26.7 [23.9, 29.3]
N16 nav model 96244b1f2026-10-15residual393.67Hugging Face0.17▲ [0.14, 0.18]13.6 [10.0, 17.9]2.40 [1.50, 3.42]48.4▼ [38.5, 61.4]25.8▼ [22.8, 29.0]
MD v3 / Flip Flop 1365126a2026-10-14residual382.9master0.16▼ [0.13, 0.17]13.7 [10.9, 16.6]2.53▲ [1.66, 3.59]51.7▲ [42.5, 62.9]28.5▲ [25.9, 31.0]
Mountain Dew 8d7366832026-10-10residual382.9master0.16▲ [0.13, 0.18]13.2 [10.2, 15.8]2.05 [1.38, 3.04]49.2▼ [39.9, 60.5]25.8▼ [23.4, 28.2]
870a48232026-10-08residual382.9Hugging Face0.16▼ [0.13, 0.17]13.3▼ [10.7, 15.4]2.04 [1.38, 3.01]51.8 [42.3, 63.4]28.7 [26.3, 31.1]
Cinque v3 f78ed37d2026-09-18big-rl381.59master0.17▲ [0.14, 0.18]15.0▲ [12.4, 17.2]1.87 [1.44, 2.35]51.0▲ [41.4, 62.7]28.2▲ [25.2, 31.0]
Cinque v2 1a4211752026-09-11big-rl381.59master0.16 [0.14, 0.17]13.3▼ [10.7, 15.6]1.94 [1.45, 2.48]50.1▲ [40.4, 62.2]26.9 [24.3, 29.4]
lebowski2026-07-01lebowski876.48master0.17▼ [0.14, 0.18]17.0 [13.7, 20.3]1.98 [1.44, 2.54]45.3 [38.8, 53.7]26.7 [22.5, 30.2]
WMI2026-01-19vision-policymaster0.23▲ [0.20, 0.26]not runnot runnot runnot run
Dark Souls 22025-12-12vision-policymaster0.17 [0.14, 0.19]not runnot runnot runnot run
The Cool People's2025-10-20vision-policymaster0.17 [0.14, 0.18]not runnot runnot runnot run
North Nevada2025-10-09vision-policymaster0.17 [0.14, 0.17]not runnot runnot runnot run
Steam Powered2025-08-17vision-policymaster0.16▼ [0.14, 0.17]not runnot runnot runnot run
Filet o Fish2025-03-07vision-policymaster0.20▼ [0.16, 0.21]not runnot runnot runnot run
North Dakota2024-04-29supercombomaster0.21 [0.17, 0.23]not runnot runnot runnot run
Certified Herbalist2024-02-19supercombomaster0.22 [0.17, 0.23]not runnot runnot runnot run
Farmville2023-11-07supercombomaster0.21 [0.18, 0.22]not runnot runnot runnot run

open loop: 119 windows from 12 drives; closed loop: 98 windows from 13 drives; recovery: 100 windows from 14 drives. Intervals resample whole drives; the comparison is paired on the same windows. Hover a cell for the difference. results/<id>.json for every number.

FindingsPerception and modelsControl and powertrainElectrical and CAN 8 notes

DateFindingResultnGrade
11-04N16's frozen vision tokens do not replace a box detector2.7 % of vehicles, against 55.5 % for YOLO26srecorded drives, offlinemeasured
11-04Camera position moves where N16 holds the truck in its lane-0.97 m per m of camera shift135 windowssimulation
11-04A trained steering correction on N16 recovers more often in simulation+0.18 [+0.13, +0.33] recovery at 1.5 m44 windows, 3 drivessimulation
11-03The camera loop ran below 20 Hz because OpenBLAS threads spun17.7-18.8 Hz, then 19.91-19.92 Hz3 drives after the fixmeasured
10-31comma's models turn the wrong way first because of the base policy258 of 258pushessimulation
10-30After a push, N16 still encodes the truck's offset and headingR² 0.84-0.93 from the tokensheld-out sessionssimulation
10-29Teaching comma's world model to keep a sideways offsetroad gain 1.05 at 3 s; fine-tuned 1.24small test setssimulation
10-29A truck model learned from the G55's CAN predicts motion better0.29 m after 4 s, against 7.34 m12 held-out drivesmeasured

Open questionswhat decides the next step

QuestionBlocksSettled by
Does the ESP take SET−, RESUME and CANCEL from the gateway?full cruise controla parked test on the truck
Does the ESP relay a braking request from the gateway?braking with no new hardwarea parked test, then a road test
How hard does factory cruise brake, and does it fade on a descent?longitudinal safetymeasured descents
Does a donor electric column fit between the steering column and the centre joint?the steering actuatorone measurement on the truck
What torque does the steering take at the rim, stationary and rolling?the steering torque budgeta measurement on the truck
Is the closed-loop renderer valid at night?every night resultthe world model's geometry check, day and night apart
Does a reward-trained N16 recover from pushes more often on held-out drives?training inside comma's modelthe locked test and a fresh evening

Logall

DateKindWhat
11-06test changeThe site is renamed My Self-Driving G-Wagon and moves to https://my-self-driving-g-wagon.drose.io; openpilot-gwagon-evals.drose.io redirects there.
11-06test changeThe Signals page lists every message in the DBC files, the steering-column message the gateway sends for cruise control included; the build no longer refuses command frame IDs.
11-06test changeThe site is dense: one front page with the truck's parts and what is on each, every release's G55 results with intervals in one table, the findings, the open questions, the log, the signals and a glossary.
11-06test changeThe site is a log of the G55 work.
11-05releasef22e06e5 uploaded to Hugging Face
11-05tested1 model scored, suite geval-1
11-05test changeThe site follows the releases over time instead of reporting one snapshot: a timeline of every release by model family, a feed of releases, test runs and test changes (also as RSS), one page per test with every release's 95% interval, newest first, and one page per release.
11-04noteN16's frozen vision tokens do not replace a box detector
11-04noteCamera position moves where N16 holds the truck in its lane
11-04noteA trained steering correction on N16 recovers more often in simulation
11-03noteThe camera loop ran below 20 Hz because OpenBLAS threads spun
10-31notecomma's models turn the wrong way first because of the base policy
10-31tested9 models scored, suite geval-1
10-31test changeThe site is a plain results report: one table per test, each model's mean with its 95% interval and its median, newest release first.

Signalsall 131

SenderBusSignals
ESPCAN-C18
SAM_VCAN-B16
SAM_HCAN-B15
EZSCAN-B13
TCUCAN-C11
ECUCAN-C9
MRMCAN-C9
UNKNOWNCAN-C8
DOOR_FLCAN-B7
ZGWCAN-B5

82 measured; the rest not yet labelled in the DBC. One truck, not a Mercedes specification.

Since December 20253,154 commits

DJFMAMJJASON
  • The engine ECU runs patched firmware that accepts a torque request on CAN.
  • The gateway drives the factory cruise control over CAN.
  • Every new comma driving model is tested on the truck's drives as it is released.
  • The transmission runs a custom Ultimate-NAG52 firmware build; the object and free-ground models run beside the driving model.
  • A closed-loop simulator built from the truck's recorded drives.
  • comma's driving model runs on the Jetson at 20 Hz on the truck's camera.
  • The Jetson's first live camera detections, YOLO26 on TensorRT.
  • The in-car gateway designed: a Raspberry Pi on both CAN buses and the engine ECU's K-line.
  • CAN-B identified as fault-tolerant CAN and the bus adapter chosen; the Ultimate-NAG52 transmission controller ordered.
  • The project's repository starts.

Release timelineevery comma release by model family

One networksupercombo
Vision + policytwo networks
lebowski877M encoder
Big RLno correction head
RL residualbase + learned correction
Not scoredno usable file
Be Right Here (big), not scored hereBIG RL, not scored here
202420252026AugSepOctNov

shipped in an openpilot releaseon openpilot masteron Hugging Face onlynewestnot scored here

Swipe the timeline sideways for earlier releases.

Glossary

N16 comma's driving model 96244b1f_12800 (N16 nav), 406M parameters, with navigation inputs. The model on the truck.

push the simulated truck moved 1.0 or 1.5 m sideways off its recorded path; the model must bring it back.

recovery the share of pushes the model returns from: back within 0.3 m for 1 s, inside a safe corridor, still moving.

bench8 the closed-loop simulator built here: the model steers a simulated G55 while the camera view is redrawn from recorded frames.

open loop (OL) the model watches a recorded drive; its requests are compared with what the truck did next.

closed loop (CL) the model drives a simulated G55 in comma's world model; scored by distance from the driver's recorded path.

worldmodel-4B comma's video model that draws the next camera frames for a given motion.

residual a small learned correction added to a frozen model's steering output.

window a stretch of a recorded drive used as one test case. Intervals resample whole drives.

KOEO key on, engine off: ignition in position 2.

CAN-C, CAN-B the W463's powertrain and chassis bus (500 kbit/s) and its fault-tolerant body bus (83.3 kbit/s).

Ultimate-NAG52 an open-source replacement for the 722.6 transmission's EGS52 controller.