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
 
  #26  
Old 07-10-2024 | 12:14 AM
martinroger's Avatar
martinroger
Thread Starter
|
1st Gear
Joined: May 2014
Posts: 36
Likes: 3
Originally Posted by Northern
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...
Yeah, absolutely, especially if you have the steering wheel buttons already!

Regarding where I am with my homebrew solution ... First carrier PCB assembled with the ESP and the DAC piggybacking on each side. Scared myself with an ESP that seems to have an issue, lucky I had another one, seems all functional on the bench at the house (even found a minor SW bug!).

Objective is to get it in the mini by next week after throwing together a quick enclosure on the 3D printer.

Pictures for attention (everything is very big because of the headers mount, the boards can also be soldered directly to the green PCB for max compacity).


DAC side

ESP side
 
The following users liked this post:
Northern (07-10-2024)
  #27  
Old 07-12-2024 | 11:31 AM
martinroger's Avatar
martinroger
Thread Starter
|
1st Gear
Joined: May 2014
Posts: 36
Likes: 3
UPDATE : the good, the bad, and the product ID

I went to the GP2 today with my little proto board, cocky as a rooster with the conviction it would just work. Alas it proved to not even communicate with the car despite powering up and connecting over BT.
After some digging up, I realized my mistake (it gets technical) :
- The original Y-cable for the iPod, as well as all the Amazon/eBay/Aliexpress copies, use a PL2303HXA or HXD chipset to do the Serial-over-USB communication between the car and the iPod. That's a fairly old chipset (starts around 2003) that has been counterfeited to the moon and back, and has been out of production for a while now.
- Not realising this detail, when I developed the PCB, I used the PL2303GL version of the chipset, which is still somewhat in production (or at least buyable) and has essentially the same operation mode with a few things simplified. My assumption was that because both were based on the PL2303 base, it would just work.
- Digging further, I realised that both chipsets, despite having the same base, do not identify themselves the same way. In order for a Serial-over-USB chip to identify itself, it must communicate a Vendor ID and a Product ID over USB. The HXA and HXD (and some others also out of production) return a vendor ID of 0x067B (for Prolific) and a Product ID of 0x2303... on the other hand the newer GL/GS/GC/GT versions of the chip return a different Product ID of ... 0x23A3 .

At this point I started digging to try and find the Prolific OTPROM Writer, which is a piece of software that would allow me to rewrite the PID on the chipset I am using, to 0x2303, with the hopes that from the software driver perspective on the radio, it changes peanuts and still performs its Serial-over-USB function. Unfortunately that piece of software doesn't look easy to find, so for now this is a dead-end until the chip manufacturer replies to me.

But... I am a cheeky french b*st*rd who has had enough direct dealings with BMW engineers. I couldn't conceive that they would lock and license themselves behind a single USB-Serial chipset, with the further difficulty that they are not one of the big players (like Silicon Labs, FTDI...). That would make the money stream on selling cables quite risky, and would essentially supplier-lock themselves with regards to their Y-cable. Not a very BMW things to do.
So I whipped out a very common, very cheap, very reliable SiLab CP2102 Serial-over-USB interface that I had laying around. They have a very good piece of SW to change the VID and PID, and it's - with difficulty - reversible, but even if it weren't it would not be a big loss, and I proceeded to change its VID and PID to the ones of a PL2303HXx chip. Essentially, I painted the frog into a bull, and headed back to the GP2.
To my semi-surprise, cheekiness pays dividends : it works ! The SiLab CP2102 is mistaken for a PL2303HX chip, and I see the handshake signals coming from the car through it. What that means is that I can potentially completely avoid the issue of the supplying and PID/VID salad of the Prolific chipset, and just replaced it with a slightly hacked (one-click-job), cheap/reliable/available chipset.

It does mean that possibly the next move is to actually make and then propose an "all in one" board rather than a collection of China-made boards and union PCB, but that's for another day!
 
The following users liked this post:
Northern (07-14-2024)
  #28  
Old 07-16-2024 | 12:37 AM
martinroger's Avatar
martinroger
Thread Starter
|
1st Gear
Joined: May 2014
Posts: 36
Likes: 3
Mini update : I got the software to change the PID on the OTPROM for the PL2303. Did it, will go to the car tonight to check if the spoofing works.

Update to the Update
The spoofing works. I found a couple bugs more that should now be patched, and the title update on voluntary track changes is a bit lazy sometimes ( I suspect Spotify for that ).
Next stage is to rethink the USB-Serial story and design an all-in-one PCB.

Where is the iPod ? NOWHERE

 

Last edited by martinroger; 07-16-2024 at 09:03 AM. Reason: Tested out new version
  #29  
Old 09-08-2024 | 06:08 PM
Agent007pr's Avatar
Agent007pr
1st Gear
iTrader: (1)
Joined: Jul 2010
Posts: 34
Likes: 0
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

Mind sharing what your screen setup is?
 
  #30  
Old 09-13-2024 | 11:05 AM
bluonyx's Avatar
bluonyx
4th Gear
iTrader: (3)
Joined: Nov 2017
Posts: 594
Likes: 169
From: Ventura, CA
Screen is a CarpodGo T3 Pro,
hardwired hardwired
and used the backup camera it came with.

Mount is from Proclipusa, screen uses a standard 17mm ball mount so when I found the angle I liked I JB welded it. This helped with any loose movement over time. Don't bother with a CD mount, the screen is to heavy and jiggles like crazy. This setup I'm still able to access the volume, speedometer and climate controls. The screen is removable from the mount just in case you don't want to leave it out in the open.

Since my R58 doesn't support bluetooth audio I had to install a new module from BlueMusic Bluetooth with handsfree mic. This module works with your steering wheel controls too, forward/back and volume up and down. I disabled the factory bluetooth and when I select AUX, it automatically plays and answers calls through the AUX.
Think the MINI factory bluetooth is version 4.1, this new module supports 5.2.

Glued a magnetic charging mount to the center console for my phone, so I slap it in place to charge and out of the way.

 

Last edited by bluonyx; 09-13-2024 at 11:28 AM.
  #31  
Old 09-19-2024 | 11:19 AM
martinroger's Avatar
martinroger
Thread Starter
|
1st Gear
Joined: May 2014
Posts: 36
Likes: 3
Hey everyone, just a very small update for this time.

We are now on the second software release and after some longer-term testing and debugging this summer, it seems to be functioning quite good.

I don't really have new pictures of the boards as I was spending time fixing issues with dropped song metadata and some minor track skipping bugs this summer, the next stage is to try and design an all-in-one PCB and get a handful produced.
Any questions welcome !
 
Related Topics
Thread
Thread Starter
Forum
Replies
Last Post
Shoe Coupe
1st Gen Countryman (R60) Talk (2010-2015)
26
08-06-2017 11:16 AM
Pertplus
F55/F56/F57 Stock Problems/Issues
3
02-10-2016 04:14 AM
ChiliMiniNW
1st Gear
0
07-10-2011 10:15 PM
MrTIer
Navigation & Audio
3
09-28-2008 08:55 AM
physonect
Navigation & Audio
8
09-25-2008 04:21 PM



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



All times are GMT -7. The time now is 08:21 AM.