FujitsuAC Integration

It’s sad, that it does not work for you. Is software serial still works fine? You can send me some photos of yours setup.

Also, I saw issue you created in github, about wrong pinout, but as I dont have such AC, I can not check it myself.

But based on voltages measured by @patvdleer and @nbigaouette, I can make an assumption that current pinout is correct:

Do not use such converters. AC connector is not galvanically isolated, you will get short circuit with your laptop

I just had a ASTG12KMTC installed.
It has the male usb connector, the pinout looks to match that as on your github.

I can’t seem to get any of my ESP’s to recognise data from the unit.

I see some references in Fuji manuals about potenatially enabiling wifi.
The onyl reason I bring this up is that after around 60 secons the power light on my ESP’s either do off or dim, like the power from the aircon port has gone off.

Currently I am using a Xiao ESP32 C6 for testing.

Any tips?
Or did you end up producing the controller yourself?

Hi, your unit should be the same to @plains203 ASTG18KMTC (with less power only, I think)

He has issues using dongle with HardwareSerial enabled (with software serial it worked). Currently we don’t know the reason, but there is just proof that library should work with your unit.

Are you sure that wiring and modules used are correct? Maybe something heats a lot on your board? Based on led dimming, it looks like it could be power issue.

You can do some “bench” testing with powering the dongle from 12V wall adapter (do not connect to AC in this configuration). Just to test “on the table” if at least it boots, conencts to wifi and tries to send some packets to MQTT.

For my designed controllers: first batch was a fail and now I am waiting second to arrive

I tried across a few different ESP boards in a lot of different configurations. It is very likely still me doing something.

For power I am using a DC5-36-TO-DC3V3-5 from Waveshare. Test and it is outputting a stable 5v. Current could obviously be a different matter.
For the logic level I am using the same style 4 channel bi directional mosfet shifter. I came as a pack of 10, and tried 3 separate ones.

Tried powering from the waveshare module and from usb (not usb and 5v at the same time though).

I know my remote is different from others. I think plains203 is the same. It has a wifi on/off option. Which made me wonder if the aircon unit has recieved the right commands to actually enable the wifi on these models. The FAQ page has some info on it.
I just re-read the manual again, and it may actualy require me to go into a specfic mode. Page 12 has some references to Turning Off the aircon then holding down the send button.
It makes mention of the registration process. Not sure what the entails and if your code will suffice.

My logic level convertors passed 5v from the HV side to the LV side and cooked a couple of my esp32 boards in testing before I worked out what was happening with them.

I have a new batch the same as benas from the guy readme. I have not had a chance to test them.

I also have a new model ac now with the wifi button on my remote and I have an official dongle I intend to sniff if there are any incompatibilities with the new ac.

I did not know, that such initialization may be required for some units.
I found video that shows dongle initialization.

@plains203 , your unit is also require such initialization?

If ESP has enough time to boot, check MQTT logs before enabling in

mosquitto_sub -h 192.168.1.100 -t fujitsu/# -v

When ESP shutdowns, if you reconnect it - it keeps running for 60 seconds again or you have to reboot AC first, to get power for ESP again?

I think I’ll have to order some new parts.
I had open MQQT Explorer and only got send data, no receive. I am sure at this point I have more than likely fried something.

Received dongles, now testing. Looks like these will work

2 Likes

Nice!! Some questions for your design:

  1. What are the PCB dimensions? The original UTY-TFSXH4 is 34 x 9.7 x 56.7 mm, which is quite small.
  2. The hardest challenge is the thickness. The USB-A receptacle is quite close to the thickness limit, specially when placed on top of the PCB.
  3. Also, in the wall unit the USB male connector is located in the center of the width, so if the receptacle on the PCB is not centered with respect with the PCB, it will shift the PCB and might hit the wall… Because of this I am considering using a USB1055-GF-L-A which makes the receptacle properly symmetric wrt the PCB.
  4. I see you soldered a buck converter. Those are quite big and uses a lot of space. Why not add all components, for example a MP2393?
  5. There is no USB-C connector to program the board. I think you expect to do it through the 4-pins and a USB-TTL programmer?
  6. I think that for the best wifi signal the ESP32 should be rotated so that its antenna would have it’s “Keep Out Zone” lying outside of the PCB, as far away as possible from everything else.

Please let us know how if it works out!! Will you make the design available?

I’m working on a design (great learning experience!), those are some ideas:

  1. Have a USB-C connector for programming
  2. A user programmable RGB led. I think I had a power green led, but I can’t find it, might have to re-add it.
  3. Temperature and humidity sensor (Si7021-A20) as far away as possible (top right corner). I might try to surround it with holes to reduce the PCB’s heat
  4. USB-A female connector (receptacle): USB1055-GF-L-A which allows having it be symetrical wrt to the PCB’s width. This will require cutting the PCB though (not in the picture yet)
  5. Powered by a MP2393. This is more efficient than an LDO, but require adding capacitors, resistors and an inductor to select the output voltage (3.3V). The spec file has an example diagram for 3.3V out, but for 19V input (not 12V). Luckily the manufacturer provides a simulator program (named MPSmart) and the MP2393 page has a “MPSmart Model” which, when loaded in MPSmart, has exactly what we need: 12V input and 3.3V output! So I picked up the values from its diagram:
  6. To save on space, I would like the USB-C connection’s voltage to go through the same MP2393. Surprisingly, when I change the simulator’s input voltage to 5V, the output voltage is still 3.3V! So I think a single MP2393-circuit can be used for both inputs! (obviously not at the same time, maybe a jumper might be added to protect this)

