Pontiac G8 Forum banner

DIY: Remote Start Heated Seats

26016 Views 73 Replies 39 Participants Last post by  GXP25
Living through frigid Saskatchewan winters, I’ve always valued remote start on my vehicles. Even though our G8s have remote start, I’ve always found that I would hop into my semi-warm car only to find the leather seats are still ice cold. I figured I had to do something about this travesty, so here’s what I did.

The information contained hereon in is intended for entertainment purposes only. Any act or attempt to utilize the information, in part or in whole, will be at the reader’s own risk and the reader agrees to indemnify the author from and against any demands, claims, and damages to persons or property, and losses and liabilities, including reasonable attorney’s fees, arising out of or caused by the reader or their attendees’ interpretation of the stated information or negligence in assembly/installation of the portrayed device. It is strongly recommended that any electrical work be certified by a licensed Electrical Engineer.

Also, ignore the incredibly dirty car, I’m very aware it’s in need of a good cleaning.
The following parts/tools were needed for this project:
Plastic project box (I used 2”W x 3”L x 1”H, which was tight)
LM7805 voltage regulator
2N3904 transistor
100µF (min. 16V) electrolytic capacitor
0.1µF (min. 16V) electrolytic capacitor
PICAXE-08M, -08M2, or 08M2+ 8-pin microcontroller
8-Pin microchip socket
1.8kΩ ¼ watt resistor
2 - 1kΩ ¼ watt resistors
32kΩ ¼ watt resistor
5V N.O. DPST relay (or DPDT using the N.O. contacts)
2 - toggle switches
PCB Breadboard (or other type if you desire)
Screw terminals, totaling 5 termination points
20 gauge solid hookup wire (for component interconnections; stranded would work too)
16 or 18 gauge stranded hookup wire (for connection to vehicle wires)
Rubber grommet for wire exit from box
5 Red T-tap connectors (for connection to vehicle wires)
Soldering iron
Pliers to close the T-tap connectors
Digital multimeter for testing
2 - inline fuse holders with 1A fuses for the line from the front side of the factory switches and +12 line


**The 32kΩ ¼ watt resistor was recently added to the circuit as it is required for some variations of the PICAXE-08 microcontroller. Pin 2 is the programming pin and, in some final installations, needs to be pulled to ground so the chip knows it's not preparing for programming. If you do not do this, there is a very good chance that the chip will not function properly.**
The following is the circuit that is required for the controller box, along with the general logic of the heated seat control:

Theory behind the circuit:

The general principle of the circuit is to simulate a user pushing the heated seat button three times to turn the seat elements on high after a remote start. After analyzing the wiring diagram for stock control, I found that pushing the button simply provides continuity across two terminals/wires at the switch, which triggers a logic input at the vehicle’s heated seat controller. Therefore, pulsing a normally open relay would provide this continuity.

Also discovered by the stock wiring diagram is that both switches use the same 12V source that is used for signaling, shown as point “1” on the console switch block. Therefore, a single source point of voltage can be used and passed on through the relay contacts. This 12V point of supply is also the source of power for the entire circuit, which is dropped down to 5V through the LM7805 regulator.

As you can see from the schematic, I added two switches to manually defeat the module. The one switch is used as a manual defeat/enable for the entire unit, since opening this switch cuts off the primary power supply to the circuit. For me, this would mostly be used to defeat the unit during the summer months. The second switch is used to deactivate remote start heating of only the passenger seat if it would be a waste to heat it.

In terms of inputs, the module’s microcontroller only turns on if the 12V from the console switch is available and dropped to the usable 5V after the regulator to supply the chip power. This means that a vehicle start, either remote or manual, has been initiated. However, since I only want to turn the heated seats on with a remote start, I used another voltage reference, that being the accessory voltage. Since we do not have accessory power when remote starting, we can assume that heated seat control should only occur if accessory power is not available. The signal for 12V accessory (tapped off the back wires of the front console receptacle) is measured after a voltage divider, which provides proper logic voltages for the microcontroller input.

