This is a Raspberry Pi-based controller for a Mitsubishi air conditioner (Model FDC508HES3) Provides mqtt control of the airconditioner using the serial communications link that runs between Mitsubishi's RCD-H-E remote control unit and the CNB port on the air conditioner's control board. Also provides the ability to control a damper so that airflow can be directed to the correct air conditioning zone. An inclinometer is provided for the damper in order to detect its position and control the air flow between zones with greater precision. Further details are published here.

This project requires a separate mqtt-based controller that captures the actual temperatures of each room, compares those temperatures to desired temperature levels and controls the air conditioner and damper to align the desired and actual temperatures. I've implemented such a controller as part of a more comprehensive Home Automation System.

Hardware Schematics

Note that the following damper controller switches high voltages and it should only be constructed and deployed by a licensed electrician.

Hardware Photographs

Note that these boards have some additional electronics to provide control of the air conditioner via its CNT port, in the case that control via the CNB port wasn't possible. Once I found that was possible, that electronics is no longer required.

Damper Position Sensor

Serial Communications Protocol

Here are the results of my reverse engineering of the air conditioner's serial communications protocol between the Mitsubishi RCD-H-E remote control unit and the CNB port on the air conditioner's main unit. There are still gaps in some areas of that protocol but all essential functions are covered.


The software is written in Python and is located here.