Information will, I suspect, be sent as repeating data packets - probably carrying the same labels, but with different values according to sensor data. Once you get your head around that, and work out what each byte represents, things will get a good deal simpler.

For the EV project, you may be able to take over the rev-counter to show motor speed and the fuel gauge to reveal battery status. :)
 
Information will, I suspect, be sent as repeating data packets - probably carrying the same labels, but with different values according to sensor data. Once you get your head around that, and work out what each byte represents, things will get a good deal simpler.
That's undoubtedly the case Rob. I'm sure lots of this information is out there already, it's just a case of finding it.
For the EV project, you may be able to take over the rev-counter to show motor speed and the fuel gauge to reveal battery status.
That's the plan, although it might need the petrol tacho be installed to show motor RPM, as I believe it spins up to around 10,000Rpm, so would be almost back to the wrong side of 0 on the diesel tachometer.:eek:

The plan is also to use the fuel level as battery charge status, (maybe not posted here, as Ali and I have been PM-ing this for months), so yes the eventual plan is to basically get the whole Ipack to work as normal, displaying useful information (I'm currently looking at ways to get the fuel gauge to display charge status), as though it were a normal FL1.;)
 
That's undoubtedly the case Rob. I'm sure lots of this information is out there already, it's just a case of finding it.

That's the plan, although it might need the petrol tacho be installed to show motor RPM, as I believe it spins up to around 10,000Rpm, so would be almost back to the wrong side of 0 on the diesel tachometer.:eek:

The plan is also to use the fuel level as battery charge status, (maybe not posted here, as Ali and I have been PM-ing this for months), so yes the eventual plan is to basically get the whole Ipack to work as normal, displaying useful information (I'm currently looking at ways to get the fuel gauge to display charge status), as though it were a normal FL1.;)
That's a good point about the tacho Nodge, it might be worth buying a K4 dash to play with on the bench as it might be different to the TD4 and it would be nice to see the dials moving. As RPM doesn't appear until the car is started I can play with the tacho with just the ignition turned on.
I think I've identified the CAN signal responsible for fuel gauge but until I disconnect the module currently sending I can't do much with it.
 
That's a good point about the tacho Nodge, it might be worth buying a K4 dash to play with on the bench as it might be different to the TD4 and it would be nice to see the dials moving.
That's the best idea. It should be possible to find a similar miles K4 or KV6 Ipack for not much money.
As RPM doesn't appear until the car is started I can play with the tacho with just the ignition turned on.
You should be able to play with it on the bench, which I don't believe it's that hard to make display data as a sensible analog output on the dials.
I think I've identified the CAN signal responsible for fuel gauge but until I disconnect the module currently sending I can't do much with it.
The fuel level is a simple resistive circuit, through the sensor, however I read that the Ipack feeds limited level data to the engine ECU, so the ECU ignores misfires caused by low fuel level. I believe the ABS module also feeds wheel slippage data back to the Ipack, so it can also pass this to the engine ECU, again to prevent misfire faults being registered, should the wheels slip,grip,slip,grip, which the engine ECU could assume a misfire situation.

It's quite complicated, but by elimination of the engine ECU, means all those extra bits if data sent too and fro become redundant.

I'll keep looking into the fuel gauge as a battery level monitor though. ;)
 
I've got a bit stuck as far as reading the CANbus is concerned. Every time I send packets the connection to the Arduino freezes and I have to reset it. I suspect the data I'm sending is conflicting with data from other sources and causing everything to get a bit confused. The easiest thing to manipulate is the RPM since with the engine off there is nothing to conflict with.
I think it's time to get a hold of a petrol dash so I have sent an offer to an ebay seller and will see what happens. Petrol rather than diesel as the tacho goes to 8k rpm rather than the diesel 6k rpm, this will be important if I'm driving around in 3rd gear all the time. Thanks to Nodge for the suggestion.
If any of you guys has a petrol dash I'd be happy to take it off your hands and will pay for postage, otherwise I'll just buy one off the Bay.
 
If any of you guys has a petrol dash I'd be happy to take it off your hands and will pay for postage, otherwise I'll just buy one off the Bay.

Unfortunately I don't have one Ali, but they shouldn't be too expensive on ebay.
Keeping my fingers crossed for tomorrow too. ;)
 
Unfortunately I don't have one Ali, but they shouldn't be too expensive on ebay.
Keeping my fingers crossed for tomorrow too. ;)
There is one for £27 ono. I offered £25 but with the connectors and a foot or so of cable.
In the mean time I did this.

IMG_20200720_205435251.jpg


It only takes a few minutes to take the dash out so I pulled it out and broke into the CANbus cables at the dash, then brought it out to a couple of jack connectors (male and female) so I can break the CANbus to the dash and see what happens but it's easy to reconnect them too.
 
Finally I got time to look at this again and see what happens when I send signals to the dash.
So with everything connected as normal except the CAN this is what we get with the engine running.

IMG_20200725_153602153.jpg


