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

Has anyone 3d printed a case for the “FOSV” board + M5Stack Atom?

Heated it and poked it off with tip of the soldering iron - did it on five boards and all worked afterwards.

I have the nathansags boards working great on my four split systems - set as “primary” remote in the config. Connected in place of the Fujitsu wifi adapters.

Just updated to latest Esphome but this wont compile

Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "/esphome/esphome/__main__.py", line 1925, in <module>
    sys.exit(main())
             ^^^^^^
  File "/esphome/esphome/__main__.py", line 1916, in main
    return run_esphome(sys.argv)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/esphome/esphome/__main__.py", line 1908, in run_esphome
    return POST_CONFIG_ACTIONS[args.command](args, config)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/esphome/esphome/__main__.py", line 1156, in command_run
    exit_code = write_cpp(config, native_idf=native_idf)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/esphome/esphome/__main__.py", line 593, in write_cpp
    generate_cpp_contents(config)
  File "/esphome/esphome/__main__.py", line 605, in generate_cpp_contents
    CORE.flush_tasks()
  File "/esphome/esphome/core/__init__.py", line 850, in flush_tasks
    self.event_loop.flush_tasks()
  File "/esphome/esphome/coroutine.py", line 355, in flush_tasks
    next(task.iterator)
  File "/esphome/esphome/__main__.py", line 579, in wrapped
    await coro(conf)
  File "/data/external_components/92effcd1/components/fujitsu-halcyon/climate.py", line 191, in to_code
    uart.request_wake_loop_on_rx()
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: module 'esphome.components.uart' has no attribute 'request_wake_loop_on_rx'

Was that related to one of the recent changes in ESPHome, as I recollect uarts being mentioned in recent release notes?

Quick fix, use ESPHome 2026.2.4.

There were two changes in ESPHome 2026.3.0 that break this component. That one you see there is a simple fix, the other I have not had time to figure out.

UART Events are no longer delivered. Need to either figure out how to reenable them or (the recommended method) not use them and process in the component loop instead.

The first is probably simpler, but I did a quick test of the latter (test-drop-event-queue branch) and am getting loopback on TX which also breaks things.

Thanks. My control in home assistant seems to be working so I am not going to go back to 2026.2.4.

I am assuming you meant downgrade if I want to compile?

Yes, only to compile.

Hi All.

Had a power outage the other day now the AC controller shows this error.
I have power cycled the AC unit via the circuit breaker, did not clear the error.
Was working find for a couple of months. Did take a bit to get working though.

Thanks

Hi Nathan.

Do you have any more boards available.

So I fix my error. After a few power cycles it was still showing EE error.
I replaced the ESP32-C3 module with a NodeMCU clone.
Same code (except for the device def) and it all works OK.
So either a faulty C3 module or could be a comms issue with the C3 chip and my Fujitsu controller.


Hey GWH74,

Thats crap that this happened, sorry for the stuff around. Great work in swapping it out and working through the issue.

I don’t expect to pay for something faulty, nor do I expect others. I am happy to send you a replacement, although it will be the gen 2 as I have no more gen 1 boards left.

Feel free to pm me you address and ill get it in the mail. I will also look through my sold boards and see if I can find it in the meantime.

Nathan

Hey Guys,

Finally the Gen 2 Fuji boards have arrived and I have tested this version on my own AC unit. All has been working very well for the past week or so. This new version has both a new surface mount Lin transceiver IC and a JST plug to a level shifted to the uart port.
Both the Lin and the uart are utilising the same uart0 port of the esp32-c3 so you will not be able to use them at the sametime but you can certainly use either. You can also via a jumper select what voltage you will be supplying the board with when using the uart only, 5v or 12v.
If there is want for it we could look at moving the JST to uart1, will see how we go.

Should anyone still be interested jump on it as the last 55 boards went quick, I will place an order for more once I get down to half to reduce the wait time.

Link: ESP32-C3 3 Wire Lin Transceiver Board | eBay Australia

Nathan

Hi, I just ordered a board. Does this work with Fujitsu AR-WDD1E controller? Does the board already come flashed or will I need to do that? Thanks

Hey Mate,

Seen the purchase, I will get in the mail tomorrow.

It doesn’t normally come flashed but there’s no issues in me flashing it for you. I will knock one up this arvo. All you should have to do is connect it to your WiFi and the AC unit. I have the exact same controller on my AC unit and my board has been running for many months without issue. I didn’t want anything else on the wall in the lounge room for my install, so I ran a cable from the indoor unit to the man hole and installed the board there so access was easy.

If you PM me your email I have a dropbox folder I can link you to where I have all the info I have accumulated on this setup and 3d models for the enclosure.

Nathan

Hi everyone,

I’m looking for a fully assembled PCB to connect my 3-wire Fujitsu AC to Home Assistant. I am not equipped for SMD soldering. Does anyone here have a spare pre-assembled board (like the Fuji-Atom-Interface or similar) that they would be willing to sell and ship to France?

Thanks in advance for your help!

3 posts up…

Congratulations to all contributors to this awesome project.

I have a slightly different set-up to most as I already have two wired fujitsu wall panels and am hoping to add the esp32 controller as the third. I have configured my esp32 yaml with “controller address: 2” but this only displays the status of the system in Home Assistant rather than allowing me to control it. Initialisation stage sensor shows 2/4. Has anyone else managed to get this type of configuration working? Are there some dip switches that need changing?

I have confirmed I can control the aircon if I disconnect the smaller panel and change the yaml to “controller address: 1”


Any help would be appreciated.

Thanks
Cameron

My understanding is most Fujitsu ACs only support 2 controllers.

While the protocol appears to allow controller addresses 0-15 (and I have successfully tested with 3 controllers with an ARU18RLF), all available documentation states at most 2 controllers are supported.

Documentation for the OEM controllers show they only support Primary (0) and Secondary (1), so there should be no other relevant dip switch settings.

If initialization stops on 2/4, it sounds like the secondary controller is not giving the token to the esp device. You could try swapping the addresses on your OEM controllers to see if they act differently (you will lose some features, like scheduling on your primary controller).

If that doesn’t work, can you capture and share the logs from the system starting up, or get a packet capture of the system starting up using the TZSP configuration and Wireshark?

I received the Nathan board and have it connected and its amazing. If anyone else has issues connecting to the wifi with 12345678 you might have to connect it to a pc and check the logs for the new password like I did.

Are these dip switches correct? Thanks