Custom "engine" sounds or sweet silence with a DIY replacement VSP controller

My Nissan Leaf Forum

Help Support My Nissan Leaf Forum:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.

dampkwab

Member
Joined
Oct 7, 2024
Messages
17
Location
Aus
I've been working on a plug & play replacement for the Leaf's VSP (Vehicle Sounds for Pedestrians) controller & tested my first fully-integrated prototype today!

The weedy whirring whoosh noises and horrible sonar reversing pings from my 2017 ZE1 JDM Leaf really annoyed me - enough that I disabled the reversing sounds completely through LeafSpy - but I still wanted to have some sort of external sound for pedestrian safety at low speeds as well as just for fun. Here's what I came away with:
  • Real-time audio synthesis based on vehicle speed & accelerator position
  • Volume control (all the way down to fully silent if desired)
  • Stock (or aftermarket) temporary mute button compatibility
  • Plug & play compatible with the stock module - no warning lights & no wiring harness modification required
  • The ability to "rev" the "engine" at stop lights 😎
I've put together a few photos of the prototypes & a video showing it all in action below:
View attachment demo.mp4


It's meant to sound recognisable as an engine at low range so people will instinctively be aware an active car is nearby, but then get a bit silly & sci-fi as it ramps up.
Overall, I'm really happy with how it turned out & I'd love to hear what everyone thinks of it.

Big thanks to all the members of the community both on these forums & elsewhere whose work made this possible, particularly @macgeeknz's CAN tips and work on a VSP-delete, @Dala & co's CANbus repo, and Comma's Leaf DBC.

Other ideas I might try are adding different synth options and/or mp3 playback for full customisability.
I've already designed a custom PCB and housing to make it a lot more robust & easier to assemble.
If people are interested, I'll make a whole batch and try to sell a few.
 
I have been driving a 2015 Leaf S for over 4 years. Soon after I bought it, I unplugged the VSP module and disabled as many sounds as I could with LeafSpy. When driving around my neighborhood at low speed, I have observed that pedestrians easily hear me approaching due to tire noise alone. Most ICE cars are as quiet as an EV at low speeds so EV artificial sounds like the alien spacecraft noise and backup beeping are unnecessary.
 
I use the VSP "disable" button on my 2011 all the time (one of those early Leaf treasures)...and have never understood why people want to make cars "louder" (yes, I understand there are blind people...but there are also people sensitive to excessive noise)!
 
I've been working on a plug & play replacement for the Leaf's VSP (Vehicle Sounds for Pedestrians) controller & tested my first fully-integrated prototype today!

The weedy whirring whoosh noises and horrible sonar reversing pings from my 2017 ZE1 JDM Leaf really annoyed me - enough that I disabled the reversing sounds completely through LeafSpy - but I still wanted to have some sort of external sound for pedestrian safety at low speeds as well as just for fun. Here's what I came away with:
  • Real-time audio synthesis based on vehicle speed & accelerator position
  • Volume control (all the way down to fully silent if desired)
  • Stock (or aftermarket) temporary mute button compatibility
  • Plug & play compatible with the stock module - no warning lights & no wiring harness modification required
  • The ability to "rev" the "engine" at stop lights 😎
I've put together a few photos of the prototypes & a video showing it all in action below:
View attachment 5968


It's meant to sound recognisable as an engine at low range so people will instinctively be aware an active car is nearby, but then get a bit silly & sci-fi as it ramps up.
Overall, I'm really happy with how it turned out & I'd love to hear what everyone thinks of it.

Big thanks to all the members of the community both on these forums & elsewhere whose work made this possible, particularly @macgeeknz's CAN tips and work on a VSP-delete, @Dala & co's CANbus repo, and Comma's Leaf DBC.

Other ideas I might try are adding different synth options and/or mp3 playback for full customisability.
I've already designed a custom PCB and housing to make it a lot more robust & easier to assemble.
If people are interested, I'll make a whole batch and try to sell a few.
Finally. That is awesome. Count me in. I need one for sure. Especially if I can put the spaceship sound or just select what ever could be in the mood for the moment
 
