JimnyDash — an app in development
OBD2 + iPhone = JimnyDash
The factory gauge set in the Jimny is not enough. Traversing, for example, the Troll Road in Norway, my intuition tells me that the engine is heating up a bit more than usual. After stopping to contemplate the views - my nose tells me that too. There’s no oil temperature, no oil pressure, no inclinometer. And when you’re off-roading, you want to know what angle you’re standing at. Or lying. Depending on the angle.
Maybe that little TV that broke before I picked up my Jimny will redeem itself a bit?
A tale of failure: Suzuki put a Bosch multimedia system in the Jimny — a little TV with a 9-inch screen that runs Linux underneath. Linux! Open source, freedom, community, "just compile it bro" — in theory, it should be as open as a barn or the bedroom door of Marianna. So we go in, extract the firmware, and there’s AES-128. Boot image — encrypted. Partition with apps — encrypted. The startup logo you wanted to change to a Jeep sinking in mud — encrypted. The AES key is probably sitting in the ARM TrustZone or in a separate security chip, so even if you dump the NAND, you get a gigabyte of pseudorandom noise and dreams. The community on the forums? Five guys from Australia, three Japanese posting screenshots from IDA Pro with sad faces, and one Russian claiming he "almost" cracked the bootloader in 2023 and has been silent since. Bosch probably found him. The plan changed because I didn’t have much of a choice - although I haven’t said my last word.
ELM327 via Bluetooth
I bought an ELM327 adapter for an unbelievable 200 PLN. I thought it would be at least gold-plated, but it turned out to be normal - plastic. I plugged it into the OBD2 port under the steering wheel, and the app, which was theoretically available right away, is nice, but so much of a DEMO that it makes you want to puke. I decided to make my own. Engine RPM, coolant temperature, speed, battery voltage — all of this is available almost immediately. But to get oil temperature and pressure, you need to decode the CAN bus. The manufacturer treats this information like Masons treat the fact that the Earth is flat.
What already works
- Inclinometer (lateral tilt + front/rear inclination) - a piece of cake, because it’s from the iPhone.
- Compass (calibrated with a magnetometer) - same as above.
- Emergency mode with GPS - same as above.
- OBD2 data: RPM, temperatures, speed, errors*, VINs, and other minor stuff - with some hiccups, but already sorted out. * - these errors are not thoroughly tested because everything works.
- CAN sniffer for decoding unknown PIDs - much lies ahead of me.
What’s next
CarPlay — I want the dashboard to be on the car screen. This requires a bit more work, but it’s in the plans. Mine and Apple’s, because Apple has to agree to my entitlements - without that, I can’t even launch the simulator. Request sent. I’m waiting like I’m waiting for my Jimny with a broken TV.