I want to make my own Pi car radio, like many people did before me. My current car's radio has no USB and has no AUX input (thus no BT possibilties) and it doesn't play self burned CDs. And it's more fun to make your own radio instead of buying one (even though it is like 4x more expensive to do )
It took me a long time to figure out what I wanted and what was easy. At first I wanted a Rpi but I also looked on more easy (and cheaper solutions) On the website banggood I found many nice car radio boards. There was one with a usb port to play mp3s from a flashdrive, it had an FM Receiver and a built-in audio bluetooth module + microphone. Aaaand it came with a remote controll (which you could tape on a steering wheel). And this thing only costed 7.50 bucks.
In the way of audio requirements, the thing is perfect. But it lacked a display and that was a little bit a dealbreaker (and I was unsure about the priority between FM play and bluetooth connections, in order to call the phone has to be connected all the time, but could I play FM during a BT connection??? was unsure) The arduino platform lacked the USB support for it. I thought of getting an stm32 chip which could do all, but that is just too much work to program the whole deal.
So in the end I circled back to the rasperry. Also the possibilty of a reverse camera system is also very appealing to use a Rpi.
I am aware that I can buy a complete all-in-one raspberry based car radio with the proper ISO connecters and all. But the thing costs 200 bucks and it leaves me with.....no hobby stuff to do.
To sum up my requirements:
- play music from USB flash drive
- play FM radio
- play music from phone via BT connection
- make wireless phone calls
- must have a display, being 20x4 LCD or an hdmi 7" display (touch is no requirement)
- watch reverse camera (2nd raspberry Pi with USB cam streaming over WiFi)
- embedded memory for music/video storage (SMB server over WiFifor instance)
- navigation with GPS
- play CD's from a USB cd player
- make use of the car's OBD port and display some usefull data such as motor temperature
I realized there is more than 1 way to 'get the job' done. This what looks to me as the most convenient.
The bluetooth module is not directly connected to the Rpi because it doesn't have to be.
The FM radio will be a chip which will be controlled via I2C by the PI.
The Pi will get a USB audiocard for better sound quality.
The audio output signals of the BT, FM module and Rpi will go through a Pi operated analog multiplexer. The microphone will be connected to the BT module directly.
The whole can be controlled by a rotary encoder (and a potentiometer for the volume on the Amp)
With this setup I am atleast sure about the priority of FM radio and bluetooth (because they are not connected to one another). I can connect my phone to the BT module, listen FM radio in the meanwhile and switch channels with the multiplexer.
See the image for my schematic.
I wanted both to share my ideas as well as to ask for any input from this community. For instance I can also get a usb BT audio dongle, but is that handy?
I do also have a BT related question, of which I haven't found the answer yet. If I get an inomming phone call, can I 'pick up the call' by pressing a button on the BT module? Also if I can do just that, does the BT also makes an output high so I can signal the RPI? It would be 'convenient' if the Rpi selectes the right multiplexer channel when I answer a phone call.