Idiots guide to getting an esp32 to control AC Infinity Cloudline EC fans esphome/HA

waring192

Active Member
@javawizard join us soon the Discord server: https://discord.gg/Amea7H7G

Ugh, I'm so tempted to drop my scope on my 6" Cloudline now and see, even though I've already solved my own problem with the Molex boards...
Yeah please do! Im not sure about it all though as to how are we able to control the speed via ppm instead of a ppm signal unless the same 4 times can carry both. Or maybe it's just the 6" that is like at?

The boards have arrived!
How does one go about ordering one with the parts installed?
 
Last edited:

shimbob

Well-Known Member
I seriously doubt that the controller communicates with the fans using I2C as I2C over long wires becomes tricky business if the wires aren't perfect, while the analog 10V pwm signal is dirt cheap and simple.
 
as I2C over long wires becomes tricky business if the wires aren't perfect
Very good point. It'll be interesting to see what scoping the UIS connectors reveals about the new protocol - I presume it's not just simple PWM anymore since the UIS multiplexers are a thing.
 
How does one go about ordering one with the parts installed?
I'll write it up later tonight or tomorrow but short version: find the URL I linked to the schematic/board files in my first post, pull it up, then there's a menu option for ordering PCBs from JLCPCB. It's pretty much just selecting that you want assembly as well after that, the board layout has the BOM and everything else they need embedded.

One thing: you'll need to choose JLCPCB's standard assembly process, not their economic process. The economic one reflows at a temperature too high for the ESP32 modules. (They should email you about it if you accidentally order economic with those boards.)

Choose DHL shipping, then wait about a week and they'll be at your doorstep.
 

jodanlexa

New Member
Controlling an AC Infinity Cloudline EC fan using an ESP32 microcontroller and the ESPHome firmware can seem daunting at first, but with the right steps and guidance, it can be achieved even by beginners. Here is an idiot's guide to getting an ESP32 to control AC Infinity Cloudline EC fans using ESPHome and Home Assistant (HA).
Step 1: Gather your materials You'll need the following materials to get started:
  • An ESP32 microcontroller
  • An AC Infinity Cloudline EC fan
  • A breadboard and jumper wires
  • A USB cable
  • A computer with an internet connection
  • Home Assistant installed on your computer
Step 2: Connect your ESP32 to your computer Use your USB cable to connect your ESP32 to your computer. Once connected, open up the Arduino IDE and select the correct COM port for your ESP32.
Step 3: Install ESPHome ESPHome is a firmware that enables you to control your ESP32 devices using Home Assistant. To install it, follow these steps:
  1. Open Home Assistant on your computer.
  2. Click on "Supervisor" in the sidebar menu.
  3. Click on "Add-On Store."
  4. Search for "ESPHome" and install it.
  5. Once installed, open the ESPHome dashboard.
Step 4: Configure ESPHome for your fan
  1. Click "Create a new ESPHome device."
  2. Enter a name for your device.
  3. Select "ESP32" as your device type.
  4. Enter the Wi-Fi information for your network.
  5. In the "Pinout" section, set the pins that you will be using to control the fan. For example, you might set Pin 12 as your control pin.
  6. In the "API" section, enable the API for your device.
Step 5: Create a configuration file
  1. Click on "Edit" to create a new configuration file.
  2. In the configuration file, add the following code:
yamlCopy code
esphome:
name: my_ac_infinity_fan
platform: ESP32
board: esp32dev

wifi:
ssid: "YOUR_SSID"
password: "YOUR_PASSWORD"

# Configure a web server on port 80
web_server:
port: 80

api:
password: "YOUR_PASSWORD"

output:
- platform: gpio
pin: 12
id: fan_output

fan:
- platform: ac_infinity
output: fan_output
model: 'CLOUDLINE S6'
rotation_speed:
name: "Speed"
speeds:
- low
- medium
- high

This code sets up your ESP32 device and your fan. It sets the fan output to Pin 12 and configures the fan model as "CLOUDLINE S6". It also sets up the fan's speed settings.
Step 6: Upload the configuration file
  1. Save your configuration file.
  2. In the ESPHome dashboard, click "Compile."
  3. Once the compile is complete, click "Upload."
Step 7: Control your fan using Home Assistant
  1. Open Home Assistant on your computer.
  2. Click on "Configuration" in the sidebar menu.
  3. Click on "Integrations."
  4. Search for "ESPHome" and add it.
  5. Once added, you should see your fan device.
  6. Click on the fan device to control it.
That's it! You've successfully controlled an AC Infinity Cloudline EC fan using an ESP32 microcontroller and ESPHome.
 

waring192

Active Member
Controlling an AC Infinity Cloudline EC fan using an ESP32 microcontroller and the ESPHome firmware can seem daunting at first, but with the right steps and guidance, it can be achieved even by beginners. Here is an idiot's guide to getting an ESP32 to control AC Infinity Cloudline EC fans using ESPHome and Home Assistant (HA).
Step 1: Gather your materials You'll need the following materials to get started:
  • An ESP32 microcontroller
  • An AC Infinity Cloudline EC fan
  • A breadboard and jumper wires
  • A USB cable
  • A computer with an internet connection
  • Home Assistant installed on your computer