Assuming that the microcontroller turns on (aka vehicle start initiated) and there is a low input provided to the other input (aka indicates remote start), the microcontroller, after waiting 8 seconds for the vehicle to start and stabilize system voltage, pulses the output three times. This pulsing turns on the transistor, which allows enough current flow to energize the pull-in coil of the relay to close the contacts. Depending on how the manual defeat/enable switches are configured, either the driver’s heated seat button or possibly both seat control buttons will be provided continuity to simulate the user pushing the button(s). The diode shown in the circuit is used to stop backfeed of the magnetic field breakdown in the relay coil when it releases.
See less See more
1 - 20 of 74 Posts

Obviously there are many ways of building the control circuit. I chose to use a PCB breadboard since the soldering pads already exist and there are groups of pads with common continuity so you don’t have to use as many jumpers. One recommendation I will give is to not unnecessarily limit yourself in terms of room to attach components. I bought a small project box and cut down my board to fit, but ended up spending about twice as long putting everything together due to the confined space. Once you add in the screw terminals (each terminal denoted by a number in parentheses in the schematic) you end up with a significant loss of real estate.

Programming of the PICAXE-08M microcontroller is very simple. There are many tutorials online about how to program them, which requires a serial port, a few additional resistors, and a means to connect individual pins of the microcontroller to the serial connection. A google search should give many results for the physical configuration for programming, or you can just take a look at the manual (http://www.rev-ed.co.uk/docs/picaxe_manual1.pdf). I have attached the actual programming code I used to this post in .bas format, which can be uploaded with the PICAXE software, which I then put in a zip file. The .bas file can be opened in notepad to view the code.

At this point there’s not much else to say about building it, aside from giving due consideration to testing continuity and ensuring proper polarity/arrangement of the capacitors and 2N3904 transistor once everything’s in place. Also important is ensuring that the wires leaving the box to attach to the vehicle wiring are long enough to reach their destinations (I left 5’ per wire, which gave versatility of where I placed the box), and LABEL THE OUTGOING WIRES SO YOU DON’T MIX THEM UP.

Here are a couple pictures of my final product:

One last test:

Once the circuit is fully built, you can use a 9V battery to verify that it’s working. Apply 9V between the reference voltage point (3) and ‘-‘ point (2) from the schematic. If the switches are enabled properly, you should be able to measure three short pulses of continuity between points (3) and (4) after the 8 second delay, as well as between points (3) and (5). Repeat with the different switch configurations to make sure it works as expected. As well, with the switches enabled, jumper point (1) to point (3) to simulate accessory power is available to ensure that the system doesn’t operate.

Installation was fairly simple. After pulling off the trim plate on the console and removing the connectors, the bottom side of the heated seat controls is exposed. The following post shows how to remove the trim:

This is what it looked like after removing the trim:

Depending on where the box is placed, the wiring may have to be snaked through to the console area. I found it easier to get the wires in place by removing the small plate shown in the photo below with the screw partly raised/removed.

Use the T-tap connectors to wire points (3), (4), and (5) according to the schematic and the noted wire colors.

Replace the trim plate and remove the passenger side panel by the radio as shown below.

Snake the remaining two wires through and use the t-tap connectors to tap into the rear of the 12V accessory outlet. I already had my GPS wired in, so I just used two larger (blue) T-tap connectors to splice onto those wires. Just make sure you get the polarity right on the connections by using a multimeter to measure the 12V polarity.

Once all wires are tapped in, a good spot for the unit is needed. I zip-tied mine in the left corner under the dash so I could still have access to the switches, but it would still be quite hidden and not get in the way.

After the installation, set both switches to enable control and try it out.

Here’s a quick video of mine in action:
" title="View this video at YouTube in a new window or tab" target="_blank">YouTube Video
" /> ERROR: If you can see this, then YouTube is down or you don't have Flash installed.

If the video doesn't load:

EDIT: Something odd happened with the attachment. The file that can be extracted from the attached zip file is now, for whatever reason, another zip file without an extension. Please add the .zip extension to the file that is extracted, which, after further extraction, will provide the .bas file that is needed by the editor.


See less See more
Wow that is very nice! Good job. But my heated seats seem to take no more than 15 seconds to get the seats warm so this is far too much trouble for me to go threw for the tiny wait time lol
Wow that is very nice! Good job. But my heated seats seem to take no more than 15 seconds to get the seats warm so this is far too much trouble for me to go threw for the tiny wait time lol
Ha, that might be the case in Texas, but we hit -30F for entire weeks sometimes in the winter here in Saskatchewan. Running 10 minutes of remote start often doesn't even show a registered temperature on the gauge. That's when an extra 10 minutes of seat heating will be glorious :)
Great writeup. Thanks!
NICE! If i had to deal with those temp's i would do this too! Always good to know there's an option out there though. Thanks for this write up.
Aaron407, Awesome post. My electronic expertise is limited but posts like this is why I'm always reading G8 forums even though I have not modded my car that much. Thanks. You could probably sell that component you designed and constructed.
Like the poster above said you could sell these things. I for one might be interested in one. If you would do it how much for the total build?
Lots of work but a good turnout. Great work! Wish I could do mine for the winter and undo it for the summer.
Wish I could do mine for the winter and undo it for the summer.
That's what the one switch is for. It completely disables the unit so it doesn't heat the seats up in the summer.

