# Making Nissan EV Stuff talk to VW ICE Stuff



## Scotty274 (Jul 1, 2020)

Ok, so for those of you that have seen my other post, I was hoping someone would have a nice big spreadsheet of all the Nissan EV CANBUS stuff that gets thrown around the network.

I'm sure I should be able to CANBUS sniff the wifes VW, but if someone already has a 2015 Jetta (Or equal) that they have gathered the data on, let's not going reinventing the wheel, could I please have it.

A few things however that I am unsure of:

Are airbags generally the sort of things that talk the same language? Are they CAN? Could I simply lift the Nissan CAN and stick it in the VW overriding the ICE stuff and simply plugging the crash sensors in?
Same same for electric windows, are they simple electric stuff, or in newer cars are they CAN? I know they are "smart-ish" and they know what is down, what is up, and when you hold the unlock button down, they go down, but how deep does that smartness go?
Things like Traction Control and Stability Control, I'm hoping and assuming if I lift the whole Leaf Powertrain, sensors, hubs, and all, that I can retain the Traction and Stability Control from the eNV200 and not need to try and integrate it from the VW. Thoughts?
Honestly, I'm pretty sure that if I keep everything from the firewall forward as Nissan, and then I only need to integrate maybe a handful of things that are behind the firewall. So Stereo, Gauge Cluster, Cruise Control, Windows, Airbags.

Am I looking at this backwards, could I potentially just swap in the eNV200 Window Regulators and stuff and make them work instead? Obviously I can't do the airbags, but could it be as simple as a resistor added to make them compatible?


----------



## Tremelune (Dec 8, 2009)

Lots of Leaf info here: https://github.com/dalathegreat/leaf_can_bus_messages

This integration sounds...daunting. I feel like you might want to keep the Jetta computers around to control ancillary stuff, and somehow pretend there's still an engine...I dunno.

I don't see how you'd do it without quite a bit of sniffing and embedded C programming.


----------



## brian_ (Feb 7, 2017)

Scotty274 said:


> Things like Traction Control and Stability Control, I'm hoping and assuming if I lift the whole Leaf Powertrain, sensors, hubs, and all, that I can retain the Traction and Stability Control from the eNV200 and not need to try and integrate it from the VW. Thoughts?


Traction control might work - Yabert took this whole-system approach building his VW Vanagon T3 with Chevy Bolt drivetrain, and apparently it works. 
Stability control, on the other hand, also uses the brakes... and you're not integrating with those.


----------



## Scotty274 (Jul 1, 2020)

Tremelune said:


> This integration sounds...daunting. I feel like you might want to keep the Jetta computers around to control ancillary stuff, and somehow pretend there's still an engine...I dunno.


I mean if I can avoid keeping the VAG computer, I will.



brian_ said:


> Traction control might work - Yabert took this whole-system approach building his VW Vanagon T3 with Chevy Bolt drivetrain, and apparently it works.
> Stability control, on the other hand, also uses the brakes... and you're not integrating with those.


Oh, so it won't work with the brakes? Could I just run Nissan sensors in the brakes?


----------



## brian_ (Feb 7, 2017)

Scotty274 said:


> Oh, so it won't work with the brakes? Could I just run Nissan sensors in the brakes?


It isn't the speed sensors - it's the computer that does the stability control work and the braking system (ABS unit) which applies or releases brake pressure as a result.


----------



## Scotty274 (Jul 1, 2020)

brian_ said:


> It isn't the speed sensors - it's the computer that does the stability control work and the braking system (ABS unit) which applies or releases brake pressure as a result.


Ahh, so I can't use the Nissan ABS unit?


----------



## zepol_wube (Oct 31, 2015)

Scotty, please post what you find about pushing data onto the VW CAN bus. We are trying to get our 2003 VW Golf to absorb data from the Nissan BMS, Azure DMOC, Brusa charger. Lopified.blogspot.com.
As for the airbags and abs, in speaking with our insurance agent "State Farm" We are leaving our ABS and Airbag systems entirely stock. i.e. We are running single pedal drive. IF we step on the brakes the regen system disengages to prevent interference with the ABS system. We also connected our main power circuit relay to the old fuel pump relay such that if the airbags should deploy the entire car automatically will be shut down. Based on those choices we have received regular insurance.


