Arduino Car Stereo

« Back to RetroJDM's Arduino projects

Demo Video

Photoshop mock-up and progress photos

  • Bezel
  • Breadboard Spaghetti
  • PT2314 Breakout Board - Top
  • PT2314 Breakout Board - Bottom
  • Arduino MEGA Shield - Top
  • Arduino MEGA Shield - Bottom
  • Buttons/LEDs Board - Top
  • Buttons/LEDs Board - Bottom
  • Display Board - Top
  • Display Board - Bottom
  • Arduino Mega + Shield
  • Display + Buttons/LEDs - Top
  • Display + Buttons/LEDs - Side
  • Face - Naked
  • Mounter in a radio case, with Spectrum Analyzer
  • RetroJDM.com splash screen
  • Spectrum analyzer + track time
  • Front Panel by frontpanelexpress.com
  • Rear: Inputs / Outputs
  • Arduino Inside
  • Mounted in the car

[+] Click to enlarge

Why?

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.

For anyone interested...

  • The hole in the dash is 85.5 x 32mm (3.37 x 1.25 in.)
  • The tuning and volume knob holes are 11mm (0.43 in.) diameter, and 123mm (4.85 in.) apart.

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.

Features

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
  • Line-in
  • USB (MP3/WMA)
  • Clock
  • 12-character alphanumeric display
  • Bass / Treble / Balance
  • Display brightness
  • Spectrum Analyzer with 5x display modes
    (lines, bars, peaks, pulse, bars+info)
Arduino Electronic Tuner

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!

  • AM/FM/MPX
  • AM/FM/MPX
  • AM/FM/MPX
  • photo taken from celicasupra.com

[+] 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!

Downloads

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 gitlab.com


Source Files
The entire project (excluding the arduino libraries below)


VMusic3 Arduino Library
My VMusic3 Arduino library (may also work with VMusic2, but not yet tested).


PT2314 Arduino Library
My Audio Processor IC Arduino library (also works with the Mosa MS6714).
15-page Datasheet here


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).


Last Update: 8th September, 2021
Reason: Moved repositories to gitlab.com