I was very happy reaching this point. I was quite a few years of effort, but finally, here it is. Something I can offer to people – a useful product. A device which emulates the car CD-changer and lets you stream music from your phone via Bluetooth.
Following a short beta test period, this is the re-designed look of the CD-Changer emulator. The fiber-optic control board is now on top of the Raspberry Pi. You can see the fiber-optic transmitter glowing in red through the connector plastic housing.
The board says V3.0 because V1 was the “beta” device and V2 never saw the light of day. The board has the D2B controller OCC8001 as well as a Cypress ARM M0 micro-controller and finally power supply circuit.
I could not locate any source to purchase the fiber-optic connector used in Jaguar cars, so I 3D printed one.
I managed to find an optical transmitter and receiver pair working at around 650nm wavelength. They were compatible with the signal in the car, so here it is optical connector replacement in all it’s glory.
Very simple homebrew fiber optic “loop” cable. The D2B devices have to form a loop and this little gizmo comes very handy if you have to disconnect a device – just plug the loop in the empty fiber optic socket.
The connector is 3D printed, the optical “cable” is cut from SP-DIF (aka TOSLINK) cable – they use the same 1mm plastic fiber core.
I had this handy board based on the Cypress EZ-USB FX2LP chip. I wanter to read the software that was driving the radio for a 2001 Benz S-Class, so I put this cobbled-up EEPROM reader.
I also build an 8051 CPU emulator to see what the software was doing. Didn’t get much info from it apart from the chip init sequence, because the emulated radio was trying to talk to the security CPU on the front panel and shutting down.
This is a small experimental board I built to connect the optical adapter from a CD-changer to a PC so I can control the D2B protocol chip via i2c.
The board had a flat cable connector to the CD- changer board, a small A2D converter with aux-in, some pins for the I2C protocol and a LDO.
Interesting accident I had was that I used solder flux which converted to zinc-oxide over time and shorted some of the PCB traces. It took me quite a while to figure out why the thing would just stop working.