Skip to main content

Getting Started with mUART

As mUART is based on the ESPHome framework, it's rather simple to get started with your own hardware.

warning

This project is not associated with Mitsubishi Electric, and certainly is not endorsed by them. While the developers of this project have safety and compatibility as a priority, there can be unforeseen consequences.

By using this project, you may void your warranty, break your heat pump, or risk your significant other waking you up at 3 AM because it's too hot, and they can't turn the heater off.

Hardware Design

SwiCago has generously shared a demo schematic that will be the base of the hardware. Refer to this if you get lost. For the closest to "ready-to-go" design, consider using a Wemos D1 Mini.

The Mitsubishi CN105 port is fortunately rather well documented at this point. It exposes five pins:

PinPurposeConnects To
1+12V DCN/C or Voltage Regulator
2GroundGround
3+5V DCMicrocontroller +5V or Voltage Regulator
4Heat Pump TX
Thermostat RX
Microcontroller RX
5Heat Pump RX
Thermostat TX
Microcontroller TX

Note that the TX/RX pins both provide and expect 5 volts. While most ESP chips are okay with this and heat pumps seem to not care about only getting 3.3 volts back, the baud rate of the serial connection means that a level shifter can be used for extra safety. Similarly, the ESP may be powered directly via the +5V DC connection or by using a buck converter (e.g. the MPM3610) to convert the +12V to +3.3V for powering the chip.

While it is preferable to use hardware UART pins (especially for the heat pump connection), software UART has been tested to work on an ESP8266.

Minimal ESPHome Configuration

As of the time of writing, this project has not yet been included into the ESPHome mainline. As such, it will need to be manually retrieved from the mUART fork. This is reflected in the minimal example below:

external_components:
- source: github://muart-group/esphome@dev
components: [ mitsubishi_itp ]

# Remember to disable logger if using the primary UART!
logger:
baud_rate: 0

uart:
- id: hp_uart
baud_rate: 2400 # Note: May be 9600 on some systems!
parity: EVEN
rx_pin:
number: GPIO3
tx_pin:
number: GPIO1

climate:
- platform: mitsubishi_itp
name: "Climate"
uart_heatpump: hp_uart

More advanced configuration options are available in the configuration pages of this document.

Other Projects

If this project doesn't suit your needs, please consider checking out some of the other major projects also working on CN105 hacking:

A number of commercial products also exist for controlling Mitubishi Electric heat pumps via CN105:

If you have one of these units already, please get in touch with us! We'd love to learn more about how they work.

Alternatively you can consider...

Contributing

mUART also has extensive developer documentation on the CN105 protocol, and we are always willing to look at PRs or feature requests!