Omni Mechworks

Automotive HVAC Controller

Summary

This long-running personal project tracks the evolution of a complete redesign of the HVAC control system in a 1991 Nissan Silvia S13.

What began as “get the air-con working again” turned into a multi-year exploration of:

  • Embedded control (Arduino → ESP32 planned)

  • Actuator selection and feedback (DC motors vs servos)

  • EMI-aware wiring in a noisy automotive environment

  • Moving from ad-hoc prototyping toward CAN-based, PCB-driven system design

It’s included here not because of the car itself, but because it documents how the approach to engineering has matured over 8–10 years.

Context

The Silvia’s factory climate control system had several problems:

  • Damaged and hacked cabin wiring to the original HVAC control unit

  • Ageing 12 V vent motors with weak torque and worn positional feedback tracks

  • No reliable fan or air-conditioning control in a black car used in a hot Australian climate

The goal for this project was to replace that fragile, ageing system with:

 

  • A modern and maintainable electronic control system

  • A more intuitive and contemporary user interface

  • A design robust enough to live behind the dash alongside a PDM-based ECU and other noisy electronics

Original Hardware Assessment

photo 1
Original S13 vent control motor disassembled, showing worn DC motor and fragile feedback track.
photo 2
Factory climate control unit with an early experimental switch panel mounted into a spare faceplate.

The original vent motors and feedback mechanisms were disassembled and inspected. Replacement DC motors were sourced, but the brittle resistive pads used for position sensing were not suitable for a long-term solution. At this point the direction shifted from repairing OEM hardware to designing a replacement system.

Mk1 – Arduino Control, Hacked Motors and Bluetooth UI

photo 3
Prototype vent motor assembly with a hand-bent bracket and external potentiometer glued to the shaft for feedback.
photo 4
Mk1 bench test setup with Arduino, H-bridge driver, bench power supply and modified motor.
photo 5
Mk1 controller boxed with harness and connectors, prepared for installation.
photo 6
Mk1 controller paired with an isolated power supply to manage automotive electrical noise.
photo 7
Custom Android Bluetooth interface used to command vent positions, fan speeds and A/C functions.

Mk1 was developed while still working as a cabinetmaker, before beginning formal engineering studies. The core idea was:

  • Reuse the factory vent mechanisms

  • Add external potentiometers for position feedback

  • Use an Arduino and H-bridge drivers to implement closed-loop control

  • Control the system from a phone via a Bluetooth-based UI

Key features of Mk1:

  • Closed-loop vent position control using external potentiometers

  • Relay control of the original blower resistor pack and compressor clutch

  • A custom phone UI for fan, mode and temperature commands

  • An isolated power supply module to help protect sensitive analog feedback from automotive noise

Mk1 met its functional goals on the bench but revealed important limitations:

  • The hot-glued potentiometer couplings to the motor shafts were mechanically fragile.

  • The wiring strategy relied heavily on analog signals and isolated supplies that would have been hard to trust long-term, buried behind the dashboard.

 

Mk1 was intentionally retired at the prototype stage, once it had delivered its main value as a learning platform.

Mk2 – Servos, Shielded Wiring and a Modern Control Panel

photo 8
First Mk2 servo installation using a fabricated steel bracket in place of the factory vent motor.
photo 9
Custom acrylic front panel with aluminium knobs and illuminated push buttons designed to occupy the original HVAC slot.
photo 10
Internal layout of Mk2 enclosure: Arduino Mega, dual servo driver, relay, perfboard interface and connectors.
photo 11
Internal layout of Mk2 enclosure: Arduino Mega, dual servo driver, relay, perfboard interface and connectors.
photo 12
Mk2 controller fully wired and fused, with a loom prepared for integration.

After focusing on other major work on the car (engine rebuilds, wiring cleanup), the HVAC project was revisited with more experience and a clearer approach.

