[TZ] has been using ATtiny microcontrollers to read and pass along data from his Harley Davidson motorcycle. The image you see above is using an ATtiny 4313 to read data from the J1850 bus.
The J1850 protocol is an older standard which may not be available in newer vehicles. But if your vehicle has it, you may be able to tap into the bus through an ODB-II connector. [TZ] is decoding the data with the 4313, then using an inexpensive Bluetooth module to send the information to an Android tablet. Fortunately, someone has already written a nice GUI to display the speed and tachometer.
This isn’t the only approach to data harvesting with an ATtiny chip that he’s explored. There’s a second video after the break that shows a much more complicated setup. It still harvests the J1850 data in the same way, but also uses additional I2C sensors and an embedded ARM board to gather GPS data. Everything is pushed to his smart phone, which displays current gear, RPM, speed, engine temperature, fuel level, and GPS information via a WiFi connection.
8 thoughts on “ATtiny Hacks: Reading From A Motorcycle’s J1850 Data Bus”
See, now *this* is HaD material!
Good stuff, good stuff…
What bus does this use? http://www.yesterdays.nl/images/Harley-Davidson-1928-28J-1.JPG
Check out the ooga horn on that bad boy.
Since they were not mentioned in the video, I did some googling and found code and pins used here:
Great now he has to fumble in his pocket to get his phone to find out what gear he is in
I always thought it would be neat to transmit the data into the helmet and use an LED/LCD around the forehead or temple to relflect a HUD off of the face shield. Never got around to it though. Guess I need to get a motorcycle first….Never was that much into motorcycles to know they even had a data bus.
A lot of serious work went into this and it is really cool and functional. but unless you mount the phone so it doesn’t move, your not gonna be able to use it while driving. it would be great as a diagnostic tool.
You are about 2.5 steps ahead of me on this. My current project is my take on a “Motogadget Motoscope Classic” for my XL1200N.
But instead of the analog gauge being the tach, I want it to be the speedo.
The digital section will be configurable to display various other information like Gear, Fuel Level, Revs, Error Codes, and perhaps anything else I can get from the dataport.
I’m planning to use an Arduino and CAN-BUS shield, a 4×20 LCD, and a servo driven needle for the speedo.
The trick will be squeezing it into a stock-sized gauge housing.
Details to follow.
Please be kind and respectful to help make the comments section excellent. (Comment Policy)