Ingredients:
- Android phone
- reflector film (from an old TFT display)
- Android HUD software
…and you have something really cool in your car 😉
Results by commercial OBD-based HUD products:
-Arduino Version-
Update 2015:Â Â I developed an Arduino OBD reader for the older OBD KW1281 protocol:
- An OBD USB adapter (USB KKL adapter ‘AutoDia K409 Profi USB‘) was hacked, so I could connect the car OBD to the Arduino (TX/RX via software serial).
- An Arduino LCD display (‘YwRobot LCMI602 IIC V1’) was attached to the Arduino.
- Arduino code was written for the KW1281 protocol to read car sensor data (RPM, oil/coolant temperature, throttle, air, etc.) and show them on the display.
Download Arduino Code for the KW1281 OBD protocol: arduino_kw1281
-PC Version-
My Audi A4/B5 (1997) and many other old cars use the older OBD KW 1281 protocol – I tried to find any suitable OBD software for my car to speak to my motor and dashboard control units (ECU), however:
- wbh-diag 0.89 : seem to work (unstable connection)
- monoscan 2.30: seem to work, but does not have ‘set basic settings’ feature
- VAG-COM 3.11/4.09: seem to work (you have to power off/on ignition while connecting as it sends some data before waking up and that confuses my engine ECU)
- CarPort 1.3.2: seem to work (you have to power off/on ignition while connecting as it sends some data before waking up and that confuses my engine ECU)
So, using the KW1281 protocol, the correct initialization timing (baud 5) is critical, and some software does not wait before waking up the ECU. Finally, I decided to develop something on my own. Note: my software only supports the older KW1281 protocol!
Features of my KW1281 diagnostic software:
- Read sensors (measurements)
- Set basic settings – useful, if you want to start motor ECU throttle adaption
- Read errors
- Clear errors
- Read ROM (does not work for all ECUs)
- Showing sensor values in graph
What you need:
- a PC runing Windows (XP/Vista/Win7)
- an USB KKL adapter (it provides a virtual COM port, for example ‘AutoDia K409 Profi USB‘ – it uses the FTDI chipset to emulate a serial line)
Screenshot:
Download:
obd_kw1281Â (executable)
obd_kw1281Â (freepascal_lazarus code)
Please send me your feedback! Thanks 🙂 If you send your feedback, please always send me the complete debug output.
My car’s OBD data:
- Audi A4 B5 1.8, 1997, ADR
- Engine ECU:
Part Number : 8D0907558B Component : 1,8L R4/5V MOTR HS D02
- Dash board ECU
Part Number : 8D0919860G Component : B5-KOMBIINSTR.UN4 D01
Descriptor 5 : IMMO-IDENTNR: AUZ8Z0V5170015
A blog on projects with robotics, computer vision, 3D printing, microcontrollers, car diagnostics, localization & mapping, digital filters, LiDAR and more