Category Archives: Motoring

ABCC or Automotive Butt Climate Control

Climate controlled seats in your car are probably one of the greatest inventions since sliced bread if you live down in humid hot climates (like Houston!). Since trying them out in my Dad’s Tahoe years ago I have always wanted them in my Jeep but no one really makes after market seats that have them and there are no “kits” like adding heating elements to seats.

This changes now!

2015 Ford F-150 seat climate control module.
2015 Ford F-150 seat climate control module.

I managed to snag a 2015 Ford F-150 seat climate control module unit on ebay for $40. I picked this unit cause it looked compact and looking at the wiring from pictures I found on the internet it looked like I could reasonably make this work.

Ford wiring diagram for climate controlled seats. Looks simple enough!
Ford wiring diagram for climate controlled seats. Looks simple enough!

So how these work is via the peltier effect. The peltier unit has two copper heatsinks attached, one for each side. When voltage is applied to the peltier unit one side gets hot and the other cold. This is transferred to the copper heatsinks where the fan blows creating a stream of lava hot air and arctic frost air.

Exhaust port of the unit. This is typically vented back into the cabin under the seat or goes into the climate control system of the vehicle.
Exhaust port of the unit. This is typically vented back into the cabin under the seat or goes into the climate control system of the vehicle.
This port goes into the tubing that goes into the seat cushion. Depending on the polarity of the peltier it can be hot or cold.
This port goes into the tubing that goes into the seat cushion. Depending on the polarity of the peltier it can be hot or cold.

This is the peltier unit removed from the housing. The blue and yellow wires ended up being the peltier unit and after some testing the green and gray wires seem to be a NTC 200K thermistor. With 12V on the peltier in heating mode the resistance is 54K ohms. With 12V on the peltier in cooling mode it is 240K ohms. Room temperature resistance is around 170K ohms.

Peltier unit top.
Peltier unit top.
Peltier unit bottom.
Peltier unit bottom.

The fan is interesting. There are three wires. Red, black, and white. I figured red is power (12V), black is ground, and white is a pulse that I can measure and find the RPM for feedback control similar to the thermistor on the peltier.

Fan part of the Ford module.
Fan part of the Ford module.

Wired up the fan with 12V on red and ground on black. No go. Attached the white wire to 12V and it spun up! Pulling 1.4 Amps. Cool. Then the red wire fell off the wire clip and it was still spinning. 12V on the white wire (still at 1.4A!) and nothing on the red…. Weird.. Why is that? Maybe the red wire was feedback? Looking at the signal on the scope proved that was not the case. Time to open it up!

Interesting construction of the fan.
Interesting construction of the fan.

I took the fan out of the plastic housing. Looks like the PCB is directly on the aluminum or steel backing plate? The blades/cage of the fan is attached with a blind c clip in a bronze bushing on the back of the fan. This was pretty difficult to remove but a sharp pick and screwdriver I managed to remove it.


Yup! The PCB is on an aluminum or steel substrate (need to check which one) instead of the typical FR4 base. All single sided routed.

Red wire is labeled VM, Black is GND, and the White wire is VSP. I manged to get a part number from the large IC labeled IC1 on the upper right. The LB11988 is a brushless motor controller from On Semiconductor. T1 is labeled 065886A and is a DPAK package. I dunno what this part is at this point. Looking at DPAK mosfet parts the pinout makes sense. It also could be a large BJT. I then drew up a schematic.

Fan power front end schematic.
Fan power front end schematic.

The VCC pin on the LB11988 powered the internal control circuitry for the IC and VS is the motor power from I can gather. The datasheet is a bit vague here.

If the Red wire is disconnected the White wire provides all the power to the motor. That means that the T1 part either has a blown gate if its a mosfet (mosfets are not supposed to pull significant or any power through the fate) or T1 is a BJT with crazy base junction current.

I removed the T1 part and tested so see if it was a BJT and sure enough I was able to measure the diode effect from base to collector and base to emitter. Looking at DPAK BJTs that are automotive grade shows that some of them can have up to 2A of base current….Checks out I suppose!

