JoyCon + Enfig
For my headunit installation, I wanted to make sure that I could preserve my steering wheel controls. They’re a huge convenience and it’s not like I’d be removing them… so the only other alternative is to make them work with my head unit 🙂
The pieces I need for this setup are:
- JoyCon EXR: This fancy little board is the component that will map my steering wheel controls into signals over USB. Essentially, it makes your streering wheel controls act like the equivalent to a USB keyboard.
- Enfig Components: So, this can be entirely different if you’re doing this for NOT an Audi TT RS… But if you get in contact with Enfig they’ll tell you exactly what part numbers you should need. The component I’m dealing with here is the universal plug and play (I think?) adapter, and it attaches to the Enfig wiring harness and the Joycon.
EDIT: Okay, so today (December 21st 2015) I spent some time playing around with JoyCon Explorer… I figured out how to position the resistor ranges, and I also figured out that I had my channels 1-4 inversely aligned to channels A-D in my diagram below. My car isn’t with me right this moment, but I’m going to redo this work and write up a follow up post!
Let me clarify that this is NOT explaining a permanent install scenario… You’ll see why shortly. I’m not quite ready to drop my radio wiring harness and other components into my car yet, but I wanted to experiment with the JoyCon and Enfig harness together to see what I’m getting myself into.
So, step 1: connect the JoyCon and Enfig UPNP:
In the above picture, the Enfig key wires are brown and white for key 1 and key 2 respectively (What does “key” mean here? I’m not exactly sure, but you’ll see how it maps to the JoyCon later). Ground wires are black for both components. The channel wires that take data over them on the JoyCon side are either white or grey. The device comes with two wire sets with grey+black and two with white+black… As far as I know there is absolutely no difference.
I also didn’t solder these things in place. Why? Because I was doing this for the VERY first time and I have nobody around me to confirm that I’m doing the right thing. I didn’t want to go soldering random things together and hope that things just magically work. This is why this is a TEMPORARY solution. I mean, look at this disaster:
After that’s all connected, step 2 is to get into your car:
In the picture above, you’ll see… a gigantic mess. Actually, you’re looking at the factory radio pulled out (I had to use radio removal keys from Enfig… only a couple bucks!), my JoyCon+Enfig wiring mess, and my laptop featuring one of the prettiest cars ever. Once you pull the radio out (if you’re in an Audi TT RS like me, you *NEED* to have all 4 radio removal keys in the radio and REALLY pull hard. It just pops out eventually), you’ll need to connect your Enfig harness to the harness that was previously attached to your factory headunit. On the other end of that wiring harness is your newly connected JoyCon, and on the other side of your JoyCon you should run a USB cable to your PC.
Once you have all of that setup, run JoyCon Explorer on your laptop. Now you’re ready for step 3: How the hell does this all work together? This deserves it’s own special heading.
How The Hell Does This All Work Together?
And the truth is that I don’t actually know. Black magic, to be certain. But seriously, the Enfig wiring harness just gets you some cables that you can interface and the JoyCon is where the “magic” actually happens. JoyCon explorer is just showing a visual representation of the signals going over the wires, and we’re fortunate enough that it’s over USB so our Android device (or your PC for this current example) can see.
Now my disclaimer is that I still don’t know exactly what I’m supposed to do in JoyCon explorer to “make things work”. I was able to see signal values changing, which is what I’ve recorded below, but I couldn’t figure out how to map those signal changes to key presses. This could be for a number of reasons including:
- I wired things COMPLETELY wrong
- I’m not seeing some context menu or feature in the software
- I’m just dumb
I’m hoping it’s not the last one. Okay, so what did I test out?
- The mode button on the steering wheel doesn’t register *ANYTHING* on the JoyCon software. Nothing. This is actually inline with some stuff I skimmed on the internet, so I wasn’t totally shocked. This means that unless something is actually borked with my setup, this button will probably not function at all with my tablet.
- Volume up/down register separately, which means I may have done something correct in my wiring. Each notch on the volume wheel (in either direction) causes a temporary change in the levels in the JoyCon software.
- Track up/down register separately, which is another indicator that I may have done something correct in my wiring. Each notch on the track up/down wheel (in either direction) causes a temporary change in the levels in the JoyCon software.
- The call or mic button actually registers, unlike the mode button. Pressing the button also causes JoyCon to shift some levels, and actually shows more of a variation than all of the other buttons
- I tried some other buttons in the car, JUST to see, but nothing aside from these buttons on the steering wheel registers anything in JoyCon. Again, as I expected but I was checking for Easter Eggs.
So here’s what I found:
After all of that, I still don’t have the JoyCon+Enfig harness controlling my tablet… I need to do a bit more research into how JoyCon explorer actually works. If you look closely at the pictures, the only thing that’s really changing is the position of the two red markers on the bottom line (directly above the keyboard graphic). I can’t seem to do anything with those red markers though, so I have some more work ahead of me.