I purchased a 2005 Honda Accord as my new daily driver and while it is in very good shape, it lacks the automatic climate control that I have grown to love in my previous vehicles. I have set out to change this, by building a custom HVAC control system which will maintain a temperature of my choosing automatically. This project has consumed immense amounts of time to date but I will persevere since I am frustrated every time I must adjust the fan speed, or temperature dial.
Radio and HVAC controls are completely integrated making reverse-engineering it much more complex than necessary
Proprietary HVAC Components including blend-doors, and blower motor transistors have minimal to no documentation
Testing is uncomfortable and challenging when working inside the car
The cars power supply varies between 11 and 15 Volts regularly with occasional large spikes. Powering the sensitive 5V systems will take care.
I first laid out some "Customer Requirements" to guide the scope of my project:
Stock, manual controls must be retained and be the fail-safe state
No wiring changes would be made to the HVAC system. The entire device would interact with the same 20 pins which the stock control panel uses
The user will be able to change between Auto/Manual modes, and set the single zone, cabin temperature
The device will be able to:
Control Vent selection
SelecFresh/Recirculate
Fan speed
Air temperature
A/C on/off
Rear window defogger on/off
Concept Design Sketch
Most recent Prototype [Sept 2025]
The HVAC system I aim to control will need to be meticulously inspected and tested due to its lack of public documentation. Additionally, this system sprawls throughout the entire dashboard of the car and its wiring harness intertwines with several others making it impossible to source complete. To set myself up for bench testing, I built a custom wiring harness to simulate the one in the vehicle - connecting all the appropriate motors and sensors to its control panel connector.
First stop was the junkyard to source:
Head Unit & Pigtail
With combined radio and HVAC controls
Recirculation Control Motor (RCM)
Moves damper to recirculate or draw fresh air
Mode Control Motor (MCM)
Selects between floor, dash, and windshield vents
Air Mix Control Motor (AMC)
Adjusts blend of hot and cold air
Blower Motor Transistor (BMT)
Adjusts fan speed
Evaporator Temperature Sensor (ETS)
Reads temperature immediately in front of AC evaporator
Key components located on HVAC diagram.
HVAC system components from a junkyard.
A deep dive into wiring diagrams - sourced from various 20-year-old forum posts - provided most of the information needed to identify which wires should be connected. This was ultimately over 50 individual solder joints.
While the first harness worked, it had a significant flaw. A development board was used for all soldered connections providing a central location to take measurements. However, there was no effective way to connect the short wire terminations to a measurement device. Testing was finicky and frustrating.
The harness was remade (pictured), with connections aligned neatly and a row of header pins to allow jumper wires to be connected and make testing easier.
Wiring harness built to connect HVAC components to the original HVAC control panel, enabling convenient testing of system operation.
Now, I had a nearly complete simulation of my cars original HVAC system and controls at my fingertips.
The setup included a 12V lawn mower battery fed into my custom wiring harness, which then connected to the radio/HVAC panel, the control motors (MCM, RCM, AMC), blower motor transistor (I skipped the blower motor for now due to its size and power draw), and evaporator temperature sensor.
Next I needed to identify how the original system operated so I could control the HVAC system with my own control system.
Through extreme tedium and extensive documentation, I learned (in this rough order) how to control each component:
Fresh/Recirculate Selection (RCM)
To select "fresh", provide ground to the motors 2nd pin until it's 3rd reads 12V.
To select "recirculate", ground the 3rd pin until there is 12V on the 2nd.
Air Temp Blend (AMC)
To move colder, ground the motors 1st pin and apply 12V to its 2nd.
To move warmer, reverse the ground and 12V connections.
To read position, measure the voltage across the 3rd pin - which acts as a potentiometer. A measurement of 0.5V indicates 100% cold air while 4.5V indicates 100% hot air.
Vent Selection (MCM)
To cycle through the vent positions in one direction, ground one pin while applying 12v to another.
To move the opposite direction, reverse the pins.
To determine the current position, read the digital 5V signals on each of the other 4 wires. These four values encode the 5 possible vent selections.
A/C and Rear Window Defogger On/Off
Ground the respective pin controlling each feature to turn on. Open the circuit to turn off.
Fan speed
At this point I was unsure how the fan speed was controlled but was anxious to move on, and so I did, planning to work this out later. Good luck future me!
Notes taken during the bench testing process. They contain pin connection information, how to control motors, pin voltages, and much more.
In theory, I understand how to control each component (except the blower motor 😬) so it's time to do it! Let's design, assemble, and test my first prototype!
I have extremely minimal experience with microcontrollers. I could wire an LED with little Googling, but designing this system was much more complicated. I would need to control motors, regulate voltage, manage physical switching of wires, and accept sensor inputs. None of which I knew how to do. Deepseek, Gemini, and ChatGPT became indispensable tools for research and guidance into this new field.
Lots of time was spent breaking down each function and carefully describing what I needed to happen, then asking a LLM for recommendations of Integrated Circuits (ICs) which would work for that function. I chose these:
1. Microcontroller
An Elegoo Mega served as an upgrade to my Elegoo Uno R3 and crucially supports 54 digital and 16 Analog!
2. Dual Channel Motor Driver
The adafruit TB6612 breakout board was used to power the MCM and AMC motors with 12V
3. Power Regulator
An LTM8067 DC/DC converter was selected since I already had it in a kit. This device accepts the "12V" from the car and outputs 5V to power various components.
4. SPDT Relay Modules
To support in switching between manual and automatic operations, 16 Single-Pole, Double-Throw (SPDT) relays were utilized.
5. Breadboard
With so many connection, I worried about some coming loose. I wanted something permanent just like the Adafruit Perma-Proto boards which allowed for soldered connections.
Components selected for prototype 1. From 1-5: Microcontroller, Motor driver, Power regulator, Relays and Breadboard.
Now with components selected, it was a simple matter of planning their connections. An image of my notes is below and shows the general flow of signals between the HVAC system side, and the control sides on the left and right respectively. The automatic control portion occurs mostly in the center.
One segment (such as MCM) was built at a time then programmed and tested. The process for each segment follows:
Trim, strip, tin, place, and solder each wire
Label each pin going to the microcontroller for reference
Connect system to bench test setup
Collaborate with AI to write code which reads positions, and sets positions. ( For example, read AMC position, set colder, and set warmer)
Validate all functions perform as expected and can switch between auto and manual modes.
Save script!
Hand sketched circuit diagrams. These were the reference while incrementally building each section of the circuit.
First Prototype. Capable of controlling air temperature, vent selection, A/C activation and Rear Window Defogger activation.
This was an exceptionally exciting time as I got to see the months of planning from Parts 1 and 2 materialize into a working system.
In the beginning I laid out project expectations. Here's how we stack up now:
Evaluation of Project Expectations:
✅Control Vent selection
✅Select Fresh/Recirculate
❌Control Fan speed
✅Set Air temperature
✅Turn A/C on/off
✅Turn rear window defogger on/off
❌Collect cabin temperature data
Huge progress! However, the fan speed cannot yet be controlled and thermometers have not yet been incorporated. The fan was skipped since I chose not to include the bulky and power hungry blower motor in my bench testing setup and the thermometers were skipped to simplify this step.
Learn how the blower motor's low-side-MOSFET control works
Create circuit schematic in ECAD software - Started!
Design a custom PCB to perform just as Prototype 1 did, but should operate the blower motor and include temperature sensors.