Steering Wheel Buttons w/Aftermarket Stereo | Arduino Project - Save $$$ and Build it Yoursef!

Поделиться
HTML-код
  • Опубликовано: 31 июл 2024
  • Today's video shows how I built a Steering Wheel Control Interface for my Pontiac Grand Prix and Kenwood Stereo.
    ** Support This Channel **
    If you shop Amazon for holiday gifts or anything else, it would help my channel greatly if you started with this link:
    * amzn.to/3P66GL4
    I get a tiny commission (costs you exactly the same) and helps me keep this channel going! Thanks in advance, and Happy Holidays!
    -----------
    More details and links on the website:
    * JustinNelsonsProjects.com
    While researching and editing this video, I learned that most GM vehicles from this era (early to mid 2000's) with these buttons SHOULD have the exact same resistor divider on those buttons. Reason? They put the same stereo in many different vehicles (duh!)
    So this may just work without modification, with many Chevy, Pontiac, Oldsmobile, Buick and other GM cars/trucks. Especially if you happen to have a Kenwood stereo.
    You will STILL need the normal harness adaptor for wiring up the stereo - I am assuming you already have the stereo installed, and just want to bring those dead buttons back to life without spending another Benjamin!
    Parts used in this project (Amazon Affiliate links - helps my channel!):
    Arduino Nano (just pick an inexpensive clone from the search results, I use the ELEGOO ones):
    * amzn.to/3qmWzpV (YIKES the prices have gone UP!)
    The infamous "Black Box" project box:
    * amzn.to/3L1pKrY
    "T-Tap" wire connector assortment:
    * amzn.to/3TWyCTD
    Adjustable mini Buck regulator:
    * amzn.to/3TVQDSd
    Single-sided "perf board" PCB board assortment:
    * amzn.to/3TYqHFk
    Transistor Assortment:
    * amzn.to/3quQirW
    Resistor Assortment:
    * amzn.to/3xagtrH
    Hook-up wire kit, different colors:
    * amzn.to/3B9dOA2
    Most of the above items are components I use for many projects; assortment packs ensure you always have what you need, when you need it...
    Not comfortable building it yourself? Here is a general search for "Steering Wheel Control Interface. Using my link helps the channel. Choose your Vehicle to narrow results:
    * amzn.to/3B4aTZ3
    The article that inspired the second half of this project:
    * init6.pomorze.pl/projects/ken...
    (Yes it's a Ford but this will work with many vehicles - just watch the video)
    Wiring diagram for the Pontiac Grand Prix (this one is for the "premium" sound system with amp etc, you can ignore all of the stuff to the right):
    * portal-diagnostov.com/en/2020...
    Supporting This Channel:
    - Thumbs Up
    - Subscribe
    - Hit Bell
    Better yet, become a Patron:
    / justinnelsonsprojects
    ** Table of Contents (For RUclips Chapters) **
    00:00 - Introduction
    00:15 - Removing Stereo that Came with Car
    00:35 - Short Tirade about "Dead Buttons" :)
    00:45 - Options to Purchase SWC Interfaces...
    01:25 - Decided to Build my Own
    01:46 - Specific Type of Car Wiring Needed
    02:10 - Obtain a Wiring Diagram
    02:21 - Teaser about Future, Improved version
    02:32 - What I Built (Today's Video)
    02:45 - What the Radio Expects as Input
    03:02 - How to Proceed? What do we Need?
    03:47 - Dive Into the Wiring Diagram
    04:05 - Break Out the Ohm-Meter!
    04:20 - My Schematic Diagram (Details Explained)
    06:22 - Test Sketch in the Car
    07:05 - Code to recognize Button Presses
    07:36 - Bonus Mini-Project (Capture IR Codes)
    07:57 - How do we control the Stereo?
    08:26 - Safely connecting the Arduino to Stereo
    09:09 - Success, & Final Wiring into Car
    09:41 - End Result - Saved $$$ and Works!
    10:05 - Future Plans for This Project
    10:20 - Final Wrap-Up & Other Videos
  • Авто/МотоАвто/Мото

Комментарии • 42

  • @tommills2097
    @tommills2097 2 месяца назад +1

    Terrific video; informative, straight forward, direct. thank you.

    • @JustinNelsonsProjects
      @JustinNelsonsProjects  2 месяца назад

      Thank you for the kind words, comments like this make it worth the effort!

  • @epicduckdude2740
    @epicduckdude2740 11 месяцев назад +1

    Underrated af video. I’m creating custom buttons involving: vol up, vol down, pause, play, seek forward, seek backwards, mute, and Siri, for my 2001 mustang. From factory there’s no audio controls (obv) but what shocked me is that there is ZERO support for attempting to add your own. Your video was very useful in understanding how the arduino can read what buttons are being pressed, and how I should wire it to the radio (an alpine ilx-w650). There are still many questions I have that ill probably answer through trial and error, but if you’d like to aid me through my design and test process, respond to this comment and we can get in contact somehow. You definitely earned a sub from me, excellent video.

    • @JustinNelsonsProjects
      @JustinNelsonsProjects  11 месяцев назад

      Actually you can purchase aftermarket steering wheel buttons, they're basically like little tiny wired button boxes that you stick on to your existing steering wheel, however they generally look kind of tacky. And for what it's worth, a lot of GM vehicles had steering wheel buttons as far back as 2000...
      As for rolling your own solution by creating your own buttons, with the Arduino it would be easier to actually just assigned each button to a gpio pin, rather than doing a whole resistor divider. That's mostly done to save on copper wiring in Mass produced vehicles...
      From there, the output would still work in the same fashion. But registering which button has been pressed would be a lot easier done digitally by literally just pulling the PIN to ground after initializing it as a input pull up...
      Just a suggestion. If I had to roll my own controller, that's probably how I would do it and I'd have the Arduino probably contained within the button box. You could 3D print something stylish that would fit in with the mustang....
      Just some thoughts, hope this helps 😀

  • @supme7558
    @supme7558 9 месяцев назад +2

    I love this guy hell yes

  • @tjdoozer9387
    @tjdoozer9387 3 месяца назад +1

    Just wanted to say thanks for the vid. I just built an interface for a 2004 Bonneville so this vid was perfect! I have a Pioneer radio so I had to figure out how to feed it the correct resistance values for the different functions. I used a digital potentiometer for that. This was a time-consuming project, but I'm pleased with the results. Tip: My cheap Nano clones output 3.7v on the 3.3v pin. I used a 20k trimmer instead of the 10k resistor. Using the serial monitor, I was able to dial in the trimmer so my buttons are right on.

    • @JustinNelsonsProjects
      @JustinNelsonsProjects  3 месяца назад

      I'm glad you had success with this project, as we all know every vehicle is different even if they're made by the same company such as General Motors.

    • @tjdoozer9387
      @tjdoozer9387 3 месяца назад +1

      @@JustinNelsonsProjects For sure. I still checked with the factory service manual and measured my actual wheel. Your sketch was a good starting point and I don't think I had to change much. Well, with the top half anyway. I might have to get a Kenwood in the future. I like my Pioneer but the wired remote is limited. Fortunately I'm not so lazy that I can't just reach over if I need to 😁

  • @mllarson
    @mllarson Год назад +2

    I'll most likely use a variant of this for my truck. It has no steering controls, but I have a media remote that I am going to try with my new stereo. If the stereo doesn't directly support Bluetooth LE (packaging is unclear), then I'm going to try an ESP 32 as a middle-man between that remote and the steering wheel wire. There are tutorials by Andreas Spiess on how to do the communications. It'll be a fun project at least 😀

  • @konstantinpalkin2177
    @konstantinpalkin2177 4 месяца назад +1

    Thank you for this tutorial. I just finished SWC project based on your video. It's Honda Pilot with only 4 buttons. I modified SWC.ino code that it sends signal to radio only when button is released. That allows to implement long hold feature and send another code when hold 1 sec. So, same button can either switch to Next track or Next folder.

    • @JustinNelsonsProjects
      @JustinNelsonsProjects  4 месяца назад +1

      That is awesome to hear! I hadn't thought about doing like a long press or double click feature, but I have eight buttons on both my truck and my car so I'm not exactly short on buttons.
      But that's an awesome mod! If you could upload the code to Google drive or a Dropbox or something like that, and share with the community, I'm sure it would be appreciated 😀

    • @konstantinpalkin2177
      @konstantinpalkin2177 3 месяца назад +1

      @@JustinNelsonsProjects YT removes comments with an URL. This is fourth time I'm trying to add link to my project on arduino CC. So, you should know main domain and editor link, here is my unique portion of url, just append it after editor/. emanation/5b00c9ea-a580-4165-aafd-1cc96595b0f4/preview

    • @JustinNelsonsProjects
      @JustinNelsonsProjects  2 месяца назад

      @@konstantinpalkin2177 I'm going to work on adding a discussion forum on my website, where I will in fact allow inline video links as well as external links
      I didn't realize RUclips was so restricted about external links in comments, so I'm going to create an area just for my viewers and anyone who's implemented these projects to be able to share their experiences in video form...
      Give it a few weeks, I have a lot going on right now but look forward to that 😀

  • @MarclenChin
    @MarclenChin Год назад +2

    I'm pretty handy with wiring in a car, and I'm comfortable with code....but where can I learn the electronics aspect of doing something like this?

    • @JustinNelsonsProjects
      @JustinNelsonsProjects  Год назад +1

      The video has pretty detailed schematics and a good walk through, but to get an understanding of how to read and interpret a schematic... I would suggest checking out Dave's videos at his EEVblog channel:
      youtube.com/@EEVblog
      A lot of his older content, some of it 10 plus years old, can help you get a good understanding of electronics in general, how transistors work and various other components. He makes videos on a lot of different topics, but most of his older stuff was really good beginner tutorials.
      Or just Google any basic course on beginner's electronics. I still plan an update video sometime in the future, and I will actually focus a little more on the actual circuit board build... In fact that's the most requested thing from my viewers -- I never really show the dirty details of actually putting the circuit together.
      Best of luck and thanks for watching. It really is satisfying to not only save a hundred bucks on a pre-built box, but when you get to the point where you use the steering wheel buttons all the time and don't even think about the fact that you built the interface yourself, it's just a great feeling 😁

  • @StefanBalea
    @StefanBalea 8 месяцев назад +1

    Very usefull video. I woukd like to do the same for my Renault Kangoo Minivan. The adaptor is almost $80 but the main reason is that I would like to translate the function of two buttons to pick/hangup call. The source button is useless, I would use only the BT and very rarely the Radio.

    • @JustinNelsonsProjects
      @JustinNelsonsProjects  8 месяцев назад

      You can most certainly program pretty much any button to send any remote command to the stereo. I reassigned a couple of my buttons in a similar way.
      Back in the day I put a $160 converter box made by bosch, in my Silverado pickup. Unfortunately four of the buttons do absolutely nothing useful, one even caused my stereo to freeze up... and this is of course before I got into microcontrollers. I'm soon going to make another one for that vehicle...

  • @David-qs2xx
    @David-qs2xx Месяц назад +1

    Hey I’m having a problem with my 2015 Silverado because the android head unit uses a press and hold function to learn the button but the next and previous buttons only sends a quick signal you can’t hold and press it and because of that it don’t learn those two buttons can anyone help

    • @JustinNelsonsProjects
      @JustinNelsonsProjects  Месяц назад

      I'm afraid on this question, you might need to seek help elsewhere, possibly the manufacturer of the Android head unit. My video is mostly about older vehicles talking to *somewhat* modern stereos, but not the Android powered ones...
      I have zero experience with Android head units, and I'm personally not a fan of touch screen interfaces in a car. I mean don't get me wrong, I love my Android LOL, I just don't think it belongs in the head unit. I believe the head unit should just be a (dumb) Bluetooth receiver, and the Android operating system (or iOS) on your easily replaceable/upgradeable phone...
      This is of course personal opinion, but my point being, I don't have any experience with that type of setup so I would be of little help...

  • @msmonee91
    @msmonee91 9 месяцев назад +1

    How about hooking up to an iPad? So that the iPad is the headunit and the SWC can work with iPad directly? Would the Bluetooth one work with iPad?

    • @JustinNelsonsProjects
      @JustinNelsonsProjects  8 месяцев назад

      That would be a completely different project all together... I don't think I would use an iPad as a head unit, when for a LOT less $$$ you can get an Android drop-in touch-screen car stereo that's suited specifically for that purpose (eg, has 4-channel amp etc)... plus I personally don't work with iOS as it's too restrictive for me...
      In theory, you should be able to control an iPad via Bluetooth, using a microcontroller project such as this but using one with a BT chip on it... perhaps an ESP, though I'd be weary about the ESP's ADC not being very accurate or predictable (for the actual buttons)...

  • @boblinza9696
    @boblinza9696 9 месяцев назад +2

    Hi, Sorry if this is a dumb question, but I think I need to combine the two sketches that you have - SWC & KENWOOD into one sketch to run on the Arduino. Does that sound right? If not, how do you get them both on the Arduino and running? As far as I am aware the Arduino can only run one sketch at a time. Thanks!

    • @JustinNelsonsProjects
      @JustinNelsonsProjects  9 месяцев назад

      The two sketches are for two different purposes. The main sketch, that controls your stereo, is what will run on the Arduino once everything is set up.
      The other sketch is just something to run on a breadboard, so that you can capture codes from the stereos original infrared remote control. So if you have something other than a Kenwood (or JVC, same company), you might need to capture what code is output for each button on the remote.
      Of course you can use the same Arduino to first capture those codes, and then try to emulate them with the other sketch after you've modified those codes in that sketch...
      If you do have a Kenwood or JVC, that other project isn't necessary at all. The codes that already exists in the main sketch will work with Kenwood and JVC stereos, at least three different ones I have tried personally, going from a single DIN CD deck up to a full Bluetooth hands-free dual DIN...
      Also as long as you're working with a General motors vehicle, up to the mid to late 2000s, that sketch should pretty much be plug and Play so to speak...

    • @JustinNelsonsProjects
      @JustinNelsonsProjects  9 месяцев назад

      I realize this can be a little overly complex, and to be honest it was a lot of trial and error on my part as well. It is not a project for the faint of heart...
      In the future I am working on a more modernized version that would be a lot more plug and play, kind of self learning. That is an ambitious project on my part, but it would make it much easier for you guys to implement it. I don't know when that video will come out, I have a bunch of other projects in the pipeline right now, but subscribe and maybe one day that will pop up soon 😁

    • @boblinza9696
      @boblinza9696 9 месяцев назад

      @@JustinNelsonsProjects OK, thanks for the reply. I did see the IRCapture sketch, but the other two (SWC & KENWOOD) look like they need to be combined. I'll study them a little more.

    • @JustinNelsonsProjects
      @JustinNelsonsProjects  9 месяцев назад +1

      @@boblinza9696 honestly I haven't looked at those sketches since I first uploaded them. And even then, I uploaded the sketches probably a couple weeks and maybe a month after the video went live.
      It's possible I mixed up two different sketches. I will look into this tomorrow, and see if I can make things a little bit easier to follow. I appreciate the heads-up, and the interest in the project.
      And just so you know, there is absolutely no such thing as a dumb question 😉 if it needs to be asked, then the answer wasn't explained properly the first time. I always appreciate feedback, it helps me make these videos and the accompanying files better for future videos.

  • @supme7558
    @supme7558 9 месяцев назад +1

    Thats just bove my pay grade i barly got the awi-rc-1 and a kenwood working in my subi

    • @JustinNelsonsProjects
      @JustinNelsonsProjects  9 месяцев назад

      Yeah this project is a little complicated if you're not already into electronics. But if so, it's so satisfying every time I press a button knowing that my little project and my code is making that happen 😁

  • @leohaukipuro7896
    @leohaukipuro7896 4 месяца назад +1

    Have you gotten this to work in canbus system yet? And even though my car has canbus, is the steering wheel control necessarily controlled by canbus or could it be the simpler type?

    • @JustinNelsonsProjects
      @JustinNelsonsProjects  4 месяца назад

      Not just yet, has the video shows I did that in my Grand Prix. But my Silverado has this crappy Bosch interface that just doesn't work that well. So I plan on doing another version of it for the truck...
      Unfortunately it is also a resistor divider, I don't currently own a vehicle that relies on the can bus for the steering wheel buttons.
      Springtime is when I tend to purchase vehicles that need attention where I can flip them for a profit, the next one I get my hands on hopefully will have a can bus version, at that point I'll be able to write Arduino code to accommodate that setup.
      The unfortunate part is, until I have a vehicle that uses can bus for the steering wheel buttons, I literally have no way of riding the code and testing it out. But hopefully sometime early spring, I'm actually looking for a used Prius that needs battery replacement.. there's a lot of money in that, and I'm pretty sure the Prius is all can bus .. we're pretty much any more modern car.
      Keep an eye on this channel, when I do crack the can bus thing, there will definitely be a video and I'll make sure I detail things out to make it very easy to understand.
      I literally just reread the last part of your comment. Even if everything else in the vehicle is run by the can bus, it is still entirely possible that the steering wheel buttons for the radio are just analog resistor dividers. The only way to know for sure would be to look up the wiring diagram for your vehicle.
      Even my Chevy silverado, while it has buttons for the stereo that are analog resistor dividers, there are also four additional buttons that are completely can bus. Those would be the buttons that show me the mileage and all that other fun stuff on the digital dash display. But yet the actual stereo buttons are still a resistive divider....
      Again the only way to fully know for sure, would be to Google the wiring diagram, and I know that could be daunting, for your specific vehicle....

    • @leohaukipuro7896
      @leohaukipuro7896 4 месяца назад +1

      I did research on the matter and basically I'm pretty sure my core does have analog signals for the controls, i will be trying to make a bluetooth to 3.5mm aux adaptor with steering wheel controls working out of an esp32 fro my car. Thats the only way to make everything work without some expensive bluetooth module at least that i've figured out.
      Anyways the project cost is about 20euro which is nothing compared to store bought device and i like the diy part so I'll see if i get it to work
      I'll be waiting for the video once you get around to do the canbus version
      @@JustinNelsonsProjects

    • @JustinNelsonsProjects
      @JustinNelsonsProjects  4 месяца назад

      @@leohaukipuro7896 Even vehicles that utilize the CANBUS for everything else (including other steering wheel buttons like shift paddles, cruise etc) often STILL use an analog resistor-divider array for the stereo controls.
      My Silverado for example, has CANBUS buttons for controlling the dash display, resetting the oil change interval etc... yet the stereo buttons are in fact analog...
      Since I do not own a vehicle with CANBUS stereo controls, I really don't have any way to implement and test that method... I think mostly foreign cars use the CANBUS for this, and in my 48 years I've yet to own a foreign car (just preference honestly, not making a political statement here lol)...

    • @leohaukipuro7896
      @leohaukipuro7896 4 месяца назад

      Oh that clears it up, thanks for the advice! I will be digging out the wires for steering wheel controls some day and see if i can get them hooked up to the esp32 and get them working.@@JustinNelsonsProjects

  • @boblinza9696
    @boblinza9696 Год назад

    I'm just getting my feet wet with this, but how can you tell if your radio expects resistance values, or pulses on its SWC input? In particular, I have a Kenwood DDX8906S and unsure what it is expecting. Thanks

    • @JustinNelsonsProjects
      @JustinNelsonsProjects  Год назад +1

      The only stereos that I am aware of that accept directly the resistor divider, would be the Factory stereo. Aftermarket stereos *almost always* expect pulses, corresponding to the IR remote (regardless of whether the stereo itself came with the remote control itself, it's still built on the same circuitry.
      Kenwood/JVC specifically I can assure you, expects a remote control pulsed/encoded input.

    • @boblinza9696
      @boblinza9696 Год назад +1

      @@JustinNelsonsProjects OK, thanks for the reply!

  • @tman4102
    @tman4102 Год назад +1

    I was looking at this project as I am considering a new radio for my car. I thought I would try to do some bench testing with a radio someone else had laying around. It is an Alpine CDA-117. I was wondering if you had more information about gathering the IR codes. I have mapped out the codes for each button press, but I don't see how they line up or how it works in the code for the nano. Do you have the full NEC Raw Code data map for the Kenwood so I could compare? I checked the other guys project and it seems to have what I would call the truncated codes. I get a 32 bit code from NEC Raw Data, a radio code which seems to be the Address (0x86 for me) and Button Codes. From his data, I am not sure where his LSB data comes from. Example of remote gathered data: Power Button = 0x614E906F (Radio Code = 0x86) and Button Code = 0x9

    • @JustinNelsonsProjects
      @JustinNelsonsProjects  Год назад

      I made that video about 6 months ago, I haven't really looked at the code since. I have however dug much deeper into infrared remote signals as I built a programmable infrared repeater for home AV equipment, video coming soon on that one.
      For this particular project though, I basically took some code I didn't fully understand yet and adapted it for the kenwood. The saving Grace was I happened to have the actual Kenwood remote control in order to map the buttons.
      In the near future I will revisit that code, and maybe add better commenting and structure it a little bit differently to make it easier to adapt to other brands of car stereo etc. My ultimate goal is to create a total Black box solution where you can not only capture the remote control buttons, but also capture the steering wheel buttons and save all that to the eeprom of the Arduino...
      The end goal there being, it would be totally universal, you build the project as shown and follow the programming instructions. Much easier than anything I've found "off the shelf".…
      I will look into the original code that I posted and see if I can point you in the right direction probably in the next day or two.

    • @tman4102
      @tman4102 Год назад

      @@JustinNelsonsProjects Thanks for the reply. I am looking forward to any updates.