With the mysterious of the unit solved it is time to develop a controller for it. I have read that the peltiers used in these units are powered via 16V but I can not confirm. Maybe a 12V -> 16V step up is needed that is rated for 8A. Lots of power need :)

Honda ATC110 engine stand complete and running

I was able to get the engine stand completed and engine running again.

Cheapo moped muffler and beer!
Cheapo moped muffler and beer!

The old exhaust system was pretty much cracked and fell apart when I tried to remove it from the three wheeler so I had to make a “new” setup. I bought the cheapest muffler I could find on eBay ($15 moped muffler) and some spare steel tubing I had and I welded up a temporary exhaust. I reused the old exhaust flange that mounts to the engine but I would like to replace all of it with new material when I finally transplant this engine in the go cart.

Straight exhaust setup reusing the original header flange and some spare tubing. Ugly but it works.

I then mounted the fuel tank I bought on ebay for $6. Fairly tiny with only 1L of capacity but the tank was pretty cheap and doesn’t leak… can’t complain about that.

1L fuel tank, hoses, and fuel filter from ebay.
1L fuel tank, hoses, and fuel filter from ebay.

I made the fuel tank mount out of some old aluminum sign material I had forever. I think I have been holding onto that material for over a decade now! Knew it would be useful some day :)

Fuel tank mounted on the engine stand.
Fuel tank mounted on the engine stand.

The fuel tank mount is designed to be unscrewed giving me more access to the engine when I start disassembly.

And it fired right up after filling the tank up. Glad I got the wiring right!


What is next is to disassembly and clean the entire engine. Once it heats up it smokes pretty good so I will need to at the minimal replace the piston rings and lap the valves. Probably end up honing the cylinder walls for the new rings.

Pulling a Honda ATC110 Engine

Those that listen to my podcast know that I enjoy working turning wrenches on vehicles and engines. Before my friend Stephen moved to Colorado he dropped off his old Honda ATC110 3 wheeler. It was in pretty bad shape. The drive train was all twisted up from when the chain fell off and jammed up. Fenders where cracked and the front fork was tweaked a bit. Only good thing was the 110cc engine fired up right away.

Honda ATC110

This gave me an idea. When I was younger I always wanted to build a go cart but never had the funds, tools, and my parents where very wary of the idea. Now I have a perfectly good 110cc engine, a welder, and no longer under the supervision of my parents :) .

Honda 110cc engine yanked out of the 3 wheeler.

After a couple 11mm and 14mm bolts the engine was freed from the old 3 wheeler chassis. Time to get rid of the old chassis and parts I am not going to use.

Chopped up 3 wheeler

I looked online and these chassis’ don’t really sell and would be a pain to get rid of otherwise. A sawzall and cut off wheels made quick work of the pressed steel chassis and tubes.

Honda ATC110 engine stand.

With some scrap material I had left over from other projects, I fabricated an engine stand for the 110cc engine.

Honda ATC110 engine wiring.

I then wired up the various electrical bits of the engine. These engines have very little electronics to drive them. An alternator generates the power for the sparkplug which is controlled by the CDI (Capacitor Discharge Ignition unit). I found the wiring diagram for this engine here.

Honda ATC110 engine wiring.

On the other side of the engine stand I mounted the throttle and ignition coil.

What is left on the engine stand to build is an exhaust system and adding a fuel tank. For the exhaust I found a $15 mini bike/moped muffler and some 1″ 16AWG steel tubing. The fuel tank is a $6 plastic mini bike tank. Next update on this project I hope to have those installed and the engine running on the stand. This engine needs a complete tear down as it leaks from every seal and I would rather not get my new go cart all oily!

Jeep Bluetooth Radio Hack for a TJ Jeep

I have been working on my old 1999 TJ Jeep and I always wanted to have Bluetooth connectivity in for the stereo. I could have bought an after market head unit but I never really liked the look of them and they tend to be easily stolen out of the Jeep (softtop!). The stock head unit matches the dash and is less likely to be taken. Thus the solution was to hack in a Bluetooth module into the radio!

