Close
0%
0%

Clio2JVC

Arduino based signal converter, enabling stalk remote in Renault Clio to control JVC radio.

Similar projects worth following
This project is an Arduino-based controller, which main purpose is to enable stalk remote in my Renault Clio equipped with JVC radio device. Implemented functions include also volt- and speedometer.

Background

Some time ago I put a JVC KD-X342BT into Renault Clio II, originally equipped with Update List radio device. This car is equipped with a stalk remote control, placed next to ignition switch. Also, mentioned JVC radio has a single, blue-yellow cable at its back, labeled as "steering wheel remote". Since installation I wanted to connect it all together and use the stalk remote. So I started looking for a solution, and I've found several similar projects. All links I used can be found in Credits section.

Assupmtions

  1. Use existing connectors as much as possible.
    It wouldn't be acceptable to disassemble half of the car just to plug some wires. Existing connectors allowed original radio to communicate with remote, so there must be some kind of connection. This communication takes place over CAN bus.
  2. Automatically increase and decrease volume basing on current car speed.
    I drive on highways quite often. Unfortunately, noise level increases greatly when I reach speeds above 100 km/h. In such cases I need to turn volume up and then turn it down as I decelerate. It is a bit burdensome to do it manually, and original radio had this feature built-in. It would be great to have this function.
  3. Utilize central display in some way.
    Original radio uses central display to show RDS info, FM frequency etc. Aftermarket radio of course isn't connected to it, so display shows only time and external temperature. I thought I could utilize it to display car's speed. 

Hardware

  • Stalk remote control (part no. 820058695),
  • AFFA2 display (part no. 8200380298 - probably, looks like mine),
  • JVC KD-X342BT (presumably will work will all other JVC radios which use single wire interface for remote control).

For wiring diagram look here.

Software

Source code is available on my Github.

Credits

Big thanks to my brother who designed and 3d printed the enclosure!

List of links I used in any way in order to build this thing:

... and countless C++ and Arduino reference pages I had to read!

wiring_revA.png

Wiring diagram in a .png file.

Portable Network Graphics (PNG) - 46.21 kB - 09/24/2020 at 06:37

Preview
Download

distance calculation.xls

Data I've collected in order to estimate constant distance value required for speed calculation.

ms-excel - 980.00 kB - 10/05/2019 at 20:30

Download

enclosure-bottom.stl

STL file of bottom part of enclosure.

Standard Tesselated Geometry - 94.61 kB - 10/05/2019 at 18:55

Download

enclosure-top.stl

STL file of top part of enclosure.

Standard Tesselated Geometry - 122.74 kB - 10/05/2019 at 18:54

Download

  • 1 × Arduino Pro Micro I used a clone bought on Aliexpress
  • 1 × MCP2515 CAN Bus Module
  • 1 × Si6823 NPN transistor Extracted from compact fluorescent lamp's starter. Any other NPN transistor with similar parameters should be okay though.
  • 1 × 4-way car connector For power and speed signal wires
  • 1 × 1-way car connector For radio remote control wire

View all 15 components

  • Some thoughts after a year of using it

    Karol09/24/2020 at 07:25 0 comments

    In general, I'm quite satisfied with Clio2JVC. For most of the time it works just fine, without any issues.

    There are some minor problems I'm working on:

    1. Initialization failures.
      Occasionally it does not start up correctly. In such cases a reboot is required. It could be done with reset button, but the controller box is hidden behind the radio. It is easier to turn off ignition for a moment. A bit annoying thing.
      I'll try to put initialization procedure in a loop. It will resend all the required packets until it is correctly initialized. Hopefully that will fix it.
    2. Auto-volume issues.
      Sometimes I think auto-volume is too strong. It would be great, if I could control its parameters without recompiling the program in Arduino. I'm thinking about some kind of menu. No idea if this is achievable though.
      Another issue is that mute be cancelled by automatic volume change. I already have a fix for that, but it will only work with remote.
    3. Odometer.
      I've added a function to measure distance. Unfortunately, there's an error which impacts displaying distances greater or equal to 100 km. I already have a fix.
    4. Code cleanup and icons.
      The code is a mess. It works, but its readability leaves much to be desired. I'd like to clean it up, probably also introduce some more classes.
      It could be also nice if I could control Clio's display icons. I've got an idea that I could blink one of these if voltage dropped below some threshold. So far this functionality is not implemented, I need to do some research about it.
    5. Wiring diagram.
      There was a mistake in wiring diagram. Chassis and Arduino GND were in switched places on LM2596. I just corrected that.

View project log

Enjoy this project?

Share

Discussions

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates