#Build a HA friendly DC fan controller

1 messages · Page 1 of 1 (latest)

terse fog
#

Hey folks,
I have to replace our ceiling fans and noticed that almost all new models come with a built-in controller: DC motor, light, 6 speeds, dimming, color temp, reverse, timer… and they all look pretty “generic”. Replacement parts are sold everywhere, often brand-agnostic.

That made me wonder: Has anyone ever tried to build a HA-friendly controller board (ESPHome/Tasmota style) to replace those controllers and actually report the fan’s status?

All I found so far were people using smart switches to simply turn the whole fan on/off.

If nothing exists, I’d be interested in starting such a project – would anyone here be keen to join in?

wide cedar
#

Most cheap ceiling fans works with an IR controller. You can emulate or even copy that remote with a cheap IR blaster, like the Broadlink ones

#

I've made that last week for a friend, works like a charm

#

The problem here is that it has one button to toggle light, so you can't know properly if the light is on or off, need some tricks

terse fog
#

Many models I saw come now with some wireless rf sender. Which allows you to control the fan without the need to point to it with the remote. However those make it even more difficult to integrate them into some Smarthome.

#

What I learned most modern “DC ceiling fans” are in fact BLDC (Brushless DC) motors driven by a built-in ESC (Electronic Speed Controller) running off a rectified 230 VAC bus (~325 VDC) resp. 110 VAC bus (~155 VDC) Speed is controlled sensorlessly using back-EMF (back electromotive force) detection. From the controller you’ll usually just see three (usually rather thin) phase wires (U/V/W) going to the motor, plus separate lines to a dual-channel LED module (for dimming and CCT).

A proper DIY replacement board would need:

a motor control IC (e.g. Allegro A4963) for BLDC commutation + faults,

a high-voltage IPm or discrete MOSFET stage for the HV power,

an external MCU (ESP32-C6) to expose MQTT/Matter + Home Assistant entities,

and a dual-channel LED driver.

Yup, you read that right – HV is involved, so good planning and a bit of care are mandatory.

#

Good news: from what I’ve seen so far, most “DC ceiling fans” follow a very similar architecture – rectified HV bus, a 3-phase BLDC motor, and sensorless back-EMF speed detection. Voltage, phase count, and control method seem nearly identical across brands.

This suggests that a single controller design might be compatible with many different models and manufacturers – not guaranteed, but the chances look pretty good.

wide cedar
terse fog
#

Thanks I will look into it. I think a dedicated solution might be even better, but that might work as an intermediate solution

tight crypt
#

might be interesting to look into how the circuit which receives remote commands connects to the motor controller to tell it what speed to run at. I'd bet there's usually some sort of low voltage signalling, either a pwm signal or a voltage level, and it might be possible to insert an esp32 in there to take over control with no other changes.