The placements is quite messy, but at least everything seems to fit.

Let me know if you have any comments on this!

Edit: Forgot to say, I followed this video for initial ideas: https://www.youtube.com/watch?v=QoU0WWNgO2g

1 Like

Hi.
My board is 52x30x9

For a first batch I made DC/DC converter with MSMP2307DN-LF-Z, but it did not work as expected, maybe I made a mistake somewhere. So decided to use known working module instead (because such tries are not cheap and you have to wait almost a month to receive boards :D)

For first time programming I just use 4 pins and external programmer. Other programmings are OTA, so it is not worth to add additional parts and consume space for one time.

There is no electricity traffic under antenna in my board, so I believe it will be ok.

I also added couple LED’s for status reporting. Humidity/temp sensor could be an upgrade, but temperature is reported by AC itself (maybe not such precise as it could be).

For design - my plan is to keep this project opensource for those who can and want to build it by themselves, but at the same time to sell some boards to support this project.

It seems that it would be a good idea to have ESD protection for both the ESP32 and the wall unit.

For a USB-C connector (for programming), this isn’t too tricky:

  • For power line: SMBJ15CA (ESD protection) → polyfuse 1A (overcurrent protection) → BLM21PG221 (EMI suppression) → B5817WS-TP (reverse polarity protection). A MP2393GTL-Z will convert the 5V to 3.3V.
  • For data lines: USBLC6-2SC6

For the main USB-A connector, this get more complicated. The same chain of components can be used for the power line (the SMBJ15CA is strong enough, and the MP2393 can take a range of input voltage and still produce 3.3V). But for the data lines, I am not sure. And since this USB-A connection is the most important one, it really needs to be protected properly.

The challenge is that the wall unit provides 12V (I measured 14V). But I don’t know what the data lines will work on. While I did measured 0V and 5V (wrt the ground pin) I don’t know if the voltage can increase to large values like the 12V power line. If the data lines stay around 5V I might be able to use a second USBLC6-2SC6. I’m still unsure about this, since the USBLC6-2SC6 needs to be connected to VBUS, which would be 12/14V in this case; that might be too much.

I tried to find a TVS diode array that would work with 12V but couldn’t find anything that seems satisfactory. The ones with “Voltage - Reverse Standoff (Typ)” around 15V have max clamping voltage that sees too large (f.e. 24V). See this list for the closest I could find.

Maybe there is something I don’t understand properly about the TVS diodes… Would anyone have a better understanding?

@Benas Something that confuses me is the level shifter. Since the ESP32 works on 3.3V, communication with the wall unit might fail if it stays on 3.3V since the wall unit uses 12V. What voltage should the ESP32 data connections be changed to? 12V or the 5V I measured for the TX/RX pins?

12V is power only, given by AC
ESP works with 3.3V only
Data lines have to be 5V - so voltage converter shifts 3.3V coming from ESP TX to 5V and step downs 5V to 3.3V coming from AC TX to esp.

Voltage converter needs 2 reference voltages (3.3V for low side and 5V to high side) to be able to convert signals to desired voltage.

Hey Benas,

I’ve ordered all the parts to DIY your Fujitsu remote control integration however, whenever you’ve got the custom PCB’s ready I definitely would like to order 2 to support you!

3 Likes

I’m re-reading my questions and comments here and feel like I learned a lot since.

I still have questions though, mostly regarding the interface with the wall unit. Mine has the USB-A male connector.

I measured the voltage between the pins and am pretty sure the 14V one is the power rail. The opposite is probably the ground pin. But the two in between I’m not sure. One has a 5V wrt ground and the other 0V. UART needs two lines (TX and RX) plus a common ground (see f.e. UART Communication - Wiring, Signal, Data Frame, and Speed). The URT idle state is high, so seeing a pin at 5V would be a good indication of a 5V UART line. But I am only seeing a single 5V line; the other candidate is at 0V.

  1. Did anyone else measured the voltage of each pin?
  2. Is the communication really UART?
  3. Why would one UART line be 5V but the other 0V?

Thanks!

Look at the video I attached above, you can see OEM dongle with a sticker written 12V DC on it.
With no load, devices sometimes give higher voltage which drops a little bit, when load is attached. You measure 5V on AC RX pin because it is pulled high, that means it it high when no device is connected. It prevents AC RX from getting random noise and trying to think that its some received bytes. AC TX is 0 because it does not send anything (at the time you are measuring).

Having the AC_RX pin pulled-high to prevent bad read makes a lot of sense. You don’t want noise to be interpreted as signal, you want the wall unit to properly detect the start bit (which is LOW).

But then I don’t understand why AC_TX would be low. Normally the idle state should be HIGH, and the start bit indicating the beginning of the packet is LOW. So TX should be kept high, no? And in that case, both pins should be HIGH? One to prevent noise reading and the other to indicate ready to send…

Protocol is inversed, it idles at low.
When dongle is connected, its TX “pull low” is stronger than AC RX pull high, so line becomes low at idle. I understand it like that

Interesting!

Do you know if the AC is chatty without a dongle? As in, does it sent information for anything to listen to? Or does it need some kind of handshaking to start transmitting information?