----------



## Scotty274 (Jul 1, 2020)

zepol_wube said:


> Scotty, please post what you find about pushing data onto the VW CAN bus. We are trying to get our 2003 VW Golf to absorb data from the Nissan BMS, Azure DMOC, Brusa charger. Lopified.blogspot.com.
> As for the airbags and abs, in speaking with our insurance agent "State Farm" We are leaving our ABS and Airbag systems entirely stock. i.e. We are running single pedal drive. IF we step on the brakes the regen system disengages to prevent interference with the ABS system. We also connected our main power circuit relay to the old fuel pump relay such that if the airbags should deploy the entire car automatically will be shut down. Based on those choices we have received regular insurance.


Will do, I mean, in theory, if nothing on the VW CANBUS is sending a conflict, and I can replicate that messages that it needs, and the other things that should talk can talk, then in theory it should work.

From what I can figure, the hard but will be tapping in to send those messages, but as the wires aren't addressed (depending on who I talk to), I figure I can find some sensor like oil pressure (at a guess) that I can find a suitable plug for, this would remove the requirement to cut into wires, I should ideally be able to send everything down those wires as just comms traffic.

But I haven't even sniffed the VW yet.


----------



## zepol_wube (Oct 31, 2015)

We also have a 2015 TDI, are you posting what you are learning anywhere? Many things are of interest to us, one being what message to send down the can to get the EPS and Check Engine lights to go out... WE have no exhaust catalysts and therefore the EPS pollution light is on.


----------



## Scotty274 (Jul 1, 2020)

zepol_wube said:


> We also have a 2015 TDI, are you posting what you are learning anywhere? Many things are of interest to us, one being what message to send down the can to get the EPS and Check Engine lights to go out... WE have no exhaust catalysts and therefore the EPS pollution light is on.


Not sure if I can help with TDI stuff, as we have a TSI, but I'll post stuff Here


----------



## zepol_wube (Oct 31, 2015)

To clarify, the TDI is till in full TDI format, the EPS lights are on the 2003 conversion vehicle.


----------



## Scotty274 (Jul 1, 2020)

So from what I can gather from some more research, the things I need to be intercepting are things like Speed Sensors, Temp Sensors, and things like that.
From what I can gather, despite being in a really non-friendly format, things like the Speedo are looking out for something like:


> Die aktuelle Fahrzeuggeschwindigkeit beträgt 85 Stundenkilometer


However, if I am using the Nissan, it's instead saying:


> 現在の車速は時速85キロです


So I just need to make what is essentially, in my eyes, a translator to go between the two to convert the Japanese into German.

Bit more complex, on the Nissan, it could be sending out a data string going "I am sensor 57, and the value I report is 85" which equates to sensor 57 being the speed sensor, and 85 being the speed value.

However the VW might use sensor 62 for wheel speed, so it will ignore anything coming in from sensor 57 to the speedo, and keep looking out for 62. Plus 62 on the Nissan may be something like RPM, and I don't know what will happen if I try and feed that high a speed to the speedo, probably just cause an error, or snap the speedo needle off.

So I need to isolate the CAN networks between them, run the LEAF network on one side and feed it things like:
Immobiliser: I'm ok, there's a valid key in here
Ignition: I'm all good, you can charge the contactors and power up
Brakes: The brake pedal has been pressed, you can activate regen now; the brake pedal has been released, you can stop regen now

Then in the reverse, I'll need to grab things like:
Wheel Speed: It's 85kmh
Temp: The battery/Motor/Inverter (Whichever one I have and can port through) is the current temp to display on the temp gauge
State of Charge: The fuel level is 60%
RPM: The RPM is currently X, though I may figure some way to make RPM display the AMPS that the motor is drawing, then I can just tell the wife "Try and keep it under what you're seeing as 2,000RPM"

Some other things I will need to figure out is how to do things like cruise control, which the way the VW does it is not just "Activate Now, Deactivate Now, Set Current Speed, Resume previous Speed, Turn Off"

You can actually pre-set the speed as you're approaching say, the highway, and then as you hit the ramp, hit the resume button and have the car just get itself there, so there's also a signal presumably that says "Set cruise control to 100kmh and activate"

However I think having an abstraction layer somewhere in the middle will be good for going:

