When you have an older vehicle there’s not a lot of options in the stock stereo department, often a CD player and tape deck is what you get. When you want to play your tunes from your mobile what do you do? Buying an adapter, or a new head unit for that matter, isn’t any fun. So why not hack it? This isn’t just a mechanical marriage of a Bluetooth dongle and an elderly stereo. Some real work went into convincing the stereo that the BT receiver was the stock tape deck.
Attacking the outdated Cassette deck [kolonelkadat] knew that inside the maze of gears and leavers, most of it is moving around actuating switches to let the radio know that there is a tape inside and that it can switch to that input and play. Tricking the radio into thinking there is a tape inserted is handled by an Arduino. Using a logic analyzer [kolonelkadat] figured out what logic signals the original unit put out and replicating that in his Arduino code.
Audio is handled by the guts of a bluetooth speaker with the output redirected into the radio where the signal coming off the tape head normally would have been directed. Join us after the break for a couple of videos with all of the details.
I attempted to do a hack like this 6 or 7 years ago… my radio was a CD player only, and I found the audio input and was able to patch in, but I didn’t know how to trick out the radio to get it into CD playing mode, without needing to put in a CD. My idea to quickly workaround this was to burn a blank audio CD track, so I could get the radio into CD mode, but not have any audio signal, so my MP3 player could be uninterrupted. Unfortunately I was too busy with college, and didn’t have a good surface mount soldering station at the time, so I put my radio back together and reinstalled it in my truck without modification.
I was in the same situation and did much the same thing. Soldered wires to the stereo where the cd player signal went to the power amp, added a few caps to block the 2.5v DC bias and a TRS jack for the input. Burned one long silent track to a cd, and I had a perfect AUX in. This was about 2 years ago and it has worked perfectly never since.
Funny to see this great hack, having done something very similar (but wired aux, not BT). It’s in the pile of “must write up project sometime” hacks for now:
– Mini tape HU with CD changer: I want to keep the CD input (which I use) and added aux in place of tape (which I don’t use), post-head preamp.
– Tape transport is too clever for its own good (like many things in a mini); it has an 8051 which talks to the radio CPU over I2C. The tape input is only selected when the transport acks that a tape is loaded. The main CPU keeps checking this every few seconds and cuts audio if it isn’t the case.
– For some reason I didn’t just mechanically trick the transport into thinking this (I think because an accidental poke of FF/RW/Eject needed to go through the entire sequence otherwise the firmware would crap out).
– Reverse-eng’d the I2C comms and built a fake tape AVR board that responds to questions from the host, correctly “ejects”/pauses/reloads, etc.
It works OK, but in true EE style, it’s the analog part that needs more debug (it goes through a weird “warming-up” phase where audio sounds awful for 30s and eventually gets good). I think ground is ok, but slightly suspect the host doing strange DSP things to the signal, eg some kind of dynamic pre-emphasis compensation.
Post inspired me to write it up…. :-)
Back when I had a tape deck- last vehicle before the one I have now- no arduino was needed. No fancy schmancy anything. Cut the traces from the tape preamp and soldered in the wires from the input jack, and used an input jack with an isolated single pole switch for the input. The switch replaced the tape-in switch of the deck. A couple bucks for the jack, a few minutes, and done.
Now, a CD player is a different beast altogether these days. The one in my current vehicle is an integrated unit with line out to the radio amp and a separate line for disk-in. It take play cues from the main unit, but I put in a 4 pole double throw swithch, two for audio, one for disk-in, and the last sits there on its thumb, since i didn’t have a three pole in the scrap box and didn’t think to fool the CD unit by intercepting the cue line. Switch up, CD. Switch down, external input. I do use CDs some. Then again, I did this mod in 2003. I wouldn’t bother today.
Extra points for anyone putting a Nordic nrf series inside one of those cassette to stereo plug deals so it’s all self contained in a Bluetooth cassette. :)
Quadruple bonus points to anyone who uses the tape spool winding mechanism to generate the power to run the electronics.
That would be pretty sweet to see.
That would be an elegant hack!
Bluetooth variants that do this already exist I believe. Also you will have tape-quality audio.
All that work… for Mono!
When I saw the title I expected to see a simple bluetooth speaker connected to some analog input on the deck, never expected to see something this in depth.
Yeah. I thought the same thing when I first started this project.
Sadly, I have no proof of it to share, and didn’t do it myself, but met a guy once who had taken an early mp3 player and spliced it into a handheld CB. Taped the transmit button down and threw it in the rear of his car. And had a dash mount CB with the volume turned up.
It wasn’t what I would describe as elegant. And it was subject to interference… to put it mildly. But, it did what he wanted.
So he wanted to claim a CB channel all for himself just so he could hear some shitty low fidelity mono noise 5 fuckin’ feet away? Sounds like a dick move to me. He could’ve hooked up any external audio amp to the mp3 player to get way better sound. Hell, he could’ve even used the amp in the handheld CB and bypassed the HF path all together. Assholes like that are why the FCC has to make so many stupid rules. I guess people like that are why the FAA has to tell morons not to fly their R/C aircraft near airports. DUH!
I know this is hackaday, but sometimes it is a lot easier to select ‘play via radio’ on your phone :) I assume all phones have this…
No all phones don’t have that.
When I was in college (the first time around lol) I had a 1977 Subaru DL 4WD station wagon (Which saw more mud than most of the trucks around lol but that’s a different story!), it had no stereo in it when I bought it, and I had an old 8 track player sitting in the garage collecting dust… So into the Subaru it went, along with a few dusty 8 tracks from Goodwill. For CDs I had a Sony CD player (with 12 second anti skip!) in the glove box, going to a cassette adaptor, had the cassette adaptor in one of those cassette-to-8-track adaptors…. Doesn’t really qualify as a “hack” but it sure looked that way LOL… Later I eventually put a proper CD player in the car. (But not before I recorded Green Day onto an 8 track, used my mom’s OfficeJet to print out a track listing and shrink down the CD cover to fit the 8 track and glued them on, I wish I had a picture of it, it looked authentic.
Did something like this, but in more tricky way. I completely remove all parts for cassete deck, replace car stereo processor with my own module based on PIC18F2550 controlling FM/AM receiver, LCD and keyboard and exposing USB interface, and install Allwinner A10 board (Marsboard) with own power supply instead of cassete deck.
http://www.stanson.ch/files/Audi/AudiGammaIII/processor1.jpg
http://www.stanson.ch/files/Audi/AudiGammaIII/display1.jpg
http://www.stanson.ch/files/Audi/AudiGammaIII/inside-marsboard.jpg
In radio mode this works just like original radio, without any interaction with Marsboard. If you switch to Marsboard mode, keyboard become standard USB keyboard for Marsboard with additional interface for LCD. Marsboard runs Debian with mpd. mpd controlled via triggerhappy daemon listening for keyboard events. Also it has WiFi for music uploading, bluetooth for handsfree and A2DP stream receiving from phone, and SVOX pico TTS for voice messages about faults from car check system. Now I want to install cvoicecontrol for voice control, but it’s a bit tricky because it’s necessary to cancel music from microphone signal to make it working.
Also, I readjust car radio AM band receiver to 27MHz CB band (some coil winding, caps matching and other ham magic with AM receiver part of car radio circuit), to listen truck drivers who use CB AM C15 european channel here.
Use anything but the tape head input. It has all kinds of weird filtering and your new input will have very poor sound quality. Just poke around until you find the amplifier input from the radio and cut the trace (put in a toggle if you still want to use the radio). If you have a CD player, poke around until you find that input. The CD output to the amplifier is clearly marked in my Toyota factory stereo. I can’t speak for other brands, but with the Toyota stereo, the amplifier won’t turn on unless there’s a CD in the player. If you insert a CD upside down the amplifier will turn on but you won’t hear the CD, just the input, eliminating the need to cut traces. This is especially handy if you go to sell the car and don’t want anyone to know the car has been hacked.
I approve all but the use of blurtooth. The retention of original equipment helps keep the theft profile low. With a good unit, FM and cassette adapters are a better way to get signal into the unit than any hack that uses blurtooth. Hell those ear widgets cannot even make a voice connection sound usable. The other format for stereo falls short too. With flac and even hi-def 24-96 playing from smartphones nowadays those dated tricks need to go the way of the 8-track.
There are plug-in options available, aftermarket adapters that talk to the head unit thru the CD changer option. Plug and play.
Agree about the bluetooth audio. Why not just use a cassette dongle if you want tinned sound? Way less hassle and keeps things stock to boot :)
In my experience, Bluetooth 2.0 and above is far superior to FM or cassette adapters. Not as good as a decent aux input, of course. And S/PDIF or HDMI is the best, but way overkill for a noisy automotive environment.
Then there’s Wifi audio that can match HDMI (audio only) and S/PDIF in all aspects for quality except latency, but the lack of standards is limiting adoption.
I, for one, enjoy the cassette sound. I grew up with them and the music of my youth sounds best (read as most nostalgic) on a sun baked, crinkled in spots, tape.
I’m no engineer but I’d pay money for an mp3 player that comes packed inside a cassette. I know someone is smart enough to make the shuttle controls work, charge it from a common USB charger and use a micro SD card to store the files.
I hope that puts a bug in someone’s ear.
Hi! First of all congrats! great hack ;)
Which is the program you use to program arduino? and the oscilloscope?
Thanks so much.
All that work… for Mono!