![[ALFA 159 FACELIFT] Alfa 159 HVAC panel multiplexing for Joying head unit — does the display depend on CAN ACK?](https://preview.redd.it/a3urqd5zrn0h1.png?auto=webp&s=9b66678557a27846df435f23dfd02165f1659f4e)
[ALFA 159 FACELIFT] Alfa 159 HVAC panel multiplexing for Joying head unit — does the display depend on CAN ACK?
I upgraded the OEM navigation on my Alfa Romeo 159 (facelift) to a Joying Android unit. It fits beautifully, but the lack of physical controls is killing me.
Reading all 10 steering wheel buttons directly from CAN using my own ESP32 + SN65HVD230 setup is not a big deal. (The Chinese CAN boxes only decode 5–6 buttons). That part presumably will work great.
Now I’m considering something more ambitious:
multiplexing the HVAC control panel so it can control both the climate system and the Joying unit.
Concept
- Climate mode: HVAC works normally, all CAN frames pass through untouched.
- Infotainment mode: I intercept HVAC CAN frames and convert them into USB HID events for the Joying.
The problem
I don’t know how the HVAC panel’s display logic works.
- If the HVAC is OFF, it might not send any CAN frames at all → no input for Joying.
- If HVAC is ON, I can intercept the frames, but the panel might still update its own display (temperature, fan speed, etc.) even though the car never receives the command.
The only way this works cleanly is if the HVAC panel waits for some kind of ACK or status message from the car before updating its display.
If it doesn’t, the display will show fake values while I’m using the knobs to control the Joying.
Questions
- Has anyone reverse‑engineered the Alfa/Fiat HVAC panel logic?
- Does the display update immediately based on local MCU input, or does it wait for a CAN response?
- If not, is there a minimally invasive way to test this? (I have a CANable 2 Pro and can isolate the HVAC CAN lines temporarily.)
Any insight from people who have hacked Fiat/Alfa HVAC panels or built CAN gateways would be extremely helpful.
Thanks!