Signal from Leaf sensor 57 received, retransmitting as VW sensor 62
Signal from Leaf sensor 83 received, retransmitting as VW sensor 81
Signal from VW Sensor 94 received, retransmitting as Leaf sensor 27
Signal from Leaf Sensor 27 Received, VW does not need an Ack
Signal from VW sensor 74 received, retransmitting as Leaf sensor 94, Leaf does not provide Ack, Send Ack to VW Sensor 74

The other thing I have found is that the raw values are not sometimes sent, there will be some mathematics behind them done at the other end to keep traffic down, so things like RPM are reported as divisibles, so if it is divisible by 10, then the sensor will send a value of 80, which the tachometer will instead display 800 by doing that multiple of 10

So it would read something like:

Leaf sensor 141 sends 800, VW requires alternate number, dividing 800 by 10, answer is 80, transmitting value of 80 from sensor 39 to VW

Now although this isn't an in-depth go at what is what in the cars, this is what I have been able to gather from watching the following video:





Thankfully I have 2 running, and driving cars, and so my next step will be to work out how to CAN Log Both of them, and I was thinking of getting a CL3000 CAN BUS LOGGER though at $1,600 it's a bit pricey, currently waiting on a message back to see if it is compatible with the two vehicles I have, my wife will murder me if I buy that and it's not compatible with one of the cars.

So yeah, that's where I'm at in my understanding of it.

As for:


zepol_wube said:


> To clarify, the TDI is till in full TDI format, the EPS lights are on the 2003 conversion vehicle.


My though process is that if you can insert the message "Sensor X says All Good" then the lights should go out.

The issue is finding out the Sensor value of sensor X, as well as finding out what value is "All good"

I was having a look at the Automotive Connections section of Jaycar and I noticed quite a number of very visually similar plugs to what the VW already has on it, so from what I can presume, I'll need a 4 or 6 wire plug, so I can have a CAN-High and CAN-Low input and output on it, so it will probably in my thought process, be somewhere like the throttle body, that needs to both send and receive data.

So I can make up something like:









Because from what I can gather, everything on the CANBUS just vomits out data and just absorbs what it needs, looking for what it needs and grabbing anything that matches what it needs, so ideally, nothing will need to be hard-wired into the car, and if I can make it all plug and play, with something like the ARDUECU then if for whatever reason the car ever has to go back to being powered by recycled dinosaurs, then it's a reversible conversion.

Further, if I realise I need more features, for example if I install something like this aftermarket head unit for the Volkswagen Jetta which can talk to the CANBUS, then I might be able to add/remove features, or even get some form of app running like LeafSpy on the headunit without the need for an OBD dongle, I may also be able to toss things like the leaf Inverter and BMS in the bin and upgrade the inverter, BMS, batteries, and heaps of other stuff and have those CAN apps on the bus as well reporting via the head unit.

Sorry my replies were a bit curt before, I was out shopping with the wife and had to do a bunch of stuff around reading, comprehending, and replying. So sorry if I wasn't overly clear on what I was trying to get across.


----------



## brian_ (Feb 7, 2017)

It looks like you now have a handle on the challenge, given your comments about bridging the Nissan and VW CAN buses.



Scotty274 said:


> Ahh, so I can't use the Nissan ABS unit?


Perhaps you could, but where does this stop - do you end up with VW body entirely filled with Leaf components, even braking and steering systems? Also, the ABS unit needs to work hydraulically with the other brake components - these things are at least configured differently for different vehicles, even if the same product is used by multiple manufacturers.


----------



## Scotty274 (Jul 1, 2020)

brian_ said:


> It looks like you now have a handle on the challenge, given your comments about bridging the Nissan dnd VW CAN buses.


Yeah, but I'm hoping it should be pretty simple once I get the computers talking. I've done stuff like this before many years ago making a Mac Server on a Windows network talk to a Unix Server, so really, the concepts should be the same, just convert {string} to {string} type deals


----------



## Scotty274 (Jul 1, 2020)

So this whole project has been stopped by red tape.
So whilst me and the engineer agree that it could all work, QLD transport and Main Roads do not like this idea one little bit.

Essentially they want to see that all the VW safety gear will still work in an accident, and in their eyes, they want me to crash a car to prove my module would work.

Well...I only have one of each....

So this project is dead.


----------