And these are all the CAN messages coming from the dash only

IMG_20200725_153651809.jpg


And this is the Dash with ignition on but engine not running.

IMG_20200725_160113965.jpg

The speedo does not work
The Tacho does not work
Temp guage does not work

The fuel gauge is still working without CAN so it must be completely separated from the CAN system. Hopefully it will be a fairly simple job to remove the sensor in the fuel tank and link it to the Battery pack voltage.
The battery charge light and oil pressure light went off when the car was started so they must be analogue too. It should be fairly simple to turn them off either by trying to replicate the sensors that control them or by using magic warning light repair tape.

I found I can turn off the traction control fault light by sending 00 00 to 1F8
Sending 00 01 turns it on Green

Sending 10 10 to 153 B1 and B2 brings the speedo up to 20mph AND turns off the TC and ABS lights.
20 20 is 41mph
00 30 is 61mph and so on.
Interestingly if I set the LSB (the one on the left) to an odd number the TC light comes on.
The best bit is everything is much more stable. The lack of other CAN signals coming into the dash at the same time seems to have cured the clashing issue where the Arduino would lock out after a few moments.

Still trying to figure out the temp guage, if I send the messages I've seen to 329 I get cold regardless of what I send. If I send 00 as B0 it rises to normal but anything else gives cold temp. :confused:

Hopefully this is good progress. :)
 
Last edited:
The speedo does not work
That will work if the Ipack has data from the ABS module. ;)
The Tacho does not work
That data comes from the engine ECU.
Temp guage does not work
That data also comes from the engine ECU. ;)
The fuel gauge is still working without CAN so it must be completely separated from the CAN system.
The fuel gauge is a simple resistive circuit, and not connected to the CAN.
Hopefully it will be a fairly simple job to remove the sensor in the fuel tank and link it to the Battery pack voltage.
Yes, a simple module can send a variable resistance to the gauge, based on battery voltage.
The battery charge light and oil pressure light went off when the car was started so they must be analogue too.
It should be fairly simple to turn them off either by trying to replicate the sensors that control them or by using magic warning light repair tape.
The oil pressure is a simple switch, which goes to ground when there's no oil pressure. Just don't connect the wire, and it won't light up. ;)

The no charge light is grounded by the alternator, so again don't connect it to anything, and there'll be no light. ;)
 
You can probably repurpose charge light and oil pressure warning for other purposes :)

That's not a bad idea Rob. ;)

The oil light could be connected to a coolant level switch, which put the light on should the coolant drop too low.

The ignition light could be connected to the pre-charge circuit, so will light while the inverter capacitors are charging, before the main contactor closes. ;)
 
Interestingly when you run a diagnostic on the ipack the fuel gauge drops to zero and the low fuel light comes on so some internal connection to CAN appears present?
It must be on the diagnostic circuit rather than CAN as there is no CAN going directly to the OBD2 port on my F1. I guess there may be some crossover between the two systems.
 
Interestingly when you run a diagnostic on the ipack the fuel gauge drops to zero and the low fuel light comes on so some internal connection to CAN appears present?

That's quite correct Andy. I've seen that myself. I figured that the diagnostic device simply shuts down the power supply to the fuel gauge where its running. The Ipack does convert the fuel low waring light into a message for the engine ECU though, or it does on the petrol FL1. I'm not sure this is the case for the TD4 though, but it's not an issue I don't think as the engine ECU won't be present with an EV conversion.
 
I posted another video showing what happened after connecting directly to the Dash.



It was fun watching the dials move but more importantly I think we now have everything we need as far as the dash is concerned to proceed with the conversion.
I'm not saying it will be simple to control but I think we now have enough info to be able to do it.
Now I just need to get a cheap Leaf and transplant it's guts into the Freelander. Simples! :eek:
 
Your latest video was very informative Ali.

If you keep the ABS ECU and Ipack linked on the CAN, then I'm pretty sure most of the ABS lights should remain off, and the speedometer will work too. However you will find that the TC and HDC lights will remain lit, as those require throttle position data from the engine ECU. But I reckon those missing data packets could be injected, by using the throttle position sensor, through some interface.
 
Last edited:
If everything goes to plan I will have a 2011 Nissan Leaf on my driveway by tomorrow evening.
It is 150 miles away in the South of Ireland so I have organised a transport company to pick it up and pay the guy.
It has no battery but is only 1200 Euro so too good an opportunity to miss. The car breakers are looking £1500 for motor/Inverter and Transmission only without any connectors or cables or heater or anything else. I suspect I'd end up spending a fortune for those bits.
If I'm lucky I'll have a lot of the money back after breaking it as Leaf parts seem to fetch a lot.
 
If everything goes to plan I will have a 2011 Nissan Leaf on my driveway by tomorrow evening.
It is 150 miles away in the South of Ireland so I have organised a transport company to pick it up and pay the guy.

Wow, that's quick Ali. I'll be interested to see what arrives.

Once it's home, the real fun can start!;)
 

Similar threads