CarPlay with aftermarket SWC using Arduino


First of all I am new to the forum and searched all the topics regarding SWC, but feel like mine is a little bit different. Also I posted on XDA Developers, but couldn't get any help there yet. Reddit has only been somehow useful for now.

Back to the topic:

I am using an Chinese Android headunit (Joying) which has a Z-link app, that allows you to use CarPlay.

Picture of Headunit

I bought a SWC (iDrive like) controller from the same company and hooked it up to the Key1 cable (only one was available on the SWC IR transmitter). The controls are limited to multimedia controls on the Android side, on CarPlay however only the Volume buttons work.

Picture of Controller

I discovered that the Z-Link app, allows you to assign keys in order to control CarPlay without touchscreen! As I suspected the SWC I bought didn't work, BUT the Panel keys did! I was able to assign the 'Back' button of the headunits panel keys, to 'Turn right' cursor of CarPlay for example.

Video 1

Video 2

Now, I was thinking what makes the touch panel keys work in CarPlay, and why the SWC keys do not. That's why I thought maybe the Arduino could be used, to find that out and make the SWC controller work in CarPlay.

Any idea how I can find that out, and how I can hook it up and make it work? I am a noob in electronics but I am able to soldier one thing or another and am ready to learn to program something in Arduino :slight_smile:

Sorry for the long post, but I really want to make it work as it would improve drive safety and comfort!

Thanks in advance!

Sorry, but pictures really give less information than your long post. Please supply links to data sheets on the products you are using. Less than that is hopeless if you want more than just guessing.


Thanks for the reply! Well unfortunately I don’t have any datasheets really. Isn’t there some sort of standard procedure of how the touch panel keys of a radio work? Or maybe a way to find it out via an arduino? Because the first thing that comes to my mind would be to program the SWC controller the same way the touch panel keys work, but I have no information about that whatsoever.

Still, it’s an Android device after all. I saw someone on the forum programming a BMW iDrive controller via Arduino to make it work with a normal stereo. However the person used it with a normal JVC radio, not an Android Headunit.

So to be more clear, I would need to find out a way to read the touch panel keys of the headunit, then program the SWC controller the same way to make it work with CarPlay, probably by hooking it up to an arduino. Is that really impossible without datasheets?