Fujitsu AC (heat pump) integration via ESPHome [ESP32]

I have a Fujitsu unit and I’ve been looking for ways to control it using Home Assistant. There hasn’t been anything until I found this project: https://github.com/unreality/FujiHeatPump, someone actually cracked the protocol and released an Arduino library. Then I see the opportunity to finally contribute to the community.

Source code here:


Latest update:

I 3D printed a case for the circuit board now it looks better.


To avoid confusion:

If you use my code as-is, you need a Fujitsu wall controller acting as the “master” controller, our board is going to emulate a “slave” controller.
Wiring:
image

MCP2025 RXD(pin5) → ESP32 Serial2 RX (GPIO16)
MCP2025 TXD (pin6) → ESP32 Serial2 TX (GPIO17)
MCP2025 GND(pin3) → ESP32 GND (GND of AC controller, MCP2025 and ESP32 must be connected together)
I use a buck converter to convert the 12v to 5v for my ESP32.

You need to turn off the AC power and wait for the controller to go blank, before wiring anything. The AC and ESP32 need to be turned on at the same time, or the ESP should be powered on before the AC. If you see an error code on your controller, try power cycling it

And it seems like this also works for older Fujitsu AC controllers, see @miriumar reply in the thread.

16 Likes

ooooooh… so tempted to pull apart mine to try this. A few questions - does your model have A/C as well? or just heat?

Also is it drawing power from the unit? or is the ESP separately powered?

just working out how much wife will kill me if I try this and break it…

2 Likes

see here: esphome-fujitsu/FujitsuClimate.cpp at 02158b9d56715f779b9a48e39f79a930f2fce27f · rabbit-aaron/esphome-fujitsu · GitHub

These are the features enabled on mine.
So auto/cool/heat/fan/dry modes.

And this is early stage of the project, lol.

The controller how ever, if you don’t mess up the wiring, should be pretty ez to clear error code, just go and power cycle it and the error will be gone. Saying that, remember there’s no warranty on this project. :smiley:

thanks - pulled the unit off the wall to investigate. Wiring looks simple enough. Just need to work out how I’m going to make this look acceptable.

I used the power from the indoor unit and step it down to 5v for my dev board, the board on top is the buck converter.
If you have drywall, maybe you can take off the main controller, put the board behind it and hide it in the wall lol. just make sure you don’t short anything.

If anyone could make a PCB for this and include 4 relays for zone motors, that’ll be real nice.

ESP32R4 might be close off the shelf, with four relays and built in voltage converter, but obviously no MCP2025. I’m keen to see how this turns out.

1 Like

Wooow!! what a great surprise… its been around 2 years looking for something like this.
In my case I have a “General” AC but wired controller is the same as Fujitsu one.
@rabbit-aaron can you use the wired controller and the esp32 together? or you have to chose between any of both? I tent to keep as “backup” the original systems connected if eventually esp32 devices or wifi just stop working so you can manage things manually…
Thank you so much!

in my git repo the ESP32 is acting as the slave controller. The wall controller is the master controller.

so yeah you can use both.

This is awesome. Can not wait to receive my MCP2025!
Many thanks,

Update:
Nevermind… I got the problem of connection fixed.
I rebooted whole systems (router, access points and home assistant).
I will continue with the next steps.
Thank you,


Hi @rabbit-aaron I am experiencing something weird and I am struggling to figure out why.
I can get your project flashed on my esp32 and upcoming OTA updates working well but the thing is once program is updated, I can not get to connect to device:

I have been checking configs from my other esp32 devices in esphome and in terms of logger, api, wifi and so on looks identical and mines work.
Any thought why is this happening?

Thank you,

I also noticed first time compiling whole project throws the following warning

looks like not the root of the problem but something related with logs…
Thanks,

Hey @miriumar , it might have something to do with how I used one core just to handle the serial connection. If you can’t get it to work, try this single core version https://github.com/rabbit-aaron/esphome-fujitsu/tree/single-core

Which ESP32 hardware are you using?

I am using this one: ESP32 ESP-WROOM-32, this exact model: https://www.az-delivery.de/en/products/esp32-developmentboard?variant=6119648493595

I have not notice any difference between single core and default project after reflashing it.

I am stuck on getting a response back from the master controller. I can change parameters on the climate and debug mode shows me these changes but no way to get any response back.
imagen

Here you can see too how values comes to default value after 1-2 seconds:
gifimage

I am not sure how to continue from here.

  1. if you change your settings on your (physical) master controller, does it update the values in the UI?
  2. Could you double-check your connection and make sure it’s correct?
  3. After the above, I’d suggest you try to make a simple Arduino program with https://github.com/unreality/FujiHeatPump library and see if you can get the basic functionality working, maybe just toggle your AC on after turning on for 30s. as my project rely on this library to handle the serial communication.

Hi,

I’ve been working on this with no success. Let me answer your questions:
1- I can use master controller as usual but nothing is updated in the UI, neither logs appear on the esp32 devices.
2- I double checked but its hard to be 100% confidence. For instance, I can not confirm the MCP2025 is working properly since I don’t have a way to test it.
3- I tried but not sure how to make it to work. Installed arduino ide and compiled the quick start + uploaded but don’t know how to test it since nothing is show on the serial.
Should be as easy as change parameters in the master controller and will appear these changes in the serial Arduino monitor?

Thank you for your support

after you connect them, did you turn off your aircon (cutting the power, wait till the main controller goes blank), then turn back on?

Since I don’t have a separate wall control unit I need to hook up the ESP32 directly to the airco. I’m currently waiting for the MCP2025 so I haven’t taken the indoor unit apart, would any one know what type of connector is in there? From that I can tell from picture of the official Fujitsu wifi module it’s a 5 pin, 3 go to the device and the last 2 are shorted, i.e. pin 4 and 5 are connected to each other.

Hi @rabbit-aaron sorry for delay,
I cut off the power and once turn back on the main controller shows me error.


Thanks,

This is an old controller, I am not sure if it will work with the code.
If you’re using my code as-is, you need to make sure the MCP2025 is connected to serial2 (uart2?) in esp32, which should be GPIO 16 and 17, please double check your ESP’s wiring diagram.