Arduino Car Stereo
This whole thing started because I wanted MP3's in my RA28 Celica, but didn't want to ruin the interior by adding a modern 1-DIN sterero.
After going to great lengths to replace the previously molested dash, there's no way I was going to cut into my original center console.
Now, there's already a few oldschool looking stereos on the market (like the RetroSound), but they don't make any that fit the old Toyota hole size.
Obviously I could have hidden something in the glovebox, but I wanted to be able to reach the controls. There's plenty of other ways I could have achieved my goal, but as a bit of a geek, I couldn't help myself. I had to try building one using an Arduino.
The beauty of doing this with an Arduino is I can always change it later. It's like Lego. But as tempting as it is to keep adding features, at some point I have to actually make the thing.
So for now, I've settled on the following:
- FM Tuner
- USB (MP3/WMA)
- 12-character alphanumeric display
- Bass / Treble / Balance
- Display brightness
Spectrum Analyzer with 5x display modes
(lines, bars, peaks, pulse, bars+info)
The unit itself has no amplifier. It outputs at line level. I've got it connected to an Alpine KTP-445U 4-channel amp.
The choice in display was a hard one. Those little Avago HCMS-29xx displays are expensive! But for the 80s look, I absolutely had to do it with LEDs.
I don't regret a thing.
A tribute to the 1980s Toyota AM/FM/MPX Electronic Tuner
You may have noticed the similarity between my face design, and the radio in Toyota's MA47 Supra (part number 86120-14350). This is not a coincidence.
Just look at all those glorious LEDs, buttons, switches, and that metal finish!
[+] Click to enlarge
The second-last photo was taken from the 1982 Toyota Truck Brochure on toyotareference.com
That last photo was taken from celicasupra.com
So, what's it made of?
Well, my project uses:
- Arduino Mega 2560
- Custom Printed Circuit Boards by OSH park
- Si4703 FM Tuner breakout board
- VMusic3 USB/MP3 module
- PT2314 Audio Processor IC (4x inputs, bass, treble, balance, and volume control)
- DS1307 Realtime clock
- 3x HCMS-2904 LED displays for a total of 12 alphanumeric characters
(the photos don't do them justice - they're much brighter in real life)
- MSGEQ7 Spectrum Analyzer
- A whole bunch of wires, buttons, lights, and knobs :)
- A broken shaft-style radio from a '79 Supra as the case
- Aluminium front panel milled, engraved, and in-filled by frontpanelexpress.com
- Switch-mode DC/DC Converter (TRSN 1-2490) to supply 9V through the barrel-jack instead of the 12-14V a car generates. This stops the Arduino's on-board 5V voltage regulator from overheating and resetting.
Still yet to do:
- Have the display screen remade in a tinted acrylic (rather than the clear it is now).
- Maybe repaint the buttons in a harder wearing paint, or even 3D print them in stainless steel!
I mainly created this page to share my VMusic3 Arduino library, but in the spirit of open-source, here's everything!
I've moved the libraries and Arduino sketch files to github.
Car Stereo - Arduino sketch
My Arduino Project (.INO files)
VMusic3 Arduino Library
My VMusic3 Arduino library (may also work with VMusic2, but not yet tested).
HCMS-29xx Arduino Library
An Arduino library for the HCMS-29xx LED Displays (slightly modified to allow multiples of 4 characters, and direct access to the Dot Register).
Si4703 Arduino Library
A modified version of the Si4703 FM Radio Arduino library (to allow showing frequencies while seeking).
The Eagle files for all my boards.
(v1.1 - with clearer labels)
A list of all the parts used, with prices and where they were purchased.
(Yikes! The whole thing cost about $750 AUD)
|Last Update:||20th March, 2017|
|Reason:||Migrated Eagle files to bitbucket.org|