One of the things that most irritates me about our "new-to-us" 2003 Foretravel is the lack of transmission gear readout. We live in the west and do a lot of mountain driving, so I enjoy knowing what gear was used climbing a grade. It helps me decide what gear to select for the downhill run that follows. Our 1996 Foretravel had a readout, but the more modern Allison transmissions no longer have this direct readout.
The only way to get this information is through a system like Silverleaf. While Silverleaf is great, it is overkill for what I want and it is expensive. So, I decided to build my own system to read the information from the J1587 data bus and display it on an Android tablet mounted on the dash.
Photo 1 shows the display next to the navigation computer. Six parameters from the engine and transmission are displayed: oil pressure, coolant temperature, retarder oil temperature, transmission sump oil temperature, engine RPM, and current gear. All of these are updated every half second. While there are many choices, these six made for a nice, concise display of important parameters.
The data bus interface was built using an ELM325 J1708/J1587 interpreter chip, an RS485 to ttl converter, and a wireless bluetooth module. Cost for all the parts, including a few resistors and capacitors, was less than $50. Photo 2 shows a breadboarded version of the interface and photo 3 shows the final device. I spliced a nine-pin connector onto the OBD plug under the dash and connected it to the interface. The circuit schematic can be found on the Elm Electronics web site, Elm Electronics (http://www.elmelectronics.com). They make other OBD interpreter chips, so don't get confused with the ELM327 which is used for passenger cars and J1939 truck systems.
The display is a Google Nexus 7 Android tablet. I wrote a simple Java app that requests data from the engine and transmission and displays the values on the tablet. The 7-inch screen is a bit small if you want to view a lot of info, but is just perfect for what I want.
I have silver leaf but before I got it, I could tell my gear by the RPMs and speed. You can feel it downshift and you just look at the tach to see. It became pretty easy to feel as well and looking at the tach I will know when it will down shift so lots of time I downshift a bit earlier to keep the rpms in the proper ban. I then just leave it in the same gear to for the decent.
That said your set up is pretty neat.
Jim - neat stuff. Great Job. You should sell it. ^.^d
Impressive!
I've always wanted a gear readout too. I'll have to see if my older MTB 648 ATEC tranny would work with that. I have an old VMS II but it won't talk to my older (non-world) transmission.
Jim,
Outstanding job you have done. I bought a couple of Nook HD+ tablets to use for bluetooth GPS and possibly a "glass dash" like you did. Great 1080p HD resolution for under $100 for the 9" tablet. Don't know if you have seen but a Prevost Forum member, Ray Davis has made a free app on the Apple Store for all DDEC Detroits from 1986 to 2010 (protocols J1587, J1708). The problem is the hardware price. He wants about $800 for what you have made for $50. Silverleaf is also a really well thought out display but nice to have something less expensive and bluetooth also. The engine diagnostic bluetooth modules for Fords, Hondas, etc are only about $10. You sure could market an interface for Detroit, Cummins and CATs so that Droids and iPads could utilize the diagnostic plug, bluetooth and a tablet. Here is the Apple Store site for the RV Glass Dash: RV Dash on the App Store on iTunes (https://itunes.apple.com/us/app/rv-dash/id595046745?mt=8)
I bought a Pro-Link 9000 and while it reads a large number of engine and coach parameters, the display is only 4 lines high so you have to really take your eyes off the road to scroll through them.
Again, nice work. I have a wallet full of cash (but mostly $1 bills) waiting. ;D
Pierce
Beautiful work. Can the gear readout panel be fitted?
You electrionic types reallllllllyyy amaze me. Nice. Looks like a nice cottage industry about to be born. ;D
Larry
Jim,
That's very impressive. The creativity & skill shows through...Nice! ;D
Jim,
That is awesome ^.^d I already have a silverleaf but may need to build one of these just for fun! Thank you very much for posting this information.
What bluetooth module did you go with and was wiring that in to the circuit part of the schematics on the Elm datasheet?
It sounds like you did not plug in to the OBD port with a standard Deutsch connector or am I misreading what you wrote? If not was that a device limitation or just a choice?
Thanks
Steve,
The bluetooth module is not shown on the Elm schematic. There are two schematics, one showing a normal RS232 interface and another showing a USB interface. I just plugged the bluetooth directly into the ELM325 outputs as they are TTL so work well with the HC-06 bluetooth module. There are a gazillion of these available on ebay - some for just a buck or less. I bought this one:
Wireless Serial 4 Pin Bluetooth RF Transceiver Module HC 06 RS232 with Backplane (http://www.ebay.com/itm/Wireless-Serial-4-Pin-Bluetooth-RF-Transceiver-Module-HC-06-RS232-With-backplane-/200924726178?pt=LH_DefaultDomain_0&hash=item2ec80c03a2)
Actually, I have a couple of these I bought from different sources. Lots of info on the web about how to use them. Arduino people use them a lot.
I did not want to buy a 9-pin Deutsch connector as I already had a bunch of ordinary 9-pin D connectors from various computer projects. Actually you only need 4 wires: +12v, Ground, J1587 high, and J1587 low. Simple to splice in to the OBD wiring just using the same splice thingies you use on trailer wiring.
You do not need any custom software to use the ELM325 interface. You can use any simple terminal program like Putty, Termite, etc. on a PC or any of the bluetooth terminal programs for Android tablets (probably IPAD as well). The ELM325 uses an "AT" command set like the old computer modems. The ELM makes it duck soup to listen to your data bus as well as make requests for specific data.
It was a lot of fun building. I also have a different one using an ELM327 that can interface with passenger cars as well as heavy vehicle J1939 buses. I thought it would work with my coach, but found that on the older coaches (pre-2005), they only use the J1587 bus. Actually, the problem is the Allison transmission. They have jumped back and forth between the J1939 and J1587 buses. From a post on the Silverleaf forum, Allison used the J1587 bus from 1998 to 2005 and then switched to the J1939 bus only. Then in about 2008 they changed back to the J1587 (perhaps both). This is why some of the early Silverleaf's would not display transmission data on coaches built in the 1998 to 2005 time frame.
Someday I might post a detailed description of how to build one of these; however, it is so simple, that it really would not be very useful. The ELM325 datasheet has all the info you really need. Here's the link:
http://www.elmelectronics.com/DSheets/ELM325DS.pdf (http://www.elmelectronics.com/DSheets/ELM325DS.pdf)
Opps, I forgot to mention that I used a 12v-5v DC-DC voltage regulator (got it at Radio Shack).
Jim
Would someone offer to translate the remarks from Jim and Steve, I got lost after bluetooth. :) And as someone else said if I had a blue tooth I would head to the dentist quickly. :))
Gary B
Jim,
I was wondering about the J1939 capability. Fairly sure the dash ABS light is tied to that bus (looking at the Wabco and WTEC interface schematics for our coach). Might be worth a revision ;)
Michelle
Jim, you continue to amaze me. Very cool! 8)
Look forward to seeing you again this winter.
Dick
Michelle,
Some things show they are connected to both J1939 and J1587 buses. If you set the interface, ELM325 or ELM327, to "bus monitor mode" you can see the addresses of all devices "talking" on the respective bus.
I have not done extensive monitoring, but I do see the engine, transmission, instrument cluster, abs, transmission shift selector console, and driver information center. There may be others. Seems the schematics should show them all, but I don't believe it shows the transmission shift console.
Even though the transmission shows it is wired for both buses, mine (2003) only communicates on the J1587. The ABS is wired to both buses as well. I know it talks on the J1587. The dash gauges and driver info center only seem to be connected to J1587.
Jim
Also, the ELM325 is not an absolute requirement for communicating with the J1587 bus. It is just a handy, cheap ($15) IC that provides a simplified way to interface to the J1587 bus.
In actuality, all you need to connect a computer to the J1587 is a simple RS485 to RS232 converter chip such as a DS485 (about $2) along with 4 resistors and 3 capacitors. Of course you would then have to write the software to decode the signals from the DS485. Spending $15 for the ELM is much, much easier.
Jim
@Jim Awesome work. I've been struggling with buying a Silverleaf or a Canpod but have been reluctant to get up off my wallet. :)
This looks like a lot of fun. I'm a programmer and have minimum electronic skills but have always wanted to learn. I think this project may be the one that gets me going!
Would you mind posting your parts list and maybe a schematic? Would also love to see your java code.
Thanks for clearing the path for the rest of us to follow! <virtual>High Five</virtual>
see ya
ken
Very cool project... if I had a rig with the electronic doodads on it I'd be all over this project. All I think I can do is temp sensors into a Raspberry Pi and I am really not entirely sure it's worth the work given perfectly good gauges on the dash for this info.
The cheap Android tablets are perfect for this sort of thing!!!
Great work. :)
Craig
In response to a couple of requests, I have put together a detailed description of this project on a separate blog. It tells how to build the circuit and program the Android tablet.
J1587 Scanner for Motor Home: A DIY Motor Home J1587 Data Scanner (http://j1587scanner.blogspot.com/2014/08/how-to-build-j1587-data-scanner-for.html)
Have fun.
Jim
@Jim Thanks for posting the information. This will be really helpful. I've already ordered my parts so hope to have something working in a couple of weeks!
see ya
ken
Jim, I'd like to buy the parts just to see if I could build one of those! :D
I plan to do likewise.
I have a couple of out-of-date android smartphones just crying to be put to use, and a place on my instrument panel, just above the steering column, with room for one.
Poor man's glass dash.
Jim,
Excellent work! Keep those ideas flowing and the projects coming!
After reading Jim's write up and realizing I had no idea what all that meant, I have decided to spend that $50.00 somewhere else :P
Jim, GREAT write up and innovative thought ^.^d
So here is another project, us poor mechanical 8.3 guys. Is there a way to convert analog ti digital? ::)
I may give it a go. Have to make some use of my engineering degrees in retirement. Or not.
If successful, I might fabricate a few pcb's and give these away to my friends.
Jim, can you provide the Java app as an installable .apk file? I have some learning to do on the software end, and could use a kickstart.
Wow, I am absolutely going to build this. I can code Android and iOS apps to display data as well and I too have an unused android tablet itching to do something ;)
If you use itead (I think) ITead Intelligent Systems Blog | ITead Intelligent Systems Blog (http://blog.iteadstudio.com/) they give you 10 boards every run. I'd happily buy a board from you.
Tom,
No, I don't have a distributable .APK. The current version of the code requires you to hard-wire the MAC address of the Bluetooth module. If you email me the MAC address of the HC-06 you have, then I'll make you an .APK.
I'll look into fixing the app so it does not have this restriction, but am traveling for a while.
You can do a lot of investigating using any simple terminal emulator program such as Putty, Termite, etc. Just build the circuit and power it up, pair your pc to it and investigate away. You will need to know how to interpret HEX and understand about little-endian byte protocol.
Jim
Excellent. Thank you.
I'll let you know the Mac address, but I need to buy the module first.
Tom
I think you need some resistors with the diodes to keep from burning them out.
And the leftmost diode will never conduct, in series with a capacitor.
I have the HC-06 on order. Will the MAC address come on a printed paper or do I need to query the HC-06?
thanks, Tom
Tom,
When you pair it, it will tell you it's MAC address.
Jim
This schematic from the ELM325 handbook is for all intents and purposes the one we need for our bluetooth circuit. The only change being substituting the HC-06 bluetooth module for the FTDI USB module. They both have the same pins to connect.
I am in the process of ordering parts, and will breadboard the circuit before committing to a PCB. When I get my coach back from the shop in a couple of weeks, I will look at the Deutsch connectors (coach and VMSpc) and see exactly what is needed. The docs are ambiguous as to the contacts being size 12 or 16, and don't say if I need pins or sockets.
My plan is to carefully layout holes in the PCB for the four contacts, and just plug the finished PCB into the socket rather than buying the expensive and not needed shell. I can use the other contact positions and perhaps incorporate nylon screws to lock the PCB into position, or failing that, velcro.
It is suggested that I can use a normal ELM327 OBDII scanner with J1939 which I suppose my motorhome supports due to the 9 pin connector. Both of my ELM327 are cheap chinese clones so that functionality may not be there but it's free to try assuming I can find an obdii connector to pillage.
Yes, a genuine ELM327 will support J1939; however, it is hit-or-miss if a knock-off will.
I have used an STN1110 (a device similar to an ELM327) to communicate with my coach's J1939 (there are no STN1110 knock-offs). While I could communicate with the engine, I found that my year model transmission does not use J1939, it only uses J1587. That is the reason I changed to the ELM325 which supports J1708/J1587.
Apparently Allison has changed their minds a couple of times about which bus to support. The dates for the different bus supports are (from a Silverleaf forum post):
Prior to 2005 all 3000/4000 series transmissions used J1587.
2005-2007 all 3000/4000 series used J1939 only
In 2008 Allison added back the J1587 (not clear if it supports both or just the J1587)
So, if you are planning on trying J1939 with a coach prior to year 2005, you will have no luck communicating with the transmission. You can talk to the engine, however.
My primary interest is the engine. I want to see boost pressure and a digital oil pressure read out so I can keep track of any developing issues. I could get a scan gauge D but that's no fun ;)
Give one of the knock-offs a try. All you need is to connect it to the J1939 bus and use any terminal emulator program such as Microsoft Hyperterm, Putty, Termite, etc. This will tell you if the knock-off can talk to the J1939. If so, then the sky is the limit (for the engine, that is). You can write a Visual Basic app for the PC or an Android app for a tablet. I'll be glad to send you my Android Java code.
If you want, I can give you the set of terminal emulator commands that will read the two items you are interested in and describe how to interpret the output.
Jim