Hacker News new | ask | show | jobs
by asciimike 1457 days ago
I've spent quite a bit of time hacking my own F-Series BMW, and I can confirm it's a _huge_ pain in the ass, mostly because there is basically zero documentation on how to do it. IMO BMW also occasionally makes some bizarre engineering decisions, for instance, connect one long wire from an internal switch console to the DME unit (engine controller) rather than connect directly to an adjacent CANBUS that already went there. German engineering ¯\_(ツ)_/¯

I've found the following tools helpful: - newtis.info (has literally all the wiring diagrams as well as a bunch of info on how systems are built and work together, though unfortunately the protocols aren't documented) - Esys (be able to flash new firmware to a control unit or modify settings within a control unit, plus it often contains helpful comments in a mix of English and German that explain what the various acronyms are) - German and American BMW forums (bimmerpost, 1erforum.de); aided of course by a lot of German <> English Google translate

3 comments

If you’re willing to pay for access (it’s cheap for rare / one off access) bmw provides their AOS portal.

https://aos.bmwgroup.com/web/oss/start - you’ll need something like an “icom next” to connect the car but it’ll do e-sys with the ability to install the latest firmwares.

Some stuff (quite limited though) is available through the car data api - i think most f-series and all g-series i think have telematics. I have a 2018 f15 and that works.

https://bmw-cardata.bmwgroup.com/thirdparty/public/repair-an...

If you're comfortable with slightly shadier methods, there's "grey market" access to most BMW tools.

With the F and G series ISTA is the "gold standard"

Can confirm. I paid a guy on a BMW forum about $100 for the vehicle interface, which is ethernet to a J1962 connector (aka "OBD II Port"). That also included the e-sys software (Windows only). A few years later I needed an update to the software and found a guy on ebay who charged me about $75. So, those might be some places to look for this kind of thing.
Pro tip for any BMW owners, MHD is a tuning company that makes great hardware for this.

Even if you're scared of tuning your engine, their dongle originally for that purpose is one of the fastest interfaces and supports Wifi.

The difference in speed is large enough I stopped needing a battery charger to flash my ECU and TCU (would still recommend one though since you are technically playing russian roulette doing that...)

Bonus: If you do care about tuning, they have some excellent off the shelf tunes to go with it

The OBD adapter should be cheaper nowadays; most folks on the BMW forums will charge ~$100 for coding services, and it's generally "any time you need anything changed, it's free."

If you're in the bay area, there are a few local folks who are happy to do it!

Esys is available fairly easily: https://f87.bimmerpost.com/forums/showpost.php?p=26123409&po... (but as you say, there's some megaupload and a cracker involved).
Whoa! Thanks for sharing that. I've been scared to even change my battery myself because it requires interfacing with the computer. I didn't realize there was a BMW sanction way of accessing the APIs.
Exactly. It's one thing to "do it right" but all the people who are hurring and durring about how every car has technology are forgetting that ze germans in their pursuit of ze perfect driving machine often don't "do it right" and unless you get lucky and own something a lot of enthusiasts own and have had time to fiddle with and document you're often on your own. The Americans and Japanese tend to be better because they tend to design things to be more tolerant of being used in a way other than the factory way but still the knowledge and skill barrier to entry is high and you still come across plenty of stuff that just won't cooperate unless you exactly replicate the OEM conditions.
When any company designs the electronics for a new car, they don't start on a clean sheet of paper. Existing designs are reused and adapted. Additional complexity is introduced because some of the electronics are from third parties, for example this Gear Selector is interfacing with a Bosch transmission controller which controls a ZF transmission.
I’d go along with that - the first time i saw the rear suspension on a mazda rx8 - it looked so familiar, a multi-link style setup with the same core components of a contemporary BMW E38 or E39.

One key difference - you can access all the bolts on the Mazda. Replacing rear shocks was a doddle, i’d done the same job on my old e38 and that was multiple days thanks to combining rust with awkward UX. The mazda had the same rust but was easy and safe enough to access with some heat and no need for universal joints which are never great when you’re using an impact driver.

not sure if you are talking electronics anymore or mechanics.
The usual giveaways for "mechanics" are torches and impact drivers, though more than once I've been tempted to use those things on electronics...
> wire from an internal switch console ... rather than connect directly to an adjacent CANBUS that already went there

This type of design was not straightforward for me as well, but in the end this is because a car is topologically not an integrated machine with centralized control like a PC, but more like a network rack kitted with various systems, with user interfaces at the front and networking at the back.

We tend to look at a driver's seat of a car and understand it as an equivalent to VT100, and that is not what it is; the controls in a car are for each discrete systems that shares a chassis. Therefore the control goes to respective systems and communications goes through the network.