Very fascinating! The speaker in my eNV200 is not working and I don't know where to find it. Any idea where in the engine bay it's located?
 
Now if someone could make a module to enable you to disable the in-cabin reverse beep and all the bings and bongs when the doors are open :). Currently disabled via a scree to the speaker in the cluster but you lose the indicator click sound.

2017 ZE1 JDM owner here, car has never had external VSP sounds or external reverse sounds.
 
Now if someone could make a module to enable you to disable the in-cabin reverse beep and all the bings and bongs when the doors are open :). Currently disabled via a scree to the speaker in the cluster but you lose the indicator click sound.
Yeah, the reversing & door-open beeps drive me spare. @macgeeknz has demonstrated adding a custom indicator click module after removing the stock instrument cluster buzzer, and I'm thinking of going the same way. The only thing holding me back is that I'd really like to keep all the other warning sounds. I want to know if someone left a door open while the car is in motion, I just don't need to be incessantly notified that I have selected the reverse gear or opened my own door while parked and stationary!
2017 ZE1 JDM owner here, car has never had external VSP sounds or external reverse sounds.
That's interesting - I wonder if a previous owner did the LeafSpy trick?
 
@macgeeknz demonstrated adding a custom indicator click module after removing the stock instrument cluster buzzer, and I'm thinking of going the same way. The only thing holding me back is that I'd really like to keep all the other warning sounds. I want to know if someone left a door open while the car is in motion, I just don't need to be incessantly notified that I have selected the reverse gear or opened my own door while parked and stationary!

My indicator-click noise generator could be extended to generate the other warnings noises too - they will all have a particular signature on the CAN bus that could be watched for, and when those types of events occur (door open etc) you could make a different sound in the cabin.

I actually already do this for the situation of when the vehicle is in drive mode but the foot operated parking break is still engaged. The Leaf has so much torque it can still drive with the park-brake engaged and if it weren't for some sort of audible indicator my dear old Mum would just drive around with the park brake on when she borrows mr car! lol :)