Key changes in Mk2:

  • Actuators:

    • Factory vent motors were replaced with hobby servos.

    • Custom brackets were hand-fabricated to mount servos in the original locations and drive the existing blend doors.

  • Electronics & interface:

    • The system was consolidated into a single compact enclosure.

    • An Arduino Mega controlled two servos via a motor driver and switched the compressor via a relay.

    • A new front panel was created with:

      • Left knob: temperature (potentiometer, cold → hot)

      • Middle knob: vent mode (rotary switch: face, face/feet, demist, etc.)

      • Right knob: fan speed (rotary switch: off, low, medium, high)

      • Illuminated push buttons for A/C and recirculation

  • EMI-conscious wiring:

    • From other projects (e.g. sim racing hardware), it was clear that EMI management would be critical.

    • Industrial-grade shielded cable was selected: twisted pairs with full metal braid and a heavy outer sheath.

    • The intention was to run all sensitive signals (servo control and feedback) through these shielded looms to protect them from the noisy environment behind the dash.

 

Mk2 represented a significant step up in terms of mechanical packaging, user experience and EMI awareness.

Why Mk2 Stopped at Prototype

Despite Mk2’s progress, there were clear reasons not to install it:

  1. Blower motor control not fully solved

    • The factory blower motor draws approximately 40 A on startup.

    • At that time, there was no high-current PWM solution in place that was robust enough for long-term use.

    • Continuing to lean on the original resistor pack and simple relays didn’t align with the direction of the build.

  2. EMI and future system context

    • Even with high-quality shielded cable, Mk2 still relied on relatively long analog signal runs for servo control and feedback.

    • The space behind the dash will also house a PDM-based ECU, switching:

      • Injectors

      • Relay coils

      • Fans, pumps and other loads via PWM

    • This makes the region behind the dash an increasingly harsh EMI environment.

    • Installing an analog-heavy system there would likely result in difficult-to-trace interference issues later.

  3. Timing and priorities

    • Around the same time, personal priorities shifted (marriage, moving house, the start of a Mechatronics degree).

    • Given the outstanding technical concerns, fully installing Mk2 was not the best investment of time.

 

Mk2 therefore remains as a fully functional, bench-tested prototype that demonstrates a more mature approach, but it is intentionally not the final implementation.

Mk3 – Planned Architecture

Mk3 is a clean-sheet redesign inspired by the lessons from Mk1, Mk2 and current studies in Mechatronics Engineering.

Planned characteristics:

 

  • Custom PCB

    • Integrate servo control, blower control, compressor safety logic and IO onto a dedicated PCB rather than stacking modules.

  • CAN-centric architecture

    • Use CAN bus, in line with the rest of the car’s PDM-based electronics:

      • Differential signalling to improve EMI robustness

      • Shorter analog runs and smarter nodes placed close to actuators and controls

      • Cleaner integration with other CAN devices in the vehicle

  • Modern microcontroller platform

    • Move from Arduino Mega to an ESP32-class MCU.

    • Firmware likely implemented in C/C++, with the option of exploring Rust for increased safety.

  • High-frequency blower PWM

    • Design a driver stage for the blower to operate above audible range (≈25 kHz), balancing:

      • Reduced acoustic noise

      • Smooth speed control

      • Robust handling of inrush currents and thermal load

  • Refined user interface

    • Retain the tactile strengths of Mk2 (knobs, clear physical controls).

    • Consider modern elements such as encoder-based knobs with integrated displays or small OLEDs, depending on how the broader interior design evolves.

Skills and Takeaways

This project demonstrates:

  • System-level thinking
    Viewing “HVAC control” not as a single circuit but as an integrated system of UI, actuators, power electronics, sensing, communication and environment.

  • Iterative engineering and decision-making
    Using Mk1 and Mk2 as learning stages, then deliberately choosing not to deploy them when they no longer met reliability or architectural requirements.

  • Designing for real-world constraints
    Considering heat, vibration, EMI, serviceability and future upgrades (e.g. PDM-based ECU and CAN expansion) from early in the design.

  • Transferable technical skills

    • Embedded control and firmware development

    • Mechatronic integration (mechanical + electrical + software)

    • EMI-aware wiring and system layout

    • Human-centred control design (physical interface and UX)

 

This HVAC project is one component of a much broader, ongoing re-engineering of the vehicle’s electronics. It serves as a good snapshot of how the approach to engineering problems has evolved—from hot glue and perfboard toward structured, communication-aware, PCB-based system design.