The other day I wrote a post about hooking up my Enfig and JoyCon components so that I can get steering wheel controls in my new headunit setup. I mentioned that I was unfamiliar with the correct wiring (so I’d be avoiding soldering!) and that I was having some trouble with getting JoyCon explorer to do what I wanted. I did have success with getting button presses being recognized by the software, which was awesome, and suggested that I was doing at least something right. I’ve since updated that post because I’ve had a mini breakthrough on how things are supposed to work!
I wanted to take the opportunity to give some more clear instructions for what I did so that anyone else trying to get setup with this will have an easier time. It’s not complicated stuff, but when you have no experience doing this type of thing (wiring components together, fiddling with your car electronics, etc…) things can seem a bit overwhelming at times.
Things you’ll need:
- Enfig wiring harness with universal adapter for steering wheel controls… Get the one for your car!
- JoyCon EXR
- JoyCon explorer
- Radio removal keys (or some skills for removing your car’s factory headunit)
I’ll also re-iterate like I have previously that I’ll be focusing on the 2012 Audi TT RS in this post (since that’s what this entire installation series and website is about). I hope that if you have a different vehicle the information is still useful for you! Like I mentioned in the intro, we won’t be doing any soldering here, and I personally don’t recommend you solder a damn thing until you know how you need to connect stuff.
Previously, I had connected the Enfig and JoyCon units together, and I had some amount of success getting buttons to register within JoyCon explorer. This means I did something right. Once I realized how to position and configure resistors in JoyCon explorer (which I’ll explain a bit later), I realized that I couldn’t get the granularity I needed on the channels I chose on my JoyCon device. Not all was lost though!
Let’s look at what I did wrong before, and what I did the second time around (the black circles are my terrible way of showing where I twisted wires):
In the above diagram, you can see the first wiring setup suggests I have channels 1 to 4. First of all, there’s no numerical channels on your JoyCon device. Second of all, they are in order from bottom left of the device to top left of the device; they’re in a completely different order than I originally assumed. Yes. Yes I should have read more carefully before I did anything… but hey, you’re here now reading this so don’t make my mistake.
The second wiring diagram shows key 1 on the Enfig harness going to channel A and key 2 going to channel B. Like I had originally done, I put the ground connections for those two channels together and connected that to the ground wire that’s with the key wires coming off of the Enfig harness. The best part of all of this? If you messed up like I did originally, you can just swap the wires from the connector side of things and not need to re-twist any wires together. Super easy.
Here’s a shot of it all out on the counter:
Testing It Out
Okay, once you get things wired up like this, it’s time to take the harness+JoyCon combo to your vehicle. Use whatever means you need to to remove your factory headunit. For the 2012 Audi TT RS, I just used a set of four radio removal keys from Enfig. They pop right into four slots on the factory headunit (one of the slots is tricky to see), and then you just keep tugging on the headunit until it pops right out.
Once the headunit is out, disconnect the passenger air bag light if you need to get some extra mobility and then disconnect the big harness connector on the back of the headunit. Now, take your Enfig harness and connect it to the harness portion that’s still inside the vehicle. Take the other end of your fancy harness (where the JoyCon is) and connect it via USB to your computer that has JoyCon explorer on it.
Now that everything is connected together, turn on the vehicle and launch JoyCon explorer on the computer. If nothing explodes or catches on fire, then you’re doing alright so far. Head on over to the “Button” tab in JoyCon explorer and then make sure to check off the “Setting” checkbox. Check out the picture below to see exactly what I’m referring to:
Now, you’ll notice ever so slightly above that checkbox is an “Auto Detect” button. Go ahead and press that. Now the fun starts.
Press each one of the buttons on your steering wheel. JoyCon explorer will mark up a resistor offset, Width 8/range for you. This saves you all of the hassle of trying to guess at what you’re doing. Feel free to press the same button more than once… It won’t mess anything up.
So, where did I go wrong before? Well, first of all I didn’t use auto detect. Rookie mistake. Secondly, since my key 1 wire was mapped to channel D, I couldn’t get enough resistors placed within JoyCon explorer to handle all the button mappings! With everything I need on channel A, things worked out pretty well.
The following is a breakdown of the preset I came up with:
- Mode Down: Offset 143, Width 8
- Mode Up: Offset 124, Width 8
- Volume Up: Offset 158, Width 8
- Volume Down: Offset 172, Width 8
- Speak (quick press): Offset 80, Width 8
- Speak (hold minimum 1 second): Offset 106, Width 8
I actually found that holding the speak button provided ANOTHER button combo! Cool! Still nothing for the mode button though. Once you’re all done, press the auto detect button again. That should be it 🙂
My next steps with this are picking the right keys to map! I think in the short term, I’ll likely hookup a keyboard to my tablet and try experimenting with what keys make sense. There’s some obvious ones in my opinion, like mapping the volume to actual Android volume keys… But what about the speak button? What about holding the speak button down? Some of my preliminary thoughts are using this for play/pause toggle on quick press, and press and hold to do voice commands. We’ll see!