355 - Developing an Alternative HVAC ECU | FerrariChat

355 Developing an Alternative HVAC ECU

Discussion in '348/355' started by gatekeeper, Oct 20, 2024.

This site may earn a commission from merchant affiliate links, including eBay, Amazon, Skimlinks, and others.

  1. gatekeeper

    gatekeeper Rookie

    Jun 8, 2021
    33
    Full Name:
    Paul
    Hi, I thought people might be interested in an alternative HVAC that I developed for my 355 Spider and the journey I went on to get here. Sorry it’s a bit long, but I've written this to hopefully help others.

    Background

    There are lots of really helpful posts on here detailing the many issues which can occur with the HVAC system on the car and my journey started with trying to understand why the interior temperature was always on hot and the vent/airflow direction was always on the screen, regardless of the rotary control positions. The fan worked though!

    After removing the frunk interior lining I located and removed the temperature actuator, I also discovered a brown parcel tag with the actuator part number written on it, so knew someone had replaced this before. After taking the actuator apart I discovered some teeth had broken on one of the nylon gears. The actuator is very simple and is basically a motor, small gearbox and a position feedback potentiometer.

    I initially looked to see if I could get a replacement 3D printed, but in the end opted to purchase a replacement via ebay which came from a Maserati. It’s the same part number and it’s also well documented that Saab used the same one, but good luck finding one now (I couldn't)

    Full of optimism that I could have fixed the problem, I fitted the actuator to the car but thought I should check the positioning since I didn't want to overload these old gears, so initially left out the gear driving the potentiometer. Logic being I could hand move the pot and it should stop the motor when it got to the correct position. What I then discovered is that the motor would run for approx. 1 minute and never stop, regardless of the pot position. The only difference is that that full cold selection would drive the motor one way and full hot would drive it the other, but it would not stop until it seemed to timeout. I now know why the gear had broken.

    Its well documented on here that the op-amps on the ECU are easily overloaded and burnout owing to a bad design, so I opted to have all 6 changed. Sourcing the new op-amps was easy, but it took me a while to find someone to replace them since most people didn't want to touch anything from a Ferrari for fear of ending up with a large repair bill. Unfortunately this didn't fix the issue and in the UK, I couldn’t find anyone that could help further diagnose the issue and a replacement ECU is £7k

    Developing a replacement ECU


    All I wanted was for the temp, vent and fan to work and didn't want to spend £7k since it was a lot of money that could be spent on other areas of the car. Also these ECUs have a history of failing as they were developed during an early time of climate control systems (and not developed very well)

    Reading many posts and from what I'd seen myself, its clear the actuators are basic motor and feedback design and the fan just needs a small reference voltage to control the speed. The rotary selectors inside the car can also be read by just measuring the resistance on the connector pins. Therefore I started thinking why not just use an Arduino Due board and write the code to do what I needed. It was also important that I didn't change or modify anything in the car, since I may want to put a fixed ECU back in at some stage.

    So what started as some initial thinking, then quickly turned into a hobby/challenge to see if I could actually make something which worked! So after months of development and testing during my spare time, I managed to make a replacement which simply plugs into the cars wiring harness. Its also worth noting that during the testing I discovered the vent actuator motor had burnt out, so clearly had the same issue at the temp actuator. The internal motor was simple to source and replace with a very small modification.

    The Arduino uses the analogue inputs for the potentiometers and to read the selector position/resistance inside the car. It then has a L298N motor driver to control the two actuator motors and finally there is a MCP4725 DAC to provide the reference voltage for the fan speed. I also added in a couple of fault LEDs to indicate if there is a timeout issue on the temp or vent actuators and added logic to prevent overloading them.

    It all works very well and does exactly what I need. All in its probably cost £50 in parts, but its been an enjoyable challenge and since nothing has been changed on the car, if someone in the future wants to spend £7k on a new ECU, it could be swapped out.

    Things I discovered on the way
    • I couldn’t have done this without Qavion's amazing wiring diagrams!
    • The vent actuator had the same issue as the temp actuator, coupled with the evidence of replaced temp actuator, leads me to believe this has clearly been an ECU issue
    • I suspect this has all been broken for a long time and I wonder how many other "highly maintained" Ferrari's being offered for sale have the same issue. Make sure you fully test the HVAC!
    • The reference voltage for the fan isn't what I'd read in other posts and this resulted in reversing the controls. I tested with the original ECU and then replicated the voltages in the code and its now working as expected. Selector position 0 new values = 3.5mv, 1 = 1.5v, 2 = 2.2v, 3 = 3.3v, 4 = 5v
    • I had to slow the motor actuators down, since a few times they ended up over running and hitting the stops. This could be my code and the inclusion of some small delays to help with the testing. This does mean that the actuators can take 30-45 seconds to get to the required position, but I'm ok with that
    • The 26 male pinned connector required to connect to the yellow connector on the car harness is very difficult to source. I modified a 26 pin ribbon extension cable which works well, but would have preferred to have the correct connector. The wire gauge is smaller than I'd like, but the current draw will be low on the 12v feed and should be ok for what I'm drawing
    • I still love the car and the HVAC isn't something I'd use regular. It was only since I drove with the roof up one day and had to open the windows since it was so hot, that I realised I actually had an issue.
    There are a few things the replacement doesn't do, but could be incorporated if really required
    • Recirculate. I looked to incorporate this and there is provision in the code for it, but the actuator is weird since its basically a motor and gearbox without any position feedback. I can only assume that the ECU uses some kind of current draw monitor to know when full movement is reached to then not overload the motor
    • Air conditioning. My car is a spider, therefore AC is a bit pointless. The code has provision to read the button and a simple relay could switch the compressor on, but since my AC condenser currently has a hole in it, the compressor is actually disconnected
    • Climate control. You could read the internal and exterior temperature sensors and then auto vary the temp actuator, but I couldn't see the point of doing this. The testing would also be extensive for very little gain
    • Stop button. Seems a pointless button when using a simple design, so didn't bother using it.
    • Starter inhibit - There is a feed to the existing ECU which I suspect stops the fan when the starter is engaged to reduce the load on the battery. I've wired this into the replacement, but haven't tested or included it in the code yet. I suspect the feed goes +12v when the starter motor is running, therefore it would be simple to drop this down to +5v, read it on a digital input, then stop the fan
    I hope others find this helpful. I'm not planning on making another one since I wouldn't want to warrant it, but I'm happy to answer any questions or help others if you'd like to go down the same route.

    I'm onto the roof ECU next. Planning to setup a logic analyser to read the many sensors to see if a sensor has failed or it’s the ECU. There is already evidence of where someone has also tried to diagnose this one before.

    Thanks

    Paul














    Image Unavailable, Please Login Image Unavailable, Please Login Image Unavailable, Please Login Image Unavailable, Please Login Image Unavailable, Please Login
     
    WATSON, Buckets, ernie and 4 others like this.
  2. carnutdallas

    carnutdallas Formula 3
    Rossa Subscribed

    Nov 11, 2010
    1,970
    Dallas Burbs
    Full Name:
    Rob
    Excellent! Making it a fully functioning replacement would be ideal and I am sure you can sell them. I am a buyer :)
     
    gatekeeper likes this.
  3. Targatime

    Targatime Formula 3

    Feb 22, 2014
    1,449
    Los Angeles
    Legend. Incredible work. If you would make a run of these, and incorporate the AC (that's the only thing on your list I can imagine being a deal-breaker for people -- many of us don't have English weather), I'm sure you could sell quite a number in one shot. I'd buy one unless it was insanely expensive. The HVAC stuff on these cars is a ticking time bomb.
     
    gatekeeper likes this.
  4. ernie

    ernie Two Time F1 World Champ
    Lifetime Rossa Owner

    Nov 19, 2001
    22,614
    The Brickyard
    Full Name:
    The Bad Guy
    That is outstanding!
     
    gatekeeper likes this.
  5. m.stojanovic

    m.stojanovic F1 Rookie
    Silver Subscribed

    Dec 22, 2011
    3,217
    Serbia - Niš
    Full Name:
    Miroljub Stojanovic
    As determined in another thread here, the recirculation flap actuator is first stalled (when the flap hits its stop) then the AC ECU will cut the power to the motor some 18 seconds later.

    This, however, does not protect the actuator gears from impact at stall, just limits the time during which the gears are stressed. A number of 348 owners (including me) have added micro switches at the flap or at the actuator to prevent the impact and gear overload at flap closed/opened positions.
     
    gatekeeper likes this.
  6. bobzdar

    bobzdar F1 Veteran

    Sep 22, 2008
    6,892
    Richmond
    Full Name:
    Pete
    Same, my hvac system sometimes has a mind of it's own, at least in auto. I can usually get it to do what I want in manual mode and it's not all the time, but it'd be nice to know that the brains are working properly...
     
    carnutdallas and gatekeeper like this.
  7. redwedge

    redwedge Formula Junior

    Sep 30, 2012
    463
    London
    Full Name:
    Steve C
    Great effort @gatekeeper and something I considered doing myself before I managed to get my HVAC ECU fixed. Which, if you'd still like to try, could possibly be repaired by www.crashdata.co.uk - they fixed my unit and another poster's unit, including diagnosing and fixing issues with components other than the op-amp chips.
     
    gatekeeper likes this.
  8. gatekeeper

    gatekeeper Rookie

    Jun 8, 2021
    33
    Full Name:
    Paul
    Many thanks for the comments and feedback.

    I used a local company who offer similar services to crashdata to change the op-amps and they spent a few weeks trying to diagnose the issue. They said the board kept blowing a couple of the newly replaced op-amps. Maybe one day I'll get them to look at it, but now that I have an alternative in place I'm going to focus on other areas of the car restoration.

    The timeout approach is a really poor design given that simply adding a position pot would be much nicer to the motor and gearbox. I did for a moment consider using a timeout approach, but discounted it since on startup the logic would never know the position of the flap on shutdown, hence I assumed there must be some kind of current cutout when the motor reached full travel. Or maybe the ECU retained the previous position in a non volatile memory
     
  9. m.stojanovic

    m.stojanovic F1 Rookie
    Silver Subscribed

    Dec 22, 2011
    3,217
    Serbia - Niš
    Full Name:
    Miroljub Stojanovic
    #9 m.stojanovic, Oct 21, 2024
    Last edited: Oct 21, 2024
    I don't think the AC ECU needs to "know" the flap position. It probably simply starts its timer from the moment you switch the recirc flap to "open" or to "closed". For example, the time could be 22 sec., the flap takes 4 sec. to travel, and the AC ECU holds the power on the motor for the remaining 18 sec.

    It doesn't seem that the AC ECU senses the current to the motor and cuts it when it spikes up at the motor stall as, in such a case, the power to the motor would be cut much sooner than 18 sec. after the stall.
     
    gatekeeper likes this.

Share This Page