Navigation & Audio Audio upgrades, bluetooth, and navigation discussions surrounding the Clubman (R55), Cooper and Cooper S (R56), and Cabrio (R57) MINIs.

DIY solution for Bluetooth music streaming using iPod+Aux (LCI)

Thread Tools
 
Search this Thread
 
Old May 20, 2024 | 02:34 AM
  #1  
martinroger's Avatar
martinroger
Thread Starter
|
1st Gear
Joined: May 2014
Posts: 41
Likes: 4
DIY solution for Bluetooth music streaming using iPod+Aux (LCI)

Hi everyone,
Being frustrated with the absence of Bluetooth music streaming on my GP2 (so R56 LCI without Navi) I decided to tackle the issue with some good old DIY workarounds. I have tried some of the - costly - solutions available in various places, and I was not satisfied.

The idea is to use the USB + Aux present in the car on the center console, normally used to connect either an iPod (via the famed Y-cable) or a FAT32-formatted USB drive full of MP3 files, and to emulate an iPod connected and communicating over Serial so the radio controls (and by extension the steering wheel controls) can be used.

On a technical level, here is how I am doing it (still very much a WIP) :
- Connecting in the Mini USB a PL2303-based USB-Serial converter. They can be found in many places, even "fake ones" seem to work. I haven't managed to find another USB-Serial chip that might work on the Mini (So FT232, CH2102, CH343... none of them seem to be recognised by the radio and mounted as a COM port)
- Connecting the Serial pins of an ESP32-WROOM-32E (has to have Bluetooth EDR or Classic support, so EPS32-S3 and some others won't work) development board to the aforementioned serial converter output pins
- Emulating on the ESP32 the behaviour (over Serial) of an iPod, with only 1 song loaded on it, in order for the Mini to be tricked into thinking there is a real iPod (Classic 5.5G Video, for the curious ones) connected and ready to play
- In parallel open an A2DP sink instance on the ESP32, to which your favourite phone/music app can connect
- Use an I2S interface board to stream audio from the ESP2 A2DP sink towards the aux jack
- Synchronise the A2DP state via AVRC to the fake iPod state machine in order to play/pause/next/prev songs
- Somehow weasel the song metadata from the phone (some limitations apply) to the display on the Mini (that bit doesn't work well right now).

I currently have a working concept of all that based on some Serial communication spying I have been doing between an iPod and the Mini, and on paper it all seems to work. I am keeping the code I am flashing on the ESP32 (and ultimately the schematics for connecting when I get around to writing the documentation) here if anyone is curious or wants to have a look at the code.

Hopefully over the next two weeks I should be able to do some low-level testing directly on the car to see if I can stream and control from Spotify (on Android) to the Mini via this fake iPod trickery.

BOM cost should eventually be far away from the 70$ style cheapest similar (and not well working) solutions you can find on Amazon/Aliexpress. And it would be upgradeable !

If anyone wants to participate or has questions or can help with code review, be my guest !

(Pictures and examples and instructions for less-specialist people will come later as this matures, keep an eye on this thread !)
 
Reply
Old May 20, 2024 | 05:26 AM
  #2  
njaremka's Avatar
njaremka
Alliance Member
5 Year Member
Community Builder
Community Influencer
Joined: Jul 2016
Posts: 7,509
Likes: 2,480
From: WNY
I applaud your creative thinking for a solution, but seems like a lot of work to find a solution that already exists.

I use one of these:
https://www.viseeointernational.com/tune2air
Amazon Amazon

Paired with a MagSafe mount for my iPhone, I get automatic connection to the phone when I get in the car, and have a convenient mount to keep the phone charged.
 
Reply
Old May 20, 2024 | 10:36 AM
  #3  
martinroger's Avatar
martinroger
Thread Starter
|
1st Gear
Joined: May 2014
Posts: 41
Likes: 4
Originally Posted by njaremka
I applaud your creative thinking for a solution, but seems like a lot of work to find a solution that already exists.

I use one of these:
https://www.viseeointernational.com/tune2air
https://www.amazon.com/Bovee-WMA3000...s%2C109&sr=8-4

Paired with a MagSafe mount for my iPhone, I get automatic connection to the phone when I get in the car, and have a convenient mount to keep the phone charged.
Yeah, I am fully aware of these (and the various flavours of it that exist). Unfortunately for me :
- They are grossly overpriced in Europe, if you can find them ( example here, 125€ for a copy : https://amzn.eu/d/hGJWAqW)
- Some of them are locked to iPhones only
- The one I managed to get and try, were very hit and miss (and google seems to show this is not uncommon) : it would work once in a while, restart randomly etc...
- I easily accept challenges like that.

In terms of getting the solution ready... I would tend to say it is nearly there, and cheaper by a mile :
- 80 to 90% of the SW seems to provide the basic functionality, there is room for refinements
- the hardware is fairly accessible in most places, the BOM cost adds up to something between 20 to 30€, and can be lowered
- audio quality seems decent

At this stage I need to push on the in-car testing, but hopefully the biggest hill in front of me remains... to write the documentation !
 
Reply
Old May 21, 2024 | 04:59 AM
  #4  
Josh Falk's Avatar
Josh Falk
1st Gear
Joined: Jan 2021
Posts: 35
Likes: 8
Originally Posted by njaremka
I applaud your creative thinking for a solution, but seems like a lot of work to find a solution that already exists.

I use one of these:
https://www.viseeointernational.com/tune2air
https://www.amazon.com/Bovee-WMA3000...s%2C109&sr=8-4

Paired with a MagSafe mount for my iPhone, I get automatic connection to the phone when I get in the car, and have a convenient mount to keep the phone charged.
@njaremka, do you have to switch the input every time you start the car? I had one for a bit with my Android device, and while it worked pretty well, that was my biggest gripe before I sold it and got something else to skip tracks. My understanding is that it works more seamlessly with iPhones than Androids (ie track info displayed on the OE screen etc).
 
Reply
Old May 21, 2024 | 05:20 AM
  #5  
njaremka's Avatar
njaremka
Alliance Member
5 Year Member
Community Builder
Community Influencer
Joined: Jul 2016
Posts: 7,509
Likes: 2,480
From: WNY
Originally Posted by Josh Falk
@njaremka, do you have to switch the input every time you start the car? I had one for a bit with my Android device, and while it worked pretty well, that was my biggest gripe before I sold it and got something else to skip tracks. My understanding is that it works more seamlessly with iPhones than Androids (ie track info displayed on the OE screen etc).
Yes I do. Whenever I get back into the car, I have to reselect "iPod" from the source menu.
 
Reply
Old May 21, 2024 | 08:48 AM
  #6  
MCS4FUN's Avatar
MCS4FUN
6th Gear
Joined: May 2016
Posts: 1,409
Likes: 577
From: "The Other Arizona"
My OEM R53 radio lacks an aux input jack, however I use this
UGREEN 2024 Latest Bluetooth 5.4 Aux Car Adapter UGREEN 2024 Latest Bluetooth 5.4 Aux Car Adapter
in my 2017 Jeep Wrangler which does have that port yet lacks BT connectivity (base AM/FM/CD unit). That radio automatically changes to aux mode when the 3.5mm jack plug is inserted, thus no need for switching modes each time. This BT device allows full control of the host device media, incl start, pause, skip plus volume control. Compatible and tested successfully with Android and iOS phones and tablets.
 
Reply
Old May 21, 2024 | 01:44 PM
  #7  
martinroger's Avatar
martinroger
Thread Starter
|
1st Gear
Joined: May 2014
Posts: 41
Likes: 4
Originally Posted by MCS4FUN
My OEM R53 radio lacks an aux input jack, however I use this UGREEN 2024 Latest Bluetooth 5.4 Aux Car Adapter in my 2017 Jeep Wrangler which does have that port yet lacks BT connectivity (base AM/FM/CD unit). That radio automatically changes to aux mode when the 3.5mm jack plug is inserted, thus no need for switching modes each time. This BT device allows full control of the host device media, incl start, pause, skip plus volume control. Compatible and tested successfully with Android and iOS phones and tablets.
Yeah unfortunately the R50/52/53 are a complete different thing on the radio side... having said that (and having done it), there are small dongles that can hook up to the CD charger port on the back of the radio (only for first gen Minis, again) and provide you with Bluetooth A2DP (aka streaming) and some even go as far as allowing for call-taking (not recommended imho). At the time the brand was Yatour, but there is a whole hord of copies of it.

Before I thought of the whole "pretending to be an iPod" bit, honestly I envisioned bypassing the CD player. This went against the grain of "reversible and light" mod that I was trying to get to, so I gave up (but it should be actually easier, as it is PCM or the likes)...

By the way, after some testing and comparing tonight on the R56, between an iPod Classic 5.5, and iPod Nano 3, and my ESP contraption... I am happy to report that I have partial function :
- A2DP streaming works
- the ESP is successfully recognized as an iPod by the Mini head unit
- I can see song info on the radio and even browse my "1-song-playlist" (a limitation of the Android phones, especially around Spotify)

Things that don't seem to work correctly :
- Next/previous pauses the playback. I think I might have found what I did wrong there but I need to investigate the communication logs
- Setting Shuffle somehow seems to bungle itself. Even though there isn't really an active "Shuffle" on a 1-song-playlist, I would expect that the ESP is capable of "pretending" to set shuffle. Again I must have bungled something trivial and must review the code
- Sometimes the head unit seems to wait for a message that never comes. Again I must have forgotten to implement something or maybe it is related to the above points.
 
Reply
Old May 23, 2024 | 11:30 AM
  #8  
martinroger's Avatar
martinroger
Thread Starter
|
1st Gear
Joined: May 2014
Posts: 41
Likes: 4
Small update if anyone is interested :
- After some code corrections on the playback engine, the functionality is OK for handshaking and starting the playback
- Next/Previous are ... sorta handled OK. It looks like the car only requests Previous regardless of the actual button pressed, most likely because it knows it is dealing with a 1-song-playlist, so I will fix that after reviewing the serial logs I made
- For a similar reason, the song info is not automatically refreshed when requesting Next/Previous. It is possible to update it manually on the radio, but yeah it is a small bug
- It seems possible to "hang" the fake ipod somewhere in its state machine if attempting to use it without having a phone connected to the A2DP/AVCR side. It's a bit of a misuse and I'll patch that away later.
- Shuffle issue is fixed.
-----
UPDATE
- Next/Previous still doesn't work as intended (only goes backwards). Will try again with a larger number of "tracks"
- Some lag in the fetching of the new song info plus the Prev/next bug means that while playback works OK... the song title rarely refreshes on the screen
- More trials tomorrow !
 

Last edited by martinroger; May 24, 2024 at 03:02 PM. Reason: Status Update
Reply
Old May 30, 2024 | 11:56 PM
  #9  
martinroger's Avatar
martinroger
Thread Starter
|
1st Gear
Joined: May 2014
Posts: 41
Likes: 4
So, big update... It works !
I spent the last two weeks rehashing some of the code, rethinking the previous/next song management, and some of the quirks of how the Mini "drives" an iPod for playback.
After much refactoring, I have reached a state that is pretty much a good release :
  • iPod appears in the source lists on the mini as soon as a phone connects to it and prepares to send A2DP streams
  • Prev/Next works remarkably well, aside from some specific manoeuvres that can get it to glitch a little bit - nothing that is unfixable - and of particular interest it goes very well towards the next song
  • Fetching - in time - of the title track, artist name, album name works 95% of the time correctly. It's a nice "finishing touch" more than anything.
There are a couple glitches/caveat :
  • Shuffle mode is not a true shuffle mode and will not affect the sender phone. It is a bit glitchier in some cases if RND is on and prev/next manoeuvres are being done. I would recommend keeping it OFF on the Mini and managing it from the phone.
  • Skipping songs on the phone can lead to some temporary glitches
  • This was tested with Android + Spotify. There may be bugs with other combinations
  • Sometimes double-rewinding may trump the playback engine and require a "forward" skip to be able to be reacting again. It is a very particular case.
Next steps are :
  • Writing documentation on the Github repo on how to reproduce the steps
  • Making an enclosure, and possibly a base PCB to hook up the different boards together
  • Possibly pushing as far as making a bespoke board with everything on it for a "standard" turnkey solution.
A picture of the three pieces of PCB used to make that happen (very widely available) :


 
Reply
Old Jul 3, 2024 | 12:06 PM
  #10  
Northern's Avatar
Northern
2nd Gear
Liked
Loved
Community Favorite
Joined: Jul 2022
Posts: 144
Likes: 35
From: Halifax, CANADA
Ok this is excellent. Absolutely understand the desire to basically use a phone over bluetooth AND have steering controls.

I'd love to implement something like this in mine, however my car wasn't optioned with a USB port and while I ripped at least some of the USB setup out of a junkyard car, I haven't attempted to retrofit the port or figure out the head unit side of the equation.
 
Reply
Old Jul 3, 2024 | 01:25 PM
  #11  
martinroger's Avatar
martinroger
Thread Starter
|
1st Gear
Joined: May 2014
Posts: 41
Likes: 4
Originally Posted by Northern
Ok this is excellent. Absolutely understand the desire to basically use a phone over bluetooth AND have steering controls.

I'd love to implement something like this in mine, however my car wasn't optioned with a USB port and while I ripped at least some of the USB setup out of a junkyard car, I haven't attempted to retrofit the port or figure out the head unit side of the equation.
Which R56 do you have ? Depending on that, fitting the AUX + USB setup might be the lowest difficulty, to be honest !
Also I got some PCBs made that I need to test, to replace that janky setup of mine ! I'll update in a few days
 
Reply
Old Jul 3, 2024 | 01:29 PM
  #12  
Northern's Avatar
Northern
2nd Gear
Liked
Loved
Community Favorite
Joined: Jul 2022
Posts: 144
Likes: 35
From: Halifax, CANADA
Originally Posted by martinroger
Which R56 do you have ? Depending on that, fitting the AUX + USB setup might be the lowest difficulty, to be honest !
Also I got some PCBs made that I need to test, to replace that janky setup of mine ! I'll update in a few days
2012 MCS with non-nav LCI Boost. Really not sure of head unit specifics beyond "Boost" and no USB port. I do not believe it has Bluetooth/CD/Sirius.
 
Reply
Old Jul 3, 2024 | 01:37 PM
  #13  
martinroger's Avatar
martinroger
Thread Starter
|
1st Gear
Joined: May 2014
Posts: 41
Likes: 4
So for this trick to work, you don't need to have the Bluetooth prep, but I guess that to check if you can add the USB + Aux thingy you would probably need to pull the center console trim and check the back of the head unit under the tacho... if it has the connectors it is surely just a matter of doing a quick VO or coding of what I suspect is the RAD2 head unit...
 
Reply
Old Jul 3, 2024 | 02:50 PM
  #14  
bluonyx's Avatar
bluonyx
5th Gear
5 Year Member
Liked
Loved
Community Favorite
iTrader: (3)
Joined: Nov 2017
Posts: 728
Likes: 247
From: Ventura, CA
I just purchased this off eBay from Germany and it works perfectly. Adds Bluetooth music function in the AUX mode plus steering wheel controls work as they should. I purchased the music only module and should have purchased the Bluetooth music with mic module instead, so I can just completely bypass the old factory Bluetooth. It was very easy to install.


 
Reply
Old Jul 3, 2024 | 02:59 PM
  #15  
martinroger's Avatar
martinroger
Thread Starter
|
1st Gear
Joined: May 2014
Posts: 41
Likes: 4
Originally Posted by bluonyx
I just purchased this off eBay from Germany and it works perfectly. Adds Bluetooth music function in the AUX mode plus steering wheel controls work as they should. I purchased the music only module and should have purchased the Bluetooth music with mic module instead, so I can just completely bypass the old factory Bluetooth. It was very easy to install.

Aye, but yours is pre-LCI ? AFAIK this trick doesn't work on the LCI R56...
 
Reply
Old Jul 3, 2024 | 06:16 PM
  #16  
bluonyx's Avatar
bluonyx
5th Gear
5 Year Member
Liked
Loved
Community Favorite
iTrader: (3)
Joined: Nov 2017
Posts: 728
Likes: 247
From: Ventura, CA
Originally Posted by martinroger
Aye, but yours is pre-LCI ? AFAIK this trick doesn't work on the LCI R56...
I have a 15' coupe but have to look at everything in the 14', cause a lot of sites have the 15' as the start of the F56 line, kind of annoying. Should work on R55-59 it says.
 
Reply
Old Jul 4, 2024 | 01:21 AM
  #17  
martinroger's Avatar
martinroger
Thread Starter
|
1st Gear
Joined: May 2014
Posts: 41
Likes: 4
Originally Posted by bluonyx
I have a 15' coupe but have to look at everything in the 14', cause a lot of sites have the 15' as the start of the F56 line, kind of annoying. Should work on R55-59 it says.
That's interesting. And you have next/prev controls with that ?
Would you mind sharing the last 7 digits of your VIN or a picture of your head unit/central cluster ? I'm not sure if the R58 is a special case vs LCI etc
 
Reply
Old Jul 4, 2024 | 02:22 PM
  #18  
bluonyx's Avatar
bluonyx
5th Gear
5 Year Member
Liked
Loved
Community Favorite
iTrader: (3)
Joined: Nov 2017
Posts: 728
Likes: 247
From: Ventura, CA
Yup, volume controls and next/previous work also. Here's a pic of my stereo cluster setup and the last 7 digits for you.
# T773202


 
Reply
Old Jul 4, 2024 | 02:35 PM
  #19  
martinroger's Avatar
martinroger
Thread Starter
|
1st Gear
Joined: May 2014
Posts: 41
Likes: 4
Right, this is awkward ahahahah.
So yeah this looks definitely like the Boost CD head unit with the $6ND option on there, so identical to mine.

Are the USB/Aux jack still functional too after you installed that piece of loom?

Does the **** also allow track control or only from the steering wheel?

I would guess the only value my solution would have on this is that it retains sole form of ease of installation and it can show the track name... Most of the time!

Picture of base PCB I made for ... Attention, I guess!




Originally Posted by bluonyx
Yup, volume controls and next/previous work also. Here's a pic of my stereo cluster setup and the last 7 digits for you.
# T773202

 
Reply
Old Jul 4, 2024 | 02:48 PM
  #20  
bluonyx's Avatar
bluonyx
5th Gear
5 Year Member
Liked
Loved
Community Favorite
iTrader: (3)
Joined: Nov 2017
Posts: 728
Likes: 247
From: Ventura, CA
USB/Aux jack still works but I haven't tried the actual forward and back buttons on the center headunit. I'm sure that they work, I just use the steering wheel controls or the touchscreen. Another nice feature I noticed is that music still plays and controls are still active once you turn the ignition off. At least until the RAP feature turns off or I open the door.
 
Reply
Old Jul 9, 2024 | 05:18 AM
  #21  
Northern's Avatar
Northern
2nd Gear
Liked
Loved
Community Favorite
Joined: Jul 2022
Posts: 144
Likes: 35
From: Halifax, CANADA
So does this aliexpress retrofit kit require the $6ND option? That's just the USB prep/Bluetooth option over what I have?

653 High Definition Radio High Definition Radio

693 Satellite Tuner Preparation Satellitentuner Vorbereitung
6FC Radio Mini Boost Cd Radio Mini Boost Cd

Wonder if it's just a VO change to get to the point of this working...

I looked at those aliexpress bluetooth retrofits but I too was under the impression they didn't work with the LCI R56.

Also I don't know how many times I've done something the hard way only to find the easy way afterward...
 
Reply
Old Jul 9, 2024 | 07:55 AM
  #22  
martinroger's Avatar
martinroger
Thread Starter
|
1st Gear
Joined: May 2014
Posts: 41
Likes: 4
Originally Posted by Northern
So does this aliexpress retrofit kit require the $6ND option? That's just the USB prep/Bluetooth option over what I have?

653 High Definition Radio High Definition Radio

693 Satellite Tuner Preparation Satellitentuner Vorbereitung
6FC Radio Mini Boost Cd Radio Mini Boost Cd

Wonder if it's just a VO change to get to the point of this working...

I looked at those aliexpress bluetooth retrofits but I too was under the impression they didn't work with the LCI R56.

Also I don't know how many times I've done something the hard way only to find the easy way afterward...
Possibly, though I am no expert and I've never seen what the back of the DAB radio looks like, so it might also be an issue of "the connectors ain't there"
 
Reply
Old Jul 9, 2024 | 08:45 AM
  #23  
Northern's Avatar
Northern
2nd Gear
Liked
Loved
Community Favorite
Joined: Jul 2022
Posts: 144
Likes: 35
From: Halifax, CANADA
Looks like it doesn't use USB or any of the secondary ports on the back of the head unit, just the main one.

Based on the instructions on one of the ads, it looks like it's using the CD changer, but mentions "No AUX input must be unlocked consuming."

All head units seem to have all these pins populated, so the aliexpress version is cheap enough to be worth a shot even if it doesn't work out.

However, the one that @bluonyx mentioned is
non-mic: https://www.ebay.de/itm/256009983206
Mic: https://www.ebay.de/itm/266140055554

Seems to be ~$60 USD, which is probably worth it being verified as working, vs some bad reviews for the aliexpress version...


 
Reply
Old Jul 9, 2024 | 12:29 PM
  #24  
martinroger's Avatar
martinroger
Thread Starter
|
1st Gear
Joined: May 2014
Posts: 41
Likes: 4
Originally Posted by Northern
Looks like it doesn't use USB or any of the secondary ports on the back of the head unit, just the main one.

Based on the instructions on one of the ads, it looks like it's using the CD changer, but mentions "No AUX input must be unlocked consuming."

All head units seem to have all these pins populated, so the aliexpress version is cheap enough to be worth a shot even if it doesn't work out.

However, the one that @bluonyx mentioned is
non-mic: https://www.ebay.de/itm/256009983206
Mic: https://www.ebay.de/itm/266140055554

Seems to be ~$60 USD, which is probably worth it being verified as working, vs some bad reviews for the aliexpress version...
So based on my practice of German, it says you basically do not need to code anything.
It is however not using the CD-changer (there is none on the LCI actually, only on pre-2010 cars) but just replaces what the AUX input would have been, which I suspect is the white part of the connector, and listens to steering wheel button inputs (if present).

It does say however in the description that :
- If the USB and Aux are already installed, you need to use another adapter ( "Ist bei Ihnen die USB/AUX-Schnittsteller verbaut, finden Sie den passenden Adapter hier." ) which is this one : https://www.ebay.de/itm/255364031619 . That other adapter seems to do a remarkably similar operation to what I am proposing, i.e. it pretends to be an iPod ("vom Fahrzeug wird es automatisch als iPod erkannt") in order to relay commands to/from the steering wheel and/or the radio *****/buttons. It does also say that option $FL6 must be installed, which is the USB + Aux I believe in the VO. So essentially it is the same as the Gitank, Bowee, Tuneair etc ...

- The one without the mic seems to not support the radio buttons : "Falls keine Lenkradtasten vorhanden sind, erfolgt die Steuerung direkt am Telefon" meaning that if you don't have the MFSW you must change directly on the phone. That's probably because it emulates the AUX line, but can't read the ****/buttons input of the radio because they are just not broadcast anywhere on any of the wires in the kit. "über die Tasten am Radio ist keine Steuerung möglich" very explicitly says that and it differs from what @bluonyx was mentioning, so it would be worth double-checking.

- The one with the microphone for calls mentions that the USB/Aux might not be functional in most cases ( weird flex but OK) : "
Falls im Fahrzeug eine USB/AUX-Schnittstelle verbaut ist, wird diese in den meisten Fällen deaktiviert." The phone functionality is a bit weird, you seem to be able to take the call with the steering wheel button and it will do a mixture of speaker and small microphone to take the call. Would be curious to see it in action to see what pops up on the radio screen.

Interesting options if you ask me, especially for people who do not have USB + AUX and do not care for the title displayed, but have the steering wheel buttons.
 
Reply
Old Jul 9, 2024 | 01:14 PM
  #25  
Northern's Avatar
Northern
2nd Gear
Liked
Loved
Community Favorite
Joined: Jul 2022
Posts: 144
Likes: 35
From: Halifax, CANADA
Probably a 'good enough' solution for me, since it looks like I'd need a different head unit to have anything better.

IMO it leaves plenty of space for something better that shows track titles/artist/etc...
 
Reply



All times are GMT -7. The time now is 02:18 AM.