(yes, the instrument cluster also flashes a visual warning, but my Mum watches the road when she's driving)

Perhaps could add an internal speaker connector to your replacement VSP's PCB and it could do the job of generating those noises as well (again, with customised noises if you like - eg maybe a sexy voice saying "Haven't you forgotten something?" when you drive without the seatbelt on...).

I'd be happy to help sniff some of the CAN events or help work them out from the DBC if you feel like extending the project.
 
Very fascinating! The speaker in my eNV200 is not working and I don't know where to find it. Any idea where in the engine bay it's located?

I don't know where the NV200 speaker is mounted, but in the ZE1 it was behind the front grille and in the ZE0 it was up in the drivers side wheel guard - in both cases near the "engine bay" but not actually accessible from the engine bay.

I posted some pictures here in another thread of the ZE1 with the front bumper off to access the VSP module, but some other people have been able to squeeze their arms through the gap and access it without taking the bumper off.

If you do discover the location in your vehicle then I encourage you to post photos for others.

I guess it's probably in the service manuals too, but I'm not sure if those are readily available for the NV200.
 
I'd be happy to help sniff some of the CAN events or help work them out from the DBC if you feel like extending the project.
Thanks! I guess the first step would be to figure out a comprehensive list of the sounds that would need to be re-implemented - I don't want to miss any.
I only found 3 different warnings listed in the North American service manual under "Warning Chime System", which definitely doesn't cover everything:
1733970517885.png
It seems to imply that some of the warnings (e.g. door-open) might be triggered by the BCM (which sends a buzzer command over CAN), while others (e.g. seatbelt) might be triggered by the combination meter itself and sounded directly. I haven't seen any mention of the signal path for the indicator/hazard click sounds, though presumably the combination meter just sniffs those over CAN the same way your module does.
 

Attachments

  • 1733970904011.png
    1733970904011.png
    82.4 KB
This is incredible! Been searching a little over a year to see if this was a possibility, I'd love to have something like this! 🙌
 
Last edited:
I've uploaded the source code in case anyone's interested in building one of these for themselves:
https://gitlab.com/mead-software/leafy-warbler-firmware

Volume control is achieved by putting the car in neutral & using the cruise control +/- buttons on the steering wheel.
It makes for a nice interface and cruise control itself is inactive in neutral, but I wonder if there's anything else that could conflict with it?
Seems to be working so far anyway.

For those who don't want to mess around with electronics & compiling firmware, I've ordered a set of prototype PCBs, enclosures and enough parts to put a few finished units together and I'm hoping to make some available in a month or so if everything goes well.
 
I've been working on a plug & play replacement for the Leaf's VSP (Vehicle Sounds for Pedestrians) controller & tested my first fully-integrated prototype today!

The weedy whirring whoosh noises and horrible sonar reversing pings from my 2017 ZE1 JDM Leaf really annoyed me - enough that I disabled the reversing sounds completely through LeafSpy - but I still wanted to have some sort of external sound for pedestrian safety at low speeds as well as just for fun. Here's what I came away with:
  • Real-time audio synthesis based on vehicle speed & accelerator position
  • Volume control (all the way down to fully silent if desired)
  • Stock (or aftermarket) temporary mute button compatibility
  • Plug & play compatible with the stock module - no warning lights & no wiring harness modification required
  • The ability to "rev" the "engine" at stop lights 😎
I've put together a few photos of the prototypes & a video showing it all in action below:
View attachment 5968


It's meant to sound recognisable as an engine at low range so people will instinctively be aware an active car is nearby, but then get a bit silly & sci-fi as it ramps up.
Overall, I'm really happy with how it turned out & I'd love to hear what everyone thinks of it.

Big thanks to all the members of the community both on these forums & elsewhere whose work made this possible, particularly @macgeeknz's CAN tips and work on a VSP-delete, @Dala & co's CANbus repo, and Comma's Leaf DBC.

Other ideas I might try are adding different synth options and/or mp3 playback for full customisability.
I've already designed a custom PCB and housing to make it a lot more robust & easier to assemble.
If people are interested, I'll make a whole batch and try to sell a few.
Personally, I find that the Leaf’s heater fan makes more than enough noise – both outside and inside the car, to warn any pedestrians.
 
For those who don't want to mess around with electronics & compiling firmware, I've ordered a set of prototype PCBs, enclosures and enough parts to put a few finished units together and I'm hoping to make some available in a month or so if everything goes well.

I'd be interested in a kit version that I can solder together (unless your PCBs are gonna be populated with SMDs).
 
I'd be interested in a kit version that I can solder together (unless your PCBs are gonna be populated with SMDs).
They're almost entirely SMT 😕
The only THT components are the harness connector and optionally a couple of extra JST connectors (one external CAN access for development & one for adding a few aftermarket mute/programmable buttons)

If you're looking for a bit more of a project and you're comfortable wiring things up on perfboard then recreating my initial prototype should be pretty doable. The only change I'd make would be to mount the connector (1318382-2) directly on the board - it's close enough to standard 0.1" pitch that it'll fit with a little encouragement. Other than that, just wire everything together as shown in the photos & load up the firmware.

The development modules are all available on amazon/aliexpress or send me a DM if you like - I think I have enough parts left over from prototyping to put together a set.
 
Any idea if would work in a 2015 (ZE0)?
Theoretically yes

Some of the very early Leafs used K-Line for communication with the VSP, but the wiring diagrams I've found suggest they switched to CAN somewhere around MY2013 and it should be electrically compatible from then on. Other than that, some of the ZE0 CAN signals might be different but they could be added to the firmware very easily once identified.

The CAN signals it currently listens to are:
  • 0x421 Gear selector
  • 0x280 Cluster vehicle speed (alternatives could be ABS 0x284/0x285)
  • 0x239 Cruise control (accelerator position & steering wheel buttons)
 
Back
Top