Close

Adventures in drag-soldering, and groovin' on the ICM2

A project log for SAAB 9-3 'ICM2' Display Hacking

Reverse-engineering how this unique LCD display works.

leigh-oliverLeigh Oliver 04/28/2020 at 00:013 Comments

Due to COVID-19 the postal service here in Australia has been somewhat slower than usual, and so that has also slowed project advances somewhat. Eventually, though, the 0.5mm 20pin FPC connectors and Adafruit FPC "Stick" that I ordered arrived...

My plan was to use these to allow for a more robust hacking solution - rather than having bodge wires soldered tentatively to vias on the back of the display PCB, I would simply interface with the intended connector! Here's what the business end of that looks like, note the I2C pullup resistors (which would later be proven to be unnecessary). 

What comes as a surprise to nobody, half a millimetre pin pitch is quite small - and my $15 Bunnings Soldering Iron is quite crap. 

Persevering with flux and braid, I thought I had done an alright job. Unfortunately the pins were either not making contact, or were shorting out with each other.

A few connectors later (melted plastic, bent pins) the FPC breakout board started to look a bit war-torn, and eventually traces began to come loose. At that point I gave up and returned to the bodge wire solution - next time I will have a new soldering iron with more power and a chisel tip, and hopefully that will improve my results.

I then began to integrate with an upcoming project of mine, an ESP32 based Bluetooth audio receiver that can talk to the CAN-bus in my car to receive Play/Pause/Next/Previous signals from the steering wheel. 

I was mainly curious to know if the ESP32 could drive an I2C display at the same time as it could manage a Bluetooth A2DP session and an I2S stream, without audio "glitches". Turns out it can! Here are some experiments of "now playing" screen designs. 

Also note the small 5V to 3.3V logic level shifter on the longer breadboard - this eliminated the need for any I2C pullups, as mentioned earlier

I also experimented with how a "visualiser" might look, I'm still keen on this idea, although implementing an FFT routine may be pushing the limits of my own knowledge in embedded programming.

It doesn't look like much, but hacking up the various ESP-IDF Bluetooth examples in order to get "track playback position" working drove me absolutely crazy! 

For now I've got another Adafruit FPC Breakout "Stick" on order, so hopefully I can re-attempt a ribbon cable connection. This will also greatly simplify the hack for other people who want to try it! 

I plan to move towards a system where I can have the ESP32 tucked behind the centre console of my car. I may even begin to investigate the physical controls of the ICM2 unit, allowing for all manner of interactive menus! Stay tuned.

Discussions

scott.doorkey wrote 10/11/2022 at 22:59 point

Hi Leigh, I don't know if you are still active but I'm very curious to know about your work on the Saab ICM2 display. I recently bought a Saab 9-3 of my own and I'm planning on fixing quite a few things on it. I just came across your post, and I think it was awesome! It has inspired me to pursue your project. I want to retrofit my radio to have integrated Bluetooth with the skip buttons on the steering wheel working as well. An added bonus would of course be display control. Unfortunately, I do not have much experience with electronics but I'm certain I could teach myself and this feels like just the project to do it. If you wouldn't mind sharing some a more detailed explanation of the process, I would be very grateful.

  Are you sure? yes | no

Saabman wrote 04/28/2020 at 12:00 point

Hey Leigh, have you got a microscope? It certainly helps when your working with fine stuff even with a dodgey soldering iron.

  Are you sure? yes | no

Leigh Oliver wrote 04/28/2020 at 13:04 point

For sure, I've been using a small macro lens attachment for my phone to do "inspections". But I don't have anything I can use whilst soldering. 

  Are you sure? yes | no