How I spent my Holidays
Forward
There’s a certain catharsis that comes from fixing stuff that’s really and properly broken, and that’s mainly how I spent my Winter Holiday this year. A lot of what I’ve been doing professionally lately has been building stuff from the ground up. Still, fixing stuff that’s really and properly broken is one of my favorite tasks, and one I consider myself to be pretty good at.
One of my big wins last year was fixing some database queries that took 15 seconds on average for every single user-request to our web application. It was annoying and made our app really slow. I might write about that at some point, but the summary is basically that the SQL JOINs were inefficient. We rewrote a bunch of JOIN behaviors and threw some indexes at the problem, and our app performed much better.
No, this isn’t that kind of post. I got away from my keyboard plenty in December.
There’s a different kind of catharsis that comes from applying your skills to a domain which is – perhaps – not your core domain. In the below case, automotive:
Anyways, I bought a used truck in early November. It’s a 2008 Chevy Tahoe. It’s not particularly new or sexy, but it’s got a 5.3 liter Vortec engine, 4WD, leather interior, Bose sound system, seats 8 adults, and has an 8000lb towing capacity. It’s got a lot to like, but don’t ask me about gas mileage.
A generic 2008 Chevy Tahoe LT
Unfortunately, my truck is also cursed as hell. I’m not saying I didn’t do my due diligence, but it’s easy for dealerships to clear diagnostic trouble codes (DTCs) from the vehicle computers, and Q4 was very busy for me, so I might have overlooked some of these issues in an effort to close on a new vehicle before it started snowing in Chicago. I wanted the 4WD in case there was a lot of snow in Chicago this year.
Eventually, I named my truck Casper. Like the ghost. You know – because it’s haunted. I’ll tell you how haunted it is.
I drove it off the lot, and the Tire Pressure Monitor Sensor error light started firing on the ride home. I got it home and the heated seats no longer worked. The mirror randomly doesn’t fold out. I’m getting anti-lock brake system errors a week later, and airbag errors a month later. Several of these errors didn’t exist in my test drives at the dealership, and some also are not readily obvious when closing the sale. Oh well, it was my problem now. So here’s all the things I’ve done around the Holidays to get Casper back in line.
Why did I buy this thing?
Fixing The Heated Seats:
The heated seats were my first priority. Not because they were actually important for the mechanical function of the vehicle, but because I vividly remember testing them on a test drive. I knew they worked, or were supposed to work, and I demanded satisfaction. “It gets cold in the winter in Chicago, I would love heated seats”, I remember thinking to myself on a test drive as I punched the max heat settings on the seats.
After owning the vehicle a few weeks, I had already noticed a number of weird electrical issues like warning lights and janky mirror motors. The heating element in the vehicle has a strong power draw, so I suspected a fuse was blown. The Tahoe’s have two fuse boxes, one in the dash on the driver’s side, and one in the engine compartment. I checked a number of fuses, but didn’t find anything obvious.
After that, I remembered the service center at the dealership mentioning the need to install a new door latch because the door was “sticky.” I figured: they have to take the door apart to replace the latch – it’s likely they just didn’t reconnect the heated seat button assembly. And they did that maintenance procedure between my last test-drive and when I picked up the vehicle, so it seemed like a safe bet.
So I took the door apart with the help of my dad, and sure enough, the button assembly was plugged in incorrectly. I moved the plug to the appropriate “plug hole” and the heated seats sprang to life. There was also a bug in the heated seats button module where holding the button would cause the airbag warning light to fire. The turn signal would also randomly pause if it was active. By moving the plug to the correct terminal, I think this eliminated a number of weird electronic logic problems. My turn signal seems less fussy at least.
The 2nd plug from the right is plugged into the “Black“ port. The dealership had it plugged into the “Blue“ port. This prevented the heated seats from operating correctly. You almost can’t tell except for the raised text which says “Black“ or “Blue“
Fixing the Heater
After fixing the heated seats, I realized I had a pretty cursed truck. I figured doing some baseline maintenance was probably advisable, but probably wouldn’t fix anything major. I have a neighborhood shop I like, and asked them to flush the coolant, change the oil, change the brake fluid, check filters, and throw in a new battery. I had some problems with the heater in month one. I don’t know if fixing the heated seats fixed a latent electrical system problem related to the heating blower fan, or if throwing in a new battery did. Flushing the coolant could have eliminated a blockage in the heater core. At any rate, my heater works now.
In this case, general housekeeping seemed to eliminate a kind of annoying problem. We do this in Computer Science too, but it’s usually something boring like installing updates, or writing additional unit tests. So it’s nice to see the principle of applying best-practices helping in automotive maintenance.
Fixing the Anti-Lock Braking System (ABS):
In month one, I started to notice issues with “Stabilitrak” and the Anti Lock Brake system. ABS failures can be dangerous, so I knew I needed to address that issue urgently.
In month one, my wife already hates this truck. She was caught up on the TPMS warning light. The ABS warning is way more serious though, so that’s what I prioritized.
Anyways, I bought an OBD2 code scanner. Here’s the codes I got:
C0161
P0573
After some Google-ing around, both codes seemed to indicate an issue with the brake switch sensor. Fortunately, there’s some good content on YouTube on how to replace the sensor, and it was a cheap part. The repair procedure was also estimated to be about 10 minutes, which I learned actually means 1 hour on GM vehicles. I replaced the part, and the ABS lights went away. That’s a relief.
Fixing the Airbag Warning light:
After about a month, I noticed the airbag alert light was firing regularly too. Did you know not all car computer scanners can scan airbag systems? I didn’t. I wish I knew that before I bought a cheap scanner. Now I have two scanners, and a bunch more codes:
B0083_00
B0081_71
U0172_00
U0170_00
U0155_00
B0090_71
In addition to the above codes, there were many codes from when the driver-side button module was communicating junk serial data with the body control module. Also codes with the brake switch sensor. I knew the driver-side button module was likely bugged due to a bad physical connection, and I had already replaced the brake switch sensor. So what to do about these other codes?
Well, there’s six of them, and they mostly fall into two categories: 1) there’s a problem with an airbag impact sensor on the front driver-side of the vehicle and 2) there’s an issue with the passenger pressure sensor on the passenger side.
With the new code scanner, I found we had an observability problem. The vehicle threw too many codes, and some were old codes for problems I had already fixed, and I don’t know the last time the codes were cleared.
So I did nothing. I wrote down all the codes, and cleared the codes. I can’t readily attribute observed failure modes with diagnostic trouble codes when half of them may be too old or junk. If the airbag light fires again, I can trust the fresh code is good.
In month 2, the airbag warning light started firing again, and I was able to isolate the code to B0083_00. This is for a front driver-side impact sensor.
I pulled the part from a junkyard in Rockford, and installed it a little after Christmas. I’d never seen so much muddy snow in my life. I mainly chose to pick-a-part because new impact sensors are like 200 dollars from GM. I saw some listed for like 400 dollars.
Me, a few days before Christmas, looking for last-minute gifts at the junkyard.
That’s an impact sensor I pulled
The airbag sensor warning light hasn’t fired since I replaced the sensor with the one from the junkyard. Problem solved.
Fixing the Tire Pressure Monitor Sensor:
In month 1, I brought the truck back to the dealership and asked them to fix the TPMS. I let them know I was upset by all of the electrical issues I had been observing, and they had offered to replace the TPMS for the cost of parts. That seemed fair. Except, like the door-latch replacement procedure, they botched the TPMS replacement procedure also.
After 3 hours at the dealership on a Saturday, they eventually sent me away with no resolution. I brought the truck to Tires Plus a few weeks later. They simply re-learned the sensors, and charged me 40 bucks. It didn’t even take them an hour, because they probably used a dedicated TPMS sensor programming tool.
For what it’s worth – it’s not hard to re-learn tire pressure sensors using GMs programming procedure and you don’t need a special computer. Here’s a video. Part of the procedure requires deflating the tires by up to 10 PSI. I can technically do this work myself, but I don’t own an air compressor, and was pretty confident the dealership just botched the programming on the sensors. So bringing the truck to Tires Plus was the quick-and-easy fix for this issue.
Installing an aftermarket radio:
In month 2, I knew I wanted to replace the radio head-unit. I had done this in my old Toyota, so I was pretty comfortable with the general procedure, but this install was a nightmare by comparison.
I bought a Sony XAV AX7000 head unit. I mainly wanted this one for a few reasons: 1) Wireless Apple Car Play is awesome. 2) I wanted to install a rear backup camera and needed a head unit which could support that 3) I wanted a head unit with some room to grow if I wanted to add aftermarket speakers or amp.
I followed a bunch of Youtube videos which advised using an SOOGM16 factory feature retention interface for my Tahoe. But, apparently, some Tahoes have “Bose” and “Premium Bose” sound packages. Mine has “Premium Bose” – which means there is a stock Bose amplifier in the center console. Unfortunately, the SOOGM16 interface doesn’t have a remote amp interface wire, so the amp wasn’t getting turned on. I was getting audio, but it sounded like junk.
The SOOGM16 wiring harness assembled with the Sony harness. This interface failed to activate the “Premium Bose“ factory amplifier, and had to be replaced with a PAC RP5 GM31.
I eventually bought a pac rp5-gm31 GM radio interface. This one is built to support the factory Bose amplifier. I had to hack apart the Sony wiring harness and the SOOGM16 wiring harness and resolder everything, which took like a whole day. These components also aren’t cheap, but the PAC interface works great and sounds amazing.
I installed a rear camera about a week later when I visited my Father-in-law with my wife and kid. I liked this video which explains the install process.
Fixing the broken mirror assembly:
I noticed the broken mirror in month 1. The mirror didn’t fold in when you push the button on the driver-side button assembly. Apparently, this is a common issue with GM mirrors. The gears which actuate the mirror just get stripped and then you either have to replace the mirror or take it apart to service the gear assembly.
I didn’t really care. I was planning to rip out the OEM mirrors and put tow-mirrors on it anyways. I added some Sanoor tow mirrors. The install probably took most of my time for the Holiday break. I worked on them with my dad. We ripped out the stock mirrors, and then had to route cables into the cabin and under the dash. There’s good YouTube videos on the process.
I haven’t gotten the switchback function fully working, but I think it’s likely something to do with the Sanoor, and not my Tahoe or my install. I took a test light and checked that all my cables were getting appropriate current.
If I cared more, I’d contact Sanoor’s customer service, but I really just want the reverse lighting and the core tow-mirror features like telescoping, folding, and turn signals. There’s a pretty good chance I clip a mirror anyways, so I’m not going to kill myself trying to poke at the switchback feature.
Installing a trailer brake controller:
One of my objectives with this rig is to make it a “Tow Hoe”. This way, I can use it to tow trailers. I mainly want this capacity because 1) 5.3 liter Vortec says yes, and 2) I might use the tow features if I ever start a side business. I could get into some real work with an 18x7 foot cargo trailer. I could move houses, or light equipment, or whatever.
I installed a Curt 51160 Assure Electric Trailer Brake Controller. This install wasn’t particularly eventful. I followed the directions from Curt. But, what I will say is: Chevy Tahoe’s don’t have the tow hitch brake and auxiliary power connectors powered at the fuse block out of the factory, so I spent 90 minutes trying to figure out why I wasn’t getting power. Here’s a video which touches on the power element at the fuse block.
Conclusions:
If you read this far, I’m impressed.
It’s been a very busy December for me, but mainly because I’ve been hacking on my truck, and not because I’ve been hacking on computer software. Here’s the big wins:
I fixed the heater and heated seats.
I no longer have any warning lights on my dash panel. I fixed the ABS issues, the TPMS issues, and the Airbag warning issues.
I installed a badass new radio head unit, which supports a rear backup camera
I installed fancy new tow mirrors and a Curt trailer brake controller installed. She’ll tow.
I did this all in my spare time over about six weeks. I have some more work planned, like installing LED headlights, installing a CB radio, and installing a roof-mounted rack. When funds free up, I’m planning to lift Casper and put some offroad wheels and tires on it. I’d also like to install a recovery winch.
I’m great at fixing and building things. If you’re a hiring manager or business owner who needs something fixed or built, I actually specialize in software development and web technologies, and can fix or build things for you. Give me a shout. Thanks for reading.
Matthew