Skip to content

An Arduino project to adapt resistive SWC (Steering wheel controls) to non-standard radios

Notifications You must be signed in to change notification settings

offspringer/swc-adapter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Contributors Forks Stargazers Issues LinkedIn

About The Project

This project aims to adapt existing steering wheel controls for a non standard car radio. It's designed to work with Nissan models, but should work in any other resistive steering wheel controls. Essentially, it converts resistive analog values read from the buttons present in the steering wheel into values the car radio is programmed to understand. Naturally, there are several adapting interfaces on the market, but not seemed to work with the setup being used by me, simply because the radio being installed belongs to another car of the same manufacturer, thus, not a standard off the shelf brand, like Pioneer, Kenwood or JVC. Interfaces available on the market are non programmable and non customizable. Additionally, I'd like to learn a different technology as well. Who doesn't?!

Built With

Getting Started

To get a copy up and running follow these steps.

Prerequisites

This project requires an Arduino compatible board with at least 2 analogue inputs, two digital potentiometers, steering wheels controls removed from the steering wheel itself (of course, depending on how advanced you're with Arduino prototyping, you could simulate your own buttons as well), a multimeter and a car radio (or just a multimeter if you're a hundred percent sure it's gonna work once installed).

Components

These were the components used (so far):

  • Arduino Uno board;
  • 1x 100000k Ω resistance;
  • 2x X9C103S 10k Ω digital potentiometers;
  • A tension regulator to be defined;
  • A case to be defined.

Building

Probably a diagram will be included here anytime soon, I swear.

Installation

Once completed, flash the code into your board. Don't forget to comment out the constants responsible for enabling additional serial output, so you don't force your microcontroller to execute extra and unnecessary instructions. You'll find them in the inbound.h file:

#define  INBOUND_RESISTANCE_DEBUG // Enables serial printing for resistance
#define  INBOUND_BUTTON_DEBUG // Enables serial printing for button

Usage

To install it in the car, we'll basically intercept the wires 6 and 16 from the Nissan harness J502 ( wires SWC-A and SWC-B from the famous 20-pin Nissan connector) and also the wire 15 (SWC ground), and power it on by using the car battery, which is 12v and requires a tension regulator to protect the integrity of the Arduino board. Nissan harness pinout

Roadmap

See the open issues for a list of proposed features (and known issues).

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project

  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)

  3. Commit your Changes (git commit -m 'Add some AmazingFeature')

  4. Push to the Branch (git push origin feature/AmazingFeature)

  5. Open a Pull Request

Acknowledgements

About

An Arduino project to adapt resistive SWC (Steering wheel controls) to non-standard radios

Topics

Resources

Stars

Watchers

Forks