So I had to wait a few days to get a variable voltage power supply (you can just see it on the left) but this was pretty easy to set up.
I dialed up 5v and 1amp and nothing happened. Uh oh I thought. Then when I increased the voltage a little, the little blue light on the device lit up.
I looked around and noticed an old speaker from a lovely old Sony mini-stereo I had. I had no idea if it still worked but I thought I would give it a try.
It immediately sprang into life (Garbage – I’m only happy when it rains) and it sounded bloody good!
Oh, I missed a step – connecting my iPhone to it via Bluetooth was typically straight forward. Only oddity was that it seemed to have two Bluetooth profiles:
Wuzhi Audio
Wuzhi Audio App
I think the App one is for an App which can control certain settings. I downloaded what I thought was the app but it looked pretty ropey so I gave up on it and got back to the task in hand.
I then decided to run out and grab a speaker from my car (partially to see if it’s bad compared to the Sony, people have been saying how bad these original Citroen speakers are) and then, when on the street, remembered by car was in the garage having an MOT. Doh!
Still, this is progress.
Next step. Test with a speaker from the car. Hopefully that doesn’t sound bad (will test it back to back with the Sony speaker). If it does sound a bit ropey I can always invest in some new ones for the car.
Next test after that is to test the set up with the power supply from the car. I need to double check how I plug in to the custom ribbon on the Citroen audio.
The other big step will be getting the audio cage which this will sit in and the 3D printed fascia will attach to. The more I think of it, the knob will be in the middle.
I should be able to connect this directly to the car’s audio red power wire* (ignition), though I may need a fuse.
(*There is also a constant yellow wire from the battery but this then gets complex as you don’t want to accidentally drain the battery. I can live with the constraint for now that this only works when the car is started, if that becomes a pain, I’ll revisit options).
There is one volume knob which doubles as an on/off switch. That fits well with the minimal design I had in mind.
I doubt that I can change the name of the Bluetooth device but that’s fine, doesn’t bother me. It would be fun if you could but it’s no show stopper.
Aside: when I had a Bluetooth speaker (powered by it’s own internal battery) in the car, it would occassionaly, whilst driving, have bad interference for a few seconds before audio resumed. I never got to the bottom of this (well, I didn’t look very hard!). This is just something for me to remember, if there IS similar interference when I run this new amp, then at least I know it’s not the device itself, there is some other environmental/geographic factor at play. Anyway, that’s a ‘tomorrow problem’.
Whilst this simplifies things (and it is a shame not to use the ESP32 but there is no need, that’ll be used in a future project) it does leave a really interesting bit that I’m keen to learn about: I’ll still need to house/mount the amp et al and, better still, will need to 3D print a dashboard fascia. That’ll be interesting designing that, keeping it simple, giving space to just that one knob etc (perhaps even change the knob):
Is the knob central? Or does it look more intriguing being (say) bottom left? My gut feel is that exact centre feels weird.
I’m not going to buy a 3D printer yet, I’ll use an online service.
I’m not an audiophile and the car’s speakers are pretty crappy so just having semi decent streaming will be great (and before you say “if that’s the case, just use the phone’s loudspeaker“, nah, that’s crappy, have tried that, can’t live with that).
Steps
Ok, let’s revisit the steps:
Buy the amp
Perform a basic lab test to check it works (ideally with a similar speaker to what’s in the car)
Get the bits I need to connect to the car’s custom audio ribbon.
Create a test connecting device to the ribbon (and perhaps with a fuse as well, as ChatGPT is telling me)
Drive around a bit with it playing (see if I get that occasional interference). If I hit a problem, will need to research.
Consider how to mount (e.g. gut old stereo to keep cage & then mount a 3D printed fascia to the front)
Design the fascia, get printed etc (rinse and repeat if mistakes/iterations)
The next project I’m mulling is where I’m looking to replace the cassette/radio stereo in my aging Citroen Berlingo with something a bit more fancy.
I don’t own audio cassettes any more and I’m not a massive radio fan but I do like streaming from my phone. Hence I’ve been driving around with a bluetooth speaker in the car. As the battery died on the speaker for the second time, I hit on an idea:
What would it entail to remove the existing stereo, and replace it with a bluetooth device that allowed me to play my iPhone into the car speakers?
The big obvious win here is that I immediately avoid the need to charge a bluetooth battery.
ChatGPT
As usual, I spent quite a bit of time chatting to ChatGPT about the project, using AI to feel my way through the project, seeing what issues I was likely to have, and then finding a way around them.
After quite a bit of discussion, this is what I’ve arrived at:
This time we shall use an ESP32 WROOM to power the project.
Why not the Pi or the RP2040 (like in my sound toy project)? Well, the reason is the ESP32 has built in Bluetooth and excellent support for Bluetooth audio streaming. This time I didn’t need the rechargeable battery facility on the Adafruit Feather as the car would provide the power.
The general approach will be this:
I’ll remove and discard the old stereo (though I may salvage anything I need, such as the case if that helps). And I’ll replace it with my ESP32 device that will connect to my phone and stream audio via Bluetooth.
I’ll need something to step down the car’s 12v power to the 5V needed by the ESP32.
I’ll need a fairly powerful amp to power the non-trivial car speakers, so this will be another board (e.g. TPA3116). Now because this amp will typically need more power than the 5v the board needs, this will be wired into the car’s power. I’m going to need to research a bit more to check what wattage the car’s speakers need and then find the right board. Some boards seem to come with a volume control but I think I’d prefer to just let that be controlled via the phone (though this may change come testing).
When mounted, I think we’ll aim to have just one button (though there may be a volume, as above). I like the really minimal approach here.
The button will be controlled by the ESP32 and will, basically, turn it on and off.
A longer press (10 seconds?) will put the device into discoverable mode so that phones can connect to it.
I’ll probably have two LEDs. One red one to show if the device is on. One blue one to show if a device is connected. When in pairing mode, the LEDs can flash. I don’t see the need to label the LEDs on the fascia.
The device will remember stored Bluetooth profiles and it’ll connect to the last one by default. I don’t think this is a problem, e.g. if myself and the wife get in the car (both of whose phones are already paired to the stereo) then the easy option is to put one phone in airplane mode (or disconnect from the stereo), allowing the other to take over (so yeah, the stereio will need to notice a bluetooth connection has disconnected, and then round-robin on the list of connected, paired devices).
I thought about adding a display to the device but I don’t think this is needed (ie to show artist/track info). Again, the more minimal view appeals to me.
I will 3D print the front of the case; that’ll be a good opportunity to learn that. The type of printer I need I think will be quite affordable (and useful on other projects) or I can use an online printing service to start.
If I decide later to have a display on the device, or a volume control, I can print a new case.
Oh, and because the device has Wifi I should be able to connect to it via my laptop and update the code that way. I’ll test that early as, if not, then I may need to include a USB-C slot on the fascia (though that raises other issues, we’ll cross that bridge when we come to it).
First Steps
So, after lots of thinking and navel gazing, the first phase will be this:
Set up the ESP32, connect it to a basic, small amp/speaker (for testing purposes only), pair it to my iPhone 15, and play music.
After that, we can think about how we build a basic unit that can be tested in the car. Which will mean dealing with the car’s voltage, and using an amp more suited to the car’s speakers.
After that hurdle has been crossed, we can get to grips with designing a case, 3D printing it, and mounting it to the car.