Sunday, 15 February 2015

Torque App Interface to Emerald ECU

The idea here is to use a Kindle Fire HDX as a central hub for car information and mount it on the dashboard. Google maps for sat-nav, music via headphones, GoPro app for the camera and engine/vehicle information via the Torque Pro app. All of these apps are available now on the Kindle Fire, loaded and ready to go. Only the real-time engine data required for the Torque Pro app is missing.


According to the information on the Emerald web site the K6 ECU uses the following version of the CAN bus protocol: CAN v2.0b – 29-bit ID , Extended frame, 20Hz (up to 1 Mbit/sec). 21 elements of vehicle data are broadcast each second in the format defined by this protocol via the serial comms port on the K6. For the avoidance of doubt this is the same comms port that is normally used to upload the vehicle maps.

According to the various web sites for ELM 327 (and its clones) this ODB II interface should
also supports this protocol, and should interface with the Torque Pro app via Bluetooth, on my phone and android tablet. Sounds simple and also inexpensive as none of the elements required are more than a tenner.

Firstly the ELM 327 – Bluetooth version off E-bay for £5. Plugged it into my Audi and it connected straight away and pumped out vehicle data in the Torque Pro app for display. Simple 10 minute job. The Torque Pro Apps automatically tries all of the protocols it understands one after another until it gets a sensible response. It didn’t take more than a few seconds to latch on the one Audi is using. 

So how to get the data from the K6 into the Torque Pro App? RS232 would have been my first choice but Emeralds comms port is not a standard RS232 implementation so there no easy solution there that doesn’t involve wires and a soldering iron. As I now know the ELK 327 works from my Audi test my idea is to build a bespoke cable that plugs into the 9 pin Dsub of the K6 ECU comms port and the other end allows the ELM 327 to be plugged in.

I came up with the following:

ECU Dsub 9 pin number

ECU Desc
Wire Colour
ODB Desc

ODB II 16 pin number
1
CAN_H **
CAN bus interface1
Purple
CAN H
6
2
CAN_L **
CAN bus interface1
White
CAN L
14
3
-
Not used



4
-
Not used



5
earth
Signal earth
Light blue & yellow
Ground
4 & 5
6
-
Not used



7
Rx
RS232 serial interface, data receive
Black white
TxRx
7
8
Tx
RS232 serial interface, data transmit
Black
TxRx
15
9
CTS
RS232 serial interface, clear to send
Red white

8




** 120 ohm resistor between these pins. The CAN bus must be terminated with 120 Ohm resistors. The ECU’s CAN interface includes a 120 Ohm internal termination resistor.

Once the circuit was drawn up, putting the cable together didn’t take too long. I also added a power and ground connector to connect to the car as the K6 doesn’t supply these on it’s comms port.

Here’s the whole thing ready to go. Notice the deliberate mistake? I purchased a female 9 pin Dsub instead of a male. Rather than unsoldering and replacing I chose to spend £1.99 of a female to male converter which you can see sticking on the end.

Here it is in situ under the dash.


So I turned it on. 

The ELM 327 powered up and connected via Bluetooth to the Torque App as it did with the Audi. The Torque App then tried scanning the protocols it understood one at a time. Each time it tried another protocol I watched the status LEDs on the ELM 327 flash as it broadcast data to the ECU and received stuff back. But that’s as far as I could get. The Torque App obviously didn’t understand the information it was being sent if indeed it was being sent anything at all, because it continued to cycle through the protocols and not lock onto one.

Here’s a short video showing what happened.




I went back to the ECU manual and decided to change the CAN protocol to “AIM Dashboard” by updating the “ECU Configuration”. Big mistake. The engine would idle but wouldn’t rev – at all – without stalling. Panic. I had read the ECU maps first of all before uploading the “ECU Configuration” and this was the only parameter I changed. So, reverse the change and upload another “ECU Configuration”. Exactly the same. What the hell is going on. What did we do before Google. Found a manual on the Emerald web site dedicated to “ECU Configuration”. I hadn’t looked at it previously. I hadn’t needed to. But I learned that there 2 configuration files that define the set up of the K6. A *.map file that I recognise as the file that stores the 3 maps. Then there is also a *.k03 file that has the “ECU Configuration” settings. Found my old .k03 file and uploaded it. Fingers crossed. Yes that was the problem. Somehow I had lost the EC Configuration setting on the laptop and uploaded some generic parameters when I first pressed “ECU Configuration” upload. That was lucky. Could have done some very serious engine damage doing that.


That’s where I finished for the day – car back working again but the Torque App still not doing what it should. I will talk to Emerald.

21st Feb Update
Spoke to Emerald - the firmware in my ECU needs updating in order to start seeing CAN bus messages. It's a free upgrade but at the factory. Will try to find a suitable day to go across to Norwich for the upgrade and a rolling road session.