First I bought a used radio on ebay. Part number for the radio was P56038933AB and I was able to pick one up for $25 as I wanted to keep my radio functional in the Jeep till I got the Bluetooth working. Then I picked this module on amazon. I chose this module as it had a wide input voltage, every single connection and signal was brought out to a header, and it had good reviews.

Next I opened the radio. It had T15 Torx (jeep thing :| ) machine screws that held it all together. Took it apart all the way to the bare radio.

Next to figure out how to get the Bluetooth signal injected into the radio! Most people that do these kind of hacks just blindly poke around the radio till they find and audio signal and then inject there. This is fine but I wanted to make sure I was getting the best audio quality out of my cheap Bluetooth module and early 90’s designed, base model head unit. I also wanted to keep the volume knob on the radio functional. This meant injecting the Bluetooth signal in the circuit before the power amplifiers and before it was gained for volume.

To figure out where to inject the audio. I first wrote down all the IC Manufactures, Part numbers, and Package size. Clicking the links will show an image of the IC.

Part Number Manufacture Package
SC433377CB 04827914AB Motorola DIP-42
4652138 022AZ9836 ST Microelectronics DIP-42
04744263 Motorola DIP-28
04231192AA Philips TO-220-13

Next I started searching for stuff like “ST Audio DIP42” into google. After finding promising datasheets, I then verified their pinouts buy tracing the power and ground sources in the radio. Here is the cross reference of what I was able to find. I also found this interesting PDF which is a early 90’s listing for ST Micro parts. I was able to find the TDA7340S IC with it.

Part Number I/C Cross Reference
SC433377CB 04827914AB Probably a 6800 series MCU
4652138 022AZ9836 TDA7340S
04744263 MC13022A
04231192AA TDA8947J

The IC that does the sound muxing, volume, and tone control is the TDA7340S and I figured this would be the best place to inject the Bluetooth audio signal.

Above is the block diagram. After the audio mux the signal travels to an external effects loop which consists of in series 1uF electrolytic capacitors. Then the audio signal travels into the volume and tone control parts. Perfect! If I inject the audio right before the capacitors I will retain the volume and tone control of the radio.

I thought about using the unused PHONE IN and then using a MCU to sniff the I2C buss and inject the right commands to switch it to that input but figured that would be more work then just injecting in the effects loop.

The next part is to make sure the signal from the Bluetooth adapter is compatible with what the TDA7340S is expecting. At max volume on my phone the Bluetooth adapter outputs a ~50mV DC offset signal with a ~1.7V to ~1.9V Pk-Pk. The signal in the effects loop was 4.65V DC offset signal with a 800mV Pk-Pk.

Bluetooth Module output at max volume.
Output of the TDA7340S effects loop. This would need to be matched to ensure compatibility.

Since these signals are different I needed to adjust the signal of the Bluetooth adapter. I would need to apply a DC offset and then negative gain the signal from the Bluetooth signal. The opamp circuit below should do the trick. The feedback circuit is set to half gain and by applying half of VCC (via a voltage divider) to the other input of the opamp we can DC offset the signal.

I tested it by having my phone play a tone via a tone generator app called “Frequency Sound Generator”. Signal below.

The input is in red and the output is in yellow. Signal now matches closely to what the TDA7340S expects their to be in the effects loop!

Then to switch between the TDA7340S signal and the Bluetooth signal I found an analog switch IC made by Maxim, MAX4544CSA+. The opamp I decided to use was a AZ4558C. I decided to use it because it is a decent audio amp and fairly inexpensive. Lastly, since its stereo we need to double everything. Below is the schematic and layout I did in Eagle.

The files for the board can be found on my github. I uploaded the files to MacroFab and ordered the board.

I then soldered the board into the radio. I desoldered one leg of the the effects loop 1uF caps which are designators C112 and C113, then soldered hook up wire on the legs of the capacitors and into the hole in the PCB. The power for the Bluetooth module is pulled from the bottom of the radio. To switch the audio from the TDA7340S to the Bluetooth the input of the MAX4544CSA+ is pulled up. A switch on the dash will be used for this. See image below for how everything is hooked up.

Power for the Bluetooth module.

Then I tested the radio and made a video.

And then installed it into the Jeep!