If you have an older car, you know how annoying it can be to have to use tapes or CDs when you ride in your car. Sure, you can buy an aftermarket stereo with Bluetooth already installed, but then you also have to buy a mounting kit and a wiring harness adapter. If you drive a GM vehicle such as a Chevrolet Trailblazer like the one I have, it can cost you over to $300 just to install a $100 stereo. That is absolutely absurd to me, so I came up with a $10 alternative that even maintains the stock appearance of the radio.
The stereo I use in the video is a Delphi Delco part# 15195517 from a 2008 Chevrolet Trailblazer.
Arduino source code for this stereo hack is on github: https://github.com/forceprojectx/GMTapeDeckSpoof
Bluetooth speaker - $6.00
Arduino pro mini - $2.00
Electrolytic Capacitor - $1.25 (minimum 5000 uF, 16 V, 105 C)
LM7805 voltage regulator - $.69
2 Ceramic capacitors - $0.10 (X7R, 50V, 0.1uF / 0.47uF) these are the bypass caps for the LM7805
Optoisolator - $0.75 (optional)
Audio Isolation Transformer - $5 (you shouldn't need this, but if you have ground loop issues -terrible sound quality- then you will)
Stranded Wire (old ribbon cable is a great source for this)
To perform this hack, something must be lost. In this case, I chose to lose the tape deck for aesthetic reasons, but you could just as easily replace a CD player with this method.
To replicate the signals of tape insertion, playback, and ejection, we use an Arduino. The Arduino can optionally be used to control certain features of the Bluetooth speaker module, but this may increase complexity and cost.
To receive the Bluetooth audio signal from our playback device (smartphone/iPod/etc) we use a cheap readily available Bluetooth speaker. The battery on the Bluetooth speaker module MUST be replaced with a capacitor. It is NOT safe to use the battery that comes with the Bluetooth speaker module. The input to the amplifier on the Bluetooth module will be routed to the tape read head output on the car stereo pcb.
Part 1 - Analyzing the tape deck signals and replicating them with an Arduino
Part 2 - Hacking the hardware