I was getting tired of picking up and unlocking my phone just to skip a song or read a text message, and seeing as my radio doesn’t support Bluetooth, my options were limited. Of course, I could just upgrade my radio, but where’s the fun in that?
This remote control project uses the 4th band of the 3.5 mm jack to send commands consisting of pulses to the phone. Basically, it imitates the inline buttons on earbuds that allow you to change volume, control music, or start Google Assistant (or Siri).
I didn’t want to worry about double tapping or triple tapping a button to skip while I’m driving, so a PIC microcontroller translates the button pushes to the appropriate number of taps.
I used AutoDesk Fusion 360 to design the panel and buttons. To get proper dimensions for the panel, I scanned the radio enclosure on a flatbed scanner from the front and bottom, then imported the pictures to Fusion 360 as a backdrop to follow. This is printed in .2mm PLA plastic on a MakerBot Replicator 2.
Each button has an LED and pushbutton. I glued each button in with RTV silicone on the side farthest from the pushbutton. The RTV dries flexible, allowing the button to move.
The blue button is Google Assistant/Siri.
Make sure nothing touches if it’s not supposed to! Remember, cars vibrate!
Change of original design, replaced direct connection between audio and microcontroller with two optoisolators. With the direct connection, the audio and car power grounds were tied to allow the microcontroller to send the control pulses. This works as long as the audio source is not charging from the car. If it is, a loud hum that follows the engine RPM is heard through the speakers. To remedy, I added an optoisolator to each control (main control button and volume up button), which separates the two grounds, removing the hum entirely.
The placement of the original microphone in the panel turned out to be a mistake due to the distance between the panel and my mouth. Unless the car was off and it was absolutely silent inside, the microphone hardly picked anything up. My solution was adding a microphone mounted right above my head.
Matches the radio!