diyAudio (
-   Car Audio (
-   -   Arduino Car Stereo (

andrewzuku 29th July 2012 06:18 AM

Arduino Car Stereo
I'm new to electronics (coming from a Software background) and have started playing with an Arduino to control an Si4703 FM Receiver.

My goal is to eventually create a car stereo with an Aux-in feature (from an iPhone). Here's what I'm planning:
  1. Switch between the radio and Aux-in using a 5V 2A DPDT Relay (EC2-5NA)
  2. Control the volume using a Dual Audio Digital Pot (DS1807)
  3. The output would then go to an Amplifier.
Is there any reason this wouldn't work? Could I do it better another way?



Lots of photos, all the code, libraries, and design files for my Arduino project, can now be found at:

Perry Babin 29th July 2012 12:25 PM

I don't know enough about the FM receiver to offer any advice but if you plan on using the iphone on a charger that connects to the vehicle's electrical system, you may run into problems with engine noise due to ground loops. The can be solved by using a balanced input for the iphone or using a ground loop isolator.

andrewzuku 29th July 2012 08:55 PM

Thanks for the suggestion. I'll look into it and do a little testing using in the car :)

The radio I'm using is a breakout board from sparkfun.

kevinkr 29th July 2012 10:32 PM

I'd think the arduino would be a very good way of tying this all together and controlling the various chips. Does the volume control IC also provide bass, treble and balance controls as a minimum?

Rather than a relay I'd probably use a cmos switch to switch the audio from the iPhone.. Given the battery life of an iPhone I'd think you could use it as an audio source without too much concern about charging it while connected to the stereo. (Noise injection might be a problem with a car charger)

andrewzuku 30th July 2012 01:18 AM

The DS1807 doesn't have treble / bass control. It's basically just a dual digital potentiometer. Balance could be achieved by controlling the left and right channels independently.

For now, I want to keep the whole system as simple as possible (while I'm learning).


Here's some extra info for anyone curious about what I'm up to...

Based on an Arduino MEGA 2560 R3, my project has the following features working so far:
  • Si4703 FM Receiver
  • DS1307 Realtime Clock
  • 4-character 7-segment display (to be replaced with an alphanumeric display)
  • Tuning and Volume rotary encoders
  • Source / Mute / Display / Set Clock buttons
  • Seek up/down buttons
  • 5 radio presets (plus Mem button) with LED indicators
Pushing "Display" toggles between the radio frequency and clock.
Setting the clock is achieved using the "Set" button (to cycle between hours/minutes/ok) and the "Tuning" rotary encoder.

The expensive part of my project is going to be creating a faceplate the looks nice enough to put in a car. I'm planning on having one laser-cut from stainless steel, then printed on.

The reason for all this is to avoid cutting my car's dash to fit a new stereo. Unfortunately the hole in my 1977 Toyota Celica is a strange size that even a "RetroSound" won't fit. - Classic Style Radio Systems 30th July 2012 11:38 AM

Would it be practical to use your phone for the display? I assume its serial comms interface to the FM receiver or arduino. Create an app to send data or retrieve it from the arduino board.

Android has the ioio board which makes a nice link for this situation.

andrewzuku 30th July 2012 09:30 PM

Hey Brandes, you're right about the FM receiver being controlled serially. Both the radio and realtime clock use I2C.

I'd thought about the opposite, where the Arduino would control the iPhone. I even daydreamed about getting fancy and doing it all via bluetooth. At the moment my ambition greatly exceeds my skill ;)

I want to keep my radio looking oldschool (so it doesn't look out of place in a 70s car). Here's a photo of my interior (with OEM radio), and another from an 80s Toyota brochure showing the look I'm trying to copy. 31st July 2012 12:48 AM

I like the old school look, which you could keep your knobs, but make the display look like the old push buttons from yesteryear! I think the Iphone is a straight modbus communications link, nothing fancy about it. That might be a little to much for now! :)

I'm lost when it comes to Iphone/lock down coding. I assume the Arduino uses an Atmel processor? I have done some embedded C with atmel and have moved towards Java/C# now. Which lends itself nicely for android apps.

Good luck, I may order one of the those FM modules to play with.

andrewzuku 31st August 2012 10:28 AM

I neglected my Arduino Car Stereo project for a month while I worked on the car and waited for eBay purchases to arrive.

I've finally got the following working using a PT2314 (also known as Mosa MS6714):
  • 4-channel Input switching
  • Volume
  • Balance
  • Treble
  • Bass
It's only using two inputs at the moment (Tuner, and Line-in). I'm thinking of adding USB/MP3 functionality via a VMusic2 in the future. We'll see I guess.

Here's a photo of my breadboard spaghetti...

...So much for keeping it simple ;)

To Do:
  • 12-char 5x7 LED display (3x HCMS-2903's)
  • Design a PCB as an Arduino MEGA shield
  • Design a PCB for the buttons/display face (connected to the shield via an oldschool floppy drive ribbon cable)
  • Stainless steel faceplate laser cut and and etched

AKHeathen 1st September 2012 03:57 AM

i'm pretty sure i have some stuff laying around that could fit and mesh with the factory install. what exactly are the dimensions you are working with? i'll check right now, but i know i have eq/drivers in mini-form of their time, looks about the size of what would be the 8-track receptacle. first thing that came to mind with this project was a good 'ole eq/line driver. i could have swore i had more older radios of that style, but might have tossed most of it.

All times are GMT. The time now is 07:09 AM.

vBulletin Optimisation provided by vB Optimise (Pro) - vBulletin Mods & Addons Copyright © 2017 DragonByte Technologies Ltd.
Copyright 1999-2017 diyAudio

Content Relevant URLs by vBSEO 3.3.2