Shiftedphase.com Development
Shiftedphase.com
User From: US


















Saablin car-mp3 player

Here I will document instructions for creating a car computer for your recent-era SAAB. These instructions are based on SAABLIN, a project by "rass" a member of the saabcentral.com forums. These instructions are free-form, meaning that you can take any liberties to do things differently. I'll try to tell you where you must follow instructions explicitly.

Overall, this project cost about $400. The CANUSB adapter is a pretty special item (even though it's not physically substantial).

  • The USB-CAN converter from the US based distributor iMAGEcraft costs $139.00.
  • You will need a computer complete with hard drive storage and car-based ATX power supply. Your mileage will vary, but mine cost $299 before shipping.
  • You will need to convert the unbalanced audio output of the computer to the balanced audio that the SAAB head unit needs. This will cost about $5-20 for the PCB and about $10 for the parts. If you can find a better converter, you will get it cheaper.

Saablin utilizes the Lawicel CAN-USB dongle that will connect your usb port to the SAAB instrumentation bus (i-bus). You can also use this CAN-USB dongle and connect to the p-bus (powertrain bus) and tune your car with T7Suite.

The i-bus is a 2-wire serial network that broadcasts and receives messages sent from the car's various instruments. A few of these instruments include the steering wheel buttons, the automatic transmission, the SID and the cd-changer. The cd-changer is an overpriced outdated method... Who wants to listen to only 6 CDs?. I wanted to listen to all my music and have access through the steering wheel. I also wanted the songs to display on the SID.

Rass' SAABLIN does exactly what I wanted. Some effort was done in the past to interface an iPod with these controls, but was abandoned some time ago. What Rass discovered, was that the CD changer input could be used to put a car-mp3 computer in place of the cd changer.


Lawicel CAN-USB adapter.

The software portion of SAABLIN is a collection of shell scripts that runs mpd (music player daemon) on linux. It sends specially formatted messages through the i-bus to control the SID and to receive keypresses. The music will be input through the regular cd changer balanced audio lines.

First, we'll have to tap into the i-bus, the balanced audio input and the antenna power wire.

  • Find the i-bus connection in the driver's side back portion of the trunk behind the matting. There will be two connectors. They are wrapped in some fabric tape to keep them from clunking around. Remove the dust cap and you have the 2-wire connection to the i-bus (white and green wires). For now, I cut the end off of a DB-9 serial cable and used pins 2 (I-) and 7 (I+) to connect to the car's i-bus (white is negative, green is positive).
  • You'll have to get a balanced audio driver to convert regular unbalanced audio to the format the head unit can understand. I used the schematic on the saablin site and sent the eagle files to futurlec.com for production. I got the rest of the electrical components at Mouser. You can also purchase a PCB from BatchPCB for approximately $20 with shipping. Buy Here. You can also contact me if you would like some PCBs, I have 10 spares, I will send them for free (minus cost of international shipping if that applies).
  • Connect the balanced audio drivers to the CDC connector (5 various wires). See image below for pinout.
  • Find the antenna wire. This one is tricky. In the upper right side of the trunk near the rear seat, pull the matting back and you'll find a well wrapped bundle of wires. One will look like it continues upward. Unwrap some of the protecting cover to reveal the wires. Once you see the wires, you know you have the right set when there are two much larger black wires wrapped within, maybe another black and brown wire and a solitary green wire. USE A TAP SPLICE HERE. If you're feeling brave, cut this wire and tap into it. The worst thing that will happen is you might lose your radio capability or blow a fuse. This wire will tell your car ATX power supply when to turn on (whenever you turn on the head unit).
  • I ordered a car-ready mini-itx computer from mitxpc.com. It is all ready to connect to power and the antenna power wire.
  • The hard part (the balanced audio converter) involves using more tap splices inside the computer case. Tap into pins 10, 11 and any of the black wires for ground. Wire these to the three pins on the PCB as shown below.


ATX Pinout


Component Layout

  • If your board manufacturer does not support more than one layer, make jumpers as shown as yellow lines in the picture above.
  • Make sure there is -12VDC and +12VDC going into the board from your ATX power supply. It will not work without it.
  • My computer came with an internal audio cable with three wires, I removed the sockets from the black plastic material and stuck them directly to pin headers on the PCB. You only need to connect the ground to one spot on the board.
  • Install linux on the PC. I can't go into this detail here, but I downloaded Pen Drive Linux and installed a copy of Ubuntu Server Edition on a 4GB pen drive. This is TOTALLY up to you, you can use 1000 different distributions, this distribution is just a preference of mine. I was thinking about using Gentoo once I got everything working.
  • Install the can and can-raw kernel modules. Again, this is beyond the scope here. I might add it, you might already have them installed. They are included in the linux kernel, hopefully they will be set up as modules from the beginning. To test this type as root (or sudo) 'modprobe can' and 'modprobe can-raw'. If you get success (no output), you can move on to the next step!
  • Install the socketcan module. This is detailed on saablin.net/node/4.
  • Type (as root/sudo) 'modprobe slcan'. If this works, you're doing great!
  • Install the shell scripts (or java) from saablin to /opt/saablin_cdc
  • Set the scripts up to start when the computer is booted (in ubuntu it's /etc/rc.local) and bare-bones the thing so it boots as fast as possible!
  • You should now be saab-linning!
  • Set the mixer (run alsamixer) on the computer to somewhere 80-90% to prevent distortion. Afterwards run sudo alsactl store to make sure that the volume remains the same after booting next time!

Good luck, if you have any questions please write them in the saablin forums.


See the i-bus attachment here. Green is I+ and White is I-.

I found some problems getting the xubuntu installation on my laptop for testing to behave nicely (Ubuntu server edition already had these modules compiled). The CAN modules were not configured by default and ubuntu only comes with headers and not the full linux source. I had to download the source and hand make the modules. Once you have the modules can and can-raw (under Networking->Can in menuconfig) you can install the socketcan module (detailed on saablin.net) and then modprobe all three drivers. Download the shell scripts from saablin.net and install them in /opt/saablin_cdc. In two of the scripts there are references to /root/saablin/v2. You have to change these to /opt/saablin_cdc or the variable within the script that points to the proper directory. Once running, you should hear your SID beep a few times! Expect more thourough detail as I work on this more.


Now we're talking!


Here's the CDC connector. Blue/White - Left+, Brown - Right+, Red/White - Left-, Black - Right-.


Proof of concept!

Finally, here is a dark video showing it in action.