Blog post about hacking in an aux-in jack for the now defunct Saab 9-3

Originally published on September 17, 2010 as a repost of something even earlier (I can't find the original date)

An Aux-in Jack for your Saab 9-3

This is a repost from the old collection of articles I had written. Turns out that a lot of people are still wondering about this topic, so I thought I’d get it back up for the world’s benefit. The original text is below:

When I bought my (third-hand) 2000 Saab 9-3 this past summer (2009), I thought it was perfect–I really did. Sure there were some cosmetic flaws here and there, but I could live with those. What I couldn’t live with, however, was that there was no aux-in jack for my iPod. Moreover, there wasn’t even a tape deck, so I couldn’t use the cheapo 3.5 mm jack-to-tape converter solution (available at Radioshack for about $15, I think—but don’t quote me on that). So that left me with only a few choices, as far as I could tell:

  1. Live with the fact that I only had a CD player; or
  2. Buy an expensive yet crappy sounding iPod radio transmitter; or
  3. Modify my Saab to take an aux-in input.

Introduction

(If you don’t care for introductions, skip right on to the technical bit below).

Now, I seriously considered the first option for a while. I could, in theory, live off of nothing but Kent, Timbuktu, Johnny Action Figure, Moses Mayfield, The Fashion, and Our Lady Peace—a strange cross-section of the music I listen to, having only in common that those artists are the only ones whose physical CD’s I’ve bought or received. I lived happily with this solution for a while, but the problem greatly magnified itself during a windsurfing trip to Corpus Christi, TX. It takes about 4 hours (if you’re driving sanely) to get from Austin to Corpus Christi. In addition to the time it takes to get back, I (and my unfortunate passengers) had listened to every CD I owned, and one of the Kent CD’s five times through. Coupled with the thought that I was about to make this trip once every two weeks or so, I knew that I needed to look into other options.

So what about the iPod radio transmitter? On the one hand, the pros were that it’s a simple concept and I could therefore understand how it works; on the other hand, the cons were that it’s a simple concept, and I could therefore understand how it wouldn’t work. Now, because I had previously considered the audibly horrid iPod-to-tape solution, I can’t use poor audio quality to dismiss the radio transmitter solution (though it is quite bad). Instead, I will appeal to the fact that (a) you have to find an unused radio station which will stay open (highly unlikely during long trips through many localities), (b) they’re expensive, and (c) they only work with iPods. Those aren’t show-stoppers in any inherent way, but when I started considering the modded aux-in option, it became clear that the radio transmitter was a weak choice.

I googled around for how to pursue such a mod in an easy way, and ultimately realized that there is, in fact, no easy way. I could have gone for an aftermarket stereo, but that would have been expensive and ugly. If money were no object, then perhaps the AudioTroll would have been the coolest option. But then again, if money were no object, GraniteEmbedded, LLC, maker of the AudioTroll, would still be around. I needed some way to do it myself. Having never soldered before (hey, I was a CS major, ok?) or studied electricity in college (hey, I didn’t have engineering science requirements, ok?), I needed someone to show me the way.

Prerequisites

Enter Seth Evans (Wayback Machine’d because his site seems to have disappeared) and David Muir. If you made it this far, I’m assuming you’re actually trying to do this mod and have read those two websites, so allow me to get technical without any further delay, except one big “credit where credit is due”: huge thanks to my friend Jason Cohen for not only the technical expertise in electricity, analog audio, and signal processing, but also uncanny mastery of the tools known as the soldering iron and Dremel. Everything remotely scientific-sounding that I say below, I probably picked up from him. (Important: erroneous paraphrases and/or omissions are my own miunderstanding, not Jason’s.)

What I’m about to suggest here, is a better way to do the Tel1 mod. I don’t have a Tel0 Saab, so I didn’t have to suffer through removing my car radio.

(STRIKEOUT: I believe that if you were to take out the radio, then you might as well hijack the CD IN L and CD IN R connectors from the radio, and use those for stereo goodness. Consider that David’s Tel0 mod requires you to mess with the connectors in the back of the stereo unit anyway–you could in fact just get CD quality audio by going this route, instead of essentially enabling Tel1 manually in a Tel0 9-3, all just to have mono sound. Granted, the downsides are increased risk and the requirement for some pioneerism, but if you get it right, you would in theory get perfect audio and have something to write home about. But I didn’t want to mess with my stereo in any physical way. Being a software person, I prefer modular interfaces, which is essentially what the telephone harness is.)

Actually, David has pointed out to me that this is, as far as anyone has tried, not true. The only way this method seems to work is if you run the CD-changer at the same time. Cars without CD-changers can’t steal the L and R channels directly on the stereo; there must be some signal protection going on at the hardware level. Looks like the telephone harness is the way to go!

The end result

Ok, so let’s review the limitations and cons to doing this (i.e. my Tel1 mod). Make sure you understand or agree with all of these if you are to continue. The Tel1 mod is the least intrusive of the various known mods out there that have guides written, but it still requires some permanent changes to your Saab (but only cosmetic). The end result is shown here.

  • You are going to get mono audio and you are going to mix your stereo signal passively (i.e. at the wire level). Keep in mind that analog audio is just a continuous stream of voltages; you are about to force these voltages to mix on the wire and produce mono sound. This is inherently going to be bad for songs that have very different things going on in the left and right channels. Spoken word (e.g. audiobooks) will sound fine, however. Corollary: if you have a newer iPod which has a software mono setting, then this point is moot (just use that setting).
  • You are going to drill holes in those unused button-holders in your car. I chose the two buttons on the left (among the row of five underneath the air controls). You’ll obviously have to choose different ones if your car has options and those buttons are already used.
  • You are going to open up the passenger kick-board and put it back. You may also have to remove the glove-box. In my case, I haven’t been able to get the glove-box completely back in its original position. I’m sure it’ll be fine if I really tried, but I rarely use it anyway. (I’m so going to get pulled over just for having said that.)
  • You are going to be unable to implement the hands-free solution that the telephone harness was intended for at the same time as you have your mod in place. You can have them separately, however, and it will require you to swap out telephone harnesses.
  • You are not going to be able to control your iPod from the steering wheel (besides volume, but that’s the car speaker volume and not the iPod volume). Your 9-3 will think that your iPod is a telephone that doesn’t have a mic—it doesn’t care that it’s an iPod.
  • The volume level in the car will reset every time you turn off the car, forcing you to adjust it every time you start your car. This isn’t so bad, but it can be annoying to some people, I suppose.

If you accept these conditions and understand the limitations, then here’s what you’ll need:

  • A Tel1 old generation Saab 9-3 (obviously). See David’s website for how to tell if your Saab is Tel0 or Tel1.
  • The Telephone Harness (I will henceforth refer to this as “the harness”). Check with your dealer for this part. I got the part number from an old catalog that the parts department had on hand. Seth’s website has a link to it being sold for $16+. I got it from my dealer for like $3.26 or something, with no shipping charges, so definitely check with your local Saab dealer’s parts department first. (Update: your Saab dealer’s face will light up with joy when he sees you walking into the showroom, but will most likely taper off into a depression when you inquire about a $3 dollar part. In the past he would have ridiculed you, saying “Son, do you know what kind of cars we sell here?” But now he will thank you profusely for your generosity. Uh, anyway…)
  • A female 3.5 mm stereo jack. Don’t get a mono jack because we’re going to put some resistors between the stereo jack connections and the harness. This thing cost less than a dollar at Fry’s.
  • 2 1k ohm resistors (or some other value). I’ll explain why below.
  • Some kind of switch; I got the same one as David shows in his pictures from Radioshack. It was 4 bucks and change.
  • Soldering iron and solder.
  • Drill with various bits.
  • Dremel with various bits.
  • Screwdriver with torx bits; wrench with metric fittings. Just about every screw on the Saab has a torx head, and because the car is Swedish, the bolts are metric.
  • Voltmeter/ammeter (optional, unless you want to verify your equipment readings against the ones I made).

Stuff I don’t really know much about

Ok, let’s take a moment to get an overview of how this is about to work. If you follow Seth’s website (also for Tel1), you’ll see that the wiring diagram is pretty simple. Take the left channel of the female 3.5 mm jack and solder it to the tel-in wire; take the right channel and do the same; finally, take the ground of the jack and solder that to the ground wire from the harness. Put a switch between the yellow and black wires to tell the car whether it’s in telephone mode or not. Done.

So if it’s this simple, why make it more complicated? In order to understand the problem with this setup, we’ll need to draw the wiring diagram. I’m going to use a graphics program because I’m no EE. If anyone reading this is badass at circuit diagrams using their tool of choice, I’ll be happy to feature your diagram here.

The circuit diagram

First, let’s define all the symbols. V_l and V_r are the voltages from the left and right channels, respectively. This is the voltage that the iPod is delivering. R_o is the output resistance at each of the channels (we’ll assume that the left and right channels have the same output resistance value). V_i is the voltage coming into our harness line and R_i is the resistance of the harness line going into the stereo (i.e. the input resistance). R_m are the resistors we’re going to place between the jack’s L and R channels before we mix onto the harness mono line. As is traditional, I_o and I_i mark the current at the appropriate places. Finally, C_i is the capacitance inside the Saab, but we’ll ignore that until the very end.

Let’s look at the ideal case first (note: this isn’t meant to match up with the diagram–it’s just an illustrative case to set the scene). In the ideal case, the output voltages from the left and right channels are exactly the same (i.e. we have a physical mono signal). Since they’re the same, we can really think of the left and right channel as a single channel with that voltage. Think about it: it’s just like taking a mono signal, “copying” it over two wires, and then bringing those two wires back again–splitting it into two wires in between the two single wires is actually redundant. Let’s call this voltage V_P for iPod (so that V_P = V_L = V_R). Ohm’s law says that V = IR, or equivalently, I = V/R. This tells us how much current is going out from the iPod in order to deliver the voltage to the stereo. We can expect R to be very high, since this is the way that stereos are designed. And appropriately, a large value for R causes the current I to be something quite small. We’ll actually measure R_i later on.

Now let’s think about the worst case. The worst case happens when the voltages at the left and right channels are opposites, for example +5 V and -5 V. If V_L = +5 V and V_R = -5 V, then what will happen is that current will want to go from the left channel into the right channel (recall that voltage is a measure of potential). In this case, the intuition is that because R_i so high and R_o is small, it means that there is a lot of resistance going into the stereo, but not a lot of resistance going into the right channel. Being the cunning (but lazy) devil that electricity is, it will take the path of least resistance (literally) and go into the right channel. So what does this mean for Mr. iPod? Well, let’s see: I = V/R. The smaller we make R, the more current is drawn. Mr. iPod will likely be ok, but his mojo (battery) will be drained at a phenomenal rate from all that unbridled current being pulled. Even worse, because the mixed signal at the harness line is the voltage between two equal resistors, then V_P = (V_L + V_R)/2. Since V_L and V_R sum to 0, it means that V_i in your Saab sees “no signal”. In fact, I were to take a mono recording and play it though the left channel and its inverse in the right channel, with this setup, I would hear nothing, except maybe the sizzling sound of my iPod battery.

Ok, so this is very bad, but how often does this happen in real life? Like I mentioned above, most music is very similar on both channels, so we probably won’t get the worst case scenario very often. However, any slight differences in voltage between V_L and V_R will in fact manifest themselves in V_P as the average of two channels. As per above, we will be seeing the average of the two voltages. So even if we never have exactly opposite voltages, they could be different enough to cause an overall weaker signal at points (consider +4V, +1V). Unfortunately, this is inherent to passively mixing mono, so we can’t get around this. Unless, of course, we could guarantee that we always got the same voltage coming out of the left and right channels: this is also why the mod I present here is rendered moot if the iPod can mix mono at the software level and produce the same physical signal coming out of the left and right channels, which some of the newer ones do.

I’m just going to pretend that this is LaTeX (and so should you)

So we’ve come to terms with why mono is inherently problematic, and if we can accept that, then all we have to do now is to stop the battery bleeding. Let’s think about this intuitively. The problem before was that because R_i was so big and R_o was small, current didn’t want to go through R_i. To visualize this, consider if you could drive to work on backroads with no speed limit or on the interstate with traffic for 20 miles, which would you choose? It’s no different with current and resistance (in fact, we knew this because I = V/R!) So intuitively then, if we could somehow “beef up” our resistance at the output channels (i.e. R_m), then those pesky electrons wouldn’t be so eager to go between the channels.

My initial reaction was “why don’t we just put some massive resistors between R_o and R_i, then?”. The problem here is that because resistance is additive, this would actually be the same thing as increasing R_o. By the voltage divider equation, if we make R_o too big, then we degrade V_i in a linear fashion. Since V_i is already in short supply (whenever V_l and V_r deviate it becomes the average of the two), we can’t afford to degrade it too much. So now we have to optimize this value.

Here’s what we know so far from just looking at the picture (reproduced here). For now, let’s also not worry about V_l and V_r deviating, and say that V_l = V_r (we can make adjustments for this later on). We know that I_i = 2*I_o because current is also additive in this setup. We can also state that V_i = I_i*R_i.

The next step is to ask about the difference in voltage: what happens to V_l in order for it to become V_i? Well the difference in voltage there is really just the current going out, I_o, multiplied by the sum of R_o and R_m, since we said earlier that adding R_m to the diagram is really just saying that R_o should be bigger. Stated as an equation, we have V_l – V_i = I_o*(R_o+R_m).

Now it’s just a matter of algebra and using our observations:

V_l - V_i = I_o*(R_o+R_m)
V_l - I_i*R_i = I_o*(R_o+R_m)                 since V_i = I_i*R_i
V_l - I_i*R_i = (I_i/2)*(R_o+R_m)             since I_i = 2*I_o
V_l = I_i*[R_i + (1/2)*(R_o + R_m)]
V_l = (V_i/R_i)*[R_i + (1/2)*(R_o + R_m)]     since V_i = I_i*R_i
V_i = (V_l * R_i) / [R_i + (1/2)*(R_o+ R_m)]

We said earlier that V_l is really (V_l + V_r)/2, so we have

V_i = [(R_i) / (R_i + (1/2)*(R_o+ R_m))]*[(V_l + V_r)/2]

Ok, what does this equation actually tell us? Recall that we’re trying to boost R_m as much as possible here, but we now have an equation that shows us how much V_i will be affected in return. At this point, we’ll also need the real world values for R_i and R_o. Without going into too much detail (and assuming that these values won’t be drastically different), we measured R_i as 3000 ohms and R_o as 25 ohms. This means that:

V_i = [3000 / (3000 + (1/2)*(25 + R_m))]*[(V_l + V_r)/2]

This says that to lose half the signal (which is not the same as losing half the audible signal, since our perception of loudness is not linear), we could put a 6k ohm resistor in there. Clearly we don’t want to lose half the signal—in fact, we don’t want to lose any at all—but we do have lots of room to work with. We ended up going with 1k as a safe bet, but we now suspect that lower resistance is fine too. Actually, you probably want to go lower because there is definitely a capacitor alongside R_i, as shown in the diagram above.

Capacitors introduce complex numbers into the equation and causes me to not want to write out the math. The upshot of all of this is that a 1k ohm resistor for R_m may result in a low-pass filter effect as a result of C_i, meaning that high frequencies are filtered out. Nonetheless, it may also be inevitable in case it was an intended effect: since your phone was meant to connect to this audio line, the Saab engineers may have tried to optimize the signal for a telephone use-case. Phones are generally already low-passed, so maybe the car is doing something similar. Who knows. Basically, if you’ve read this far and you were able to get this, then you probably know enough to weigh the pros and cons on your own. There’s not much more I can help with without learning more physics, to be honest.

Wrapping up

The bottom line is this: if you own a new iPod and see the “Mono sound” option in your settings, then save yourself the trouble and wire this thing up in the most straightforward way possible (i.e. Seth’s way). If you don’t, then use 1kohm for R_m as a safe bet, but you can likely halve that with no appreciable effect on the battery life, and yet possibly a gain in high frequencies. We didn’t have much time to complete this mod (basically a couple of hours one late, late Friday night before we had to get up a couple of hours later at 6am for a windsurfing trip). If you have more time, feel free to experiment and let me know how it goes.

The last steps are actually the hardest. Once you’ve decided on a number for R_m, you actually need to implement this in the physical world (don’t you like CS better?). I’m a n00b at soldering and dremeling, but here are some tips for this particular case.

There’s not much I can say about soldering that you can’t find out from other sites on the internet, but I will say this about those pesky Saab button-shells. First off, the plastic is hard. Very hard. Be prepared to drill a small pilot hole first in the center before applying the larger (and appropriately sized) drill bit. Next, try to note what’s keeping the button’s structural integrity, and try to dremel in such a way that your piece fits, yet doesn’t cause the button-shell to be weak. I wish I had taken pictures of this, but it was late and we were trying to finish in a hurry, so a written description will have to do. If you’re looking down at the button shell from the top, you’ll notice that you shouldn’t mess with the sides, and possibly that long “tail” in the back. This led us to conclude that it would be safer to take a chunk out of the top piece (it won’t be seen anyway, since the button-shell sits flush against the panel) than to try to cut off the back of the button-shell. These restrictions also mean that the switch and jack have to go on separate buttons. You’ll see that David did his on the same button-shell, but he notes that the button doesn’t sit strong against the panel, and I suspect it’s because the side of the shell might have been compromised in some way.

Next, you may want to solder the jack first and leave the switch alone until you mount the buttons in the car, and then solder the switch there, once the jack button has been placed. This is because there is a plastic bar between button holders that limits you to a certain order of events:

  1. Solder the jack and resistors, and then solder that combination to the mono and ground lines
  2. Take everything out to the car
  3. Insert the harness through the empty button cage, not the side panel (the connector fits just barely if you angle it diagonally)
  4. Click the button that houses the jack into place; it should sit fairly securely.
  5. Pull the switch lines (I believe they’re yellow and black–double check first) through the other opening where you plan on mounting the other button
  6. Solder the switch on right there in the car, pop the button in place, and connect the harness to the car

Well phew, there you have it: an aux-in enabled Saab 9-3 for a couple of bucks. Overall, I’m pretty happy with the sound quality. It’s not as loud as it could be, but since I drive manual, I like to be able to hear the engine anyway to know what’s going on. I use it mostly for audiobooks when I drive long distances, and at max volume, everything sounds great. Good luck!