As for building and selling: as a P.Eng. I always have to consider personal liability, especially in building and selling things like this. To protect myself I'd have to go through the formal UL product certification process, for which the cost would really negate any benefit. That's why I just gave the information, in hopes that someone might try it out themselves.
Awesome writeup! What was your component cost, specifically the microcontroller and associated programming hardware?
I HATE cold weather. If I had to live up there I would definitely have a heated garage attached to the house. I guess that wouldn't help when I park at work, stores, etc. Good job though.
Awesome writeup! What was your component cost, specifically the microcontroller and associated programming hardware?
I didn't add up the cost of all the components, but I believe the PICAXE-08M is only about $3, and programming only needs a computer with a serial port, serial cable, and a couple resistors. I assume the fact that programming is required would be the main reason a lot of people might sway away from trying it, but it's really quite simple if you read the PICAXE manual, which is very clear in explanations.

EDIT: I guess I can give you a better idea of the cost. In total there's probably only $20-$30 of component costs. The hookup cable to connect to the car was one of the most expensive costs, but I'm sure you could find it cheaper than I found it at RadioShack.

For those wanting to buy one: who knows, maybe one of the vendors will steal the idea and make some money off of it. Hopefully they'd give some credit for where it came from :wink2:
See less See more
my new truck does this when u remote start it, they should have came from the factory like this. awesome job
my new truck does this when u remote start it, they should have came from the factory like this. awesome job
They should have also made the seats recline electronically
Nice write-up. I'm in the south too, if it gets too cold (highly unlikely), I'll just throw on an extra pair of undies and call it a day. :laugh:
Great write up and your microcontroller has the potential for tons of other applications too. Nice job!
Thanks for the excellent writeup,What if we only wanted low or medium seat heating? Is that possible through an additional switched logic circuit ?
Thanks for the excellent writeup,What if we only wanted low or medium seat heating? Is that possible through an additional switched logic circuit ?
The following is the .bas code file, copied from notepad:
output 2
input 1
symbol heaterSwitch = 2
symbol accStart = pin1
pause 8000
if accStart = off then
high heaterSwitch
pause 250
low heaterSwitch
pause 500
high heaterSwitch
pause 250
low heaterSwitch
pause 500
high heaterSwitch
pause 250
low heaterSwitch
pause 500

If you wanted medium for the seat setting, you'd just have to removed the italicized portion of the code. If you wanted low for the setting, you'd just remove the bolded and italicized portions. They basically just toggle the logic state of the output, which controls the state of the relay in the end, which simulates pushing of the button.
See less See more
1 - 20 of 74 Posts
This is an older thread, you may not receive a response, and could be reviving an old thread. Please consider creating a new thread.