Step 2: Connect your ESP32 to your computer Use your USB cable to connect your ESP32 to your computer. Once connected, open up the Arduino IDE and select the correct COM port for your ESP32.
Step 3: Install ESPHome ESPHome is a firmware that enables you to control your ESP32 devices using Home Assistant. To install it, follow these steps:
  1. Open Home Assistant on your computer.
  2. Click on "Supervisor" in the sidebar menu.
  3. Click on "Add-On Store."
  4. Search for "ESPHome" and install it.
  5. Once installed, open the ESPHome dashboard.
Step 4: Configure ESPHome for your fan
  1. Click "Create a new ESPHome device."
  2. Enter a name for your device.
  3. Select "ESP32" as your device type.
  4. Enter the Wi-Fi information for your network.
  5. In the "Pinout" section, set the pins that you will be using to control the fan. For example, you might set Pin 12 as your control pin.
  6. In the "API" section, enable the API for your device.
Step 5: Create a configuration file
  1. Click on "Edit" to create a new configuration file.
  2. In the configuration file, add the following code:
yamlCopy code
esphome:
name: my_ac_infinity_fan
platform: ESP32
board: esp32dev

wifi:
ssid: "YOUR_SSID"
password: "YOUR_PASSWORD"

# Configure a web server on port 80
web_server:
port: 80

api:
password: "YOUR_PASSWORD"

output:
- platform: gpio
pin: 12
id: fan_output

fan:
- platform: ac_infinity
output: fan_output
model: 'CLOUDLINE S6'
rotation_speed:
name: "Speed"
speeds:
- low
- medium
- high

This code sets up your ESP32 device and your fan. It sets the fan output to Pin 12 and configures the fan model as "CLOUDLINE S6". It also sets up the fan's speed settings.
Step 6: Upload the configuration file
  1. Save your configuration file.
  2. In the ESPHome dashboard, click "Compile."
  3. Once the compile is complete, click "Upload."
Step 7: Control your fan using Home Assistant
  1. Open Home Assistant on your computer.
  2. Click on "Configuration" in the sidebar menu.
  3. Click on "Integrations."
  4. Search for "ESPHome" and add it.
  5. Once added, you should see your fan device.
  6. Click on the fan device to control it.
That's it! You've successfully controlled an AC Infinity Cloudline EC fan using an ESP32 microcontroller and ESPHome.
What about mosfet etc? Also, setting as light gives you way more range.
 
Did anyone give this PCB a go or use the same schematic but on a breadboard or similar? I got the impression that @shimbob sensed a problem with more than 2 fans on this? Or is it more than 1?

I might use this with some of LEDGardeners PCD designs to do something similar. That reminds me, I have an Atlas Scientific Hydroponics Kit for sale (well its the pool kit design, same thing but blue background) which is less than 2 months old for sale due to wanting 4 isolated sensors so I am using my old Arduino Shield Tentacle Shield Mk2 (4 Isolated EZO ports 1 none plus you can use some of their other sensors on it)) but with an ESP32 for now. That will be for sale also soon when I do the breadboard and pick up some of the Isolation SMTs to make my own PCB.
 

grssll

New Member
Speaking of...

The boards have arrived!

I'll post pictures later when I'm off work. They seem to work fine with two fans hooked up, no sign of the instability @shimbob was seeing, but I want to let them run for a few days before saying that with any certainty.

But yeah. They work perfectly. It's soooo nice to be able to just program them with ESPHome and have it just work.

Which so then the real question: if I threw the board up on Tindie (or even just gave away the ones I have left in the batch I ordered), would anyone be interested in one? Like is that a thing I should spend time doing?
Can you sell the extra one? Thanks
 

waring192

Active Member
Can you sell the extra one? Thanks
I have tried to contact the chap but cannot get hold of him…might just take a punt and get the PCB made… @shimbob I don’t suppose you know where on the PCB I should add a connection for a 10v input?

I have another chap who might know where it has to go. Also going to add an extra molecule as I already have editing the PCB.
 

grssll

New Member
I have tried to contact the chap but cannot get hold of him…might just take a punt and get the PCB made… @shimbob I don’t suppose you know where on the PCB I should add a connection for a 10v input?

I have another chap who might know where it has to go. Also going to add an extra molecule as I already have editing the PCB.
It would be nice to add bme280 support as well
 

shimbob

Well-Known Member
Oh, I just realized you're not sourcing the 10V from a single fan, but from all 3 fans at the same time. So my concern wasn't warranted.
 
Speaking of...

The boards have arrived!

I'll post pictures later when I'm off work. They seem to work fine with two fans hooked up, no sign of the instability @shimbob was seeing, but I want to let them run for a few days before saying that with any certainty.

But yeah. They work perfectly. It's soooo nice to be able to just program them with ESPHome and have it just work.

Which so then the real question: if I threw the board up on Tindie (or even just gave away the ones I have left in the batch I ordered), would anyone be interested in one? Like is that a thing I should spend time doing?
ABSOLUTELY! If you can figure out how to get multiple fans controlled via Home Assistant using the molex connection and esp chip, I'll buy a BUNCH off of you!
 
Top