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

Hey all, this is a very long shot as this post is kinda old. But I wanted to ask 2 things:

1 - How can test test that the mosfet output voltage is proportional to the fan speed? I was able to check that with a multimeter in the original manual controller, but I just can't check the output of the mosfet as it keeps showing negative values (for reference, I tried many positions with the probes).
The fan is not controlled by the output level, but by the frequency. It's PWM. I used a cheap $40 oscilloscope on Amazon to verify my signal.

2 - Could you share the ESP Code, please? I did mine with help of AI and wanted to check if I'm doing something wrong, although I can see the MOSFET light dimming when I change the speed.
The ESPHome code (and it's for the project ESPHome, so you'll have to learn some basics about compiling and uploading a configuration to the ESP32 under the ESPHome framework. The configuration needed is earlier in this thread.
 
I have looked over the thread. I'm not super comfortable because the posts relating to the single unit are pretty tentative and the stuff that seems like they have it all figured out is related to custom pcb for 4 units.

The PCB is one of the LAST things you would be doing. I'm getting the impression what you're looking for is more like a kit or someone telling you, "Do this and that and here's a PCB layout you can send in to someplace and they'll make you one, then just buy this list of items and solder them in place and flash the ESP32 with this command and it should work."

If that's what you want, you're not going to get it here. All of us here have spent a lot of time parsing what we've read here, learning things like how ESPHome works, and more. The first page of posts includes a Fritzing diagram of a system for one fan. From there, the next step would be using that, with the parts included, and wire, and a breadboard, to construct a circuit on the breadboard that matches the Fritzing diagram. From there, it's a matter of picking a way to connect to the fan. You can use the 4 pin to USB C connector some have used. Personally, I made the connections directly to a USB-C plug, and used that. No adaptor needed. (I did have to study USB-C pinouts to be sure I understood them and it's important to remember that normally USB operates on +5V, but that the USB line from the fan uses +10V.)

The PCB is pretty much the last thing to think about and shouldn't even be a concern until after you have a working system on a breadboard. I would also suggest a cheap oscilloscope to check the output before connecting it to your fan. This scope is not at all high end, but, in the us, it's $47 on Amazon. You can use it to make sure you're getting a PWM with a duty cycle going from 0% to 100% as you change the settings on the ESP32 (which you can do through the webpage ESPHome automatically creates). You may not want to. While experimenting, I did blow out a fain, and they're something like $80-$95 (don't remember actual price). So getting a scope is cheaper than replacing a fan. (And, honestly, I didn't blow out my fan based on this, I dropped something and shorted out a connection and blew it out from carelessness when I was overtired.) In terms of the scope, it's about $40 less to get a scope than to replace a fan.

I would suggest:

Step 1: Learn how to compile the ESPHome configuration and get it uploaded to an ESP32.
Step 2: Get a cheap scope like I mentioned. Connect it to the proper output pin of the ESP32. Use the ESP32 web page controls to set the output and make sure the time in the duty cycle that the output is high is proportional to the value you pick for the pin output.
Step 3: Get a breadboard and wires and the components and build a test circuit using the diagrams and parts that was used on Page 1 of this thread. Again, use the scope to test the output from the MOSFET.
Step 4: Work out your connection to the fan. Either us the adapter others have used or do the research on USB-C connectors and find the proper connections on the USB connector to connect your circuit to the fan. Once that's worked out, try to test your output to make sure you're getting the PWM on the right pin.
Step 5: Connect it to your fan and test it.

Note that this is a general outline on how to do this. I'm not giving you specific steps and I'm not making an guarantees it'll work, or that you won't run into issues due to any skills or lack of skills you may have. In other words, as much as I'm working to guide you in the right direction, if you blow out your fan or damage anything else, it's NOT my responsibility.

As for the 4 unit PCB, again, DON'T THINK ABOUT THE PCB until you have a working circuit on the breadboard. I haven't done prototyping before, but I found a few changes I wanted to make from early on rather than go with the original designs here. (I think my first change was to a MOSFET wasn't on it's on micro-PCB.)

My first step was getting it working on a breadboard. Then I built a 2nd one to control my 2nd fan. Then I looked over what I had and realized adding a 2nd fan to the same system was easy - and, instead, added 3 more fans, so I could control 4 fans at once. The cost of the extra parts was, if I recall, less than $1 per additional fan, maybe less than $2 per additional fan. (I didn't post my 4 fan schematic.) I also added in a few diodes so my system draws its power from the fans themselves. The diodes make sure that the power supply doesn't feed back into the fans and so any fan can power it from any of the 4 USB-C plugs I'm using. (And I even sold my circuit design! Can't say anything about to whom or anything like that.)

There was atleast one post with circuit designs I ddn't understand for what seemed like multiple things all on the same drawing and piecing it together to make a unit to just plug into the usb-c comign off my fan, leech power to run and control the fan isn't something I can point out how to do on here with high confidence.
The issue is that pretty much everyone here has done a lot of work to make their system work. I came in with very little experience and pieced together a 1 fan control system and then expanded it from there. While we're willing to help and advice and share our experience, it sounds like what you want is a set of very specific instructions and a shopping list of parts. That's a big ask, since it means someone taking the time to prep that shopping list of parts and, honestly, you can get that from the posts on this thread. Most of that is at the start. Some of my posts, which are, I think, later in the thread, I do some summarizing behind the questions I'm asking. I try to do that to spell things out and so it helps me (and others, like you) follow what's going on and focus on the background of the questions I'm asking.
 
The PCB is one of the LAST things you would be doing. I'm getting the impression what you're looking for is more like a kit or someone telling you, "Do this and that and here's a PCB layout you can send in to someplace and they'll make you one, then just buy this list of items and solder them in place and flash the ESP32 with this command and it should work."

If that's what you want, you're not going to get it here. All of us here have spent a lot of time parsing what we've read here, learning things like how ESPHome works, and more. The first page of posts includes a Fritzing diagram of a system for one fan. From there, the next step would be using that, with the parts included, and wire, and a breadboard, to construct a circuit on the breadboard that matches the Fritzing diagram. From there, it's a matter of picking a way to connect to the fan. You can use the 4 pin to USB C connector some have used. Personally, I made the connections directly to a USB-C plug, and used that. No adaptor needed. (I did have to study USB-C pinouts to be sure I understood them and it's important to remember that normally USB operates on +5V, but that the USB line from the fan uses +10V.)

The PCB is pretty much the last thing to think about and shouldn't even be a concern until after you have a working system on a breadboard. I would also suggest a cheap oscilloscope to check the output before connecting it to your fan. This scope is not at all high end, but, in the us, it's $47 on Amazon. You can use it to make sure you're getting a PWM with a duty cycle going from 0% to 100% as you change the settings on the ESP32 (which you can do through the webpage ESPHome automatically creates). You may not want to. While experimenting, I did blow out a fain, and they're something like $80-$95 (don't remember actual price). So getting a scope is cheaper than replacing a fan. (And, honestly, I didn't blow out my fan based on this, I dropped something and shorted out a connection and blew it out from carelessness when I was overtired.) In terms of the scope, it's about $40 less to get a scope than to replace a fan.

I would suggest:

Step 1: Learn how to compile the ESPHome configuration and get it uploaded to an ESP32.
Step 2: Get a cheap scope like I mentioned. Connect it to the proper output pin of the ESP32. Use the ESP32 web page controls to set the output and make sure the time in the duty cycle that the output is high is proportional to the value you pick for the pin output.
Step 3: Get a breadboard and wires and the components and build a test circuit using the diagrams and parts that was used on Page 1 of this thread. Again, use the scope to test the output from the MOSFET.
Step 4: Work out your connection to the fan. Either us the adapter others have used or do the research on USB-C connectors and find the proper connections on the USB connector to connect your circuit to the fan. Once that's worked out, try to test your output to make sure you're getting the PWM on the right pin.
Step 5: Connect it to your fan and test it.

Note that this is a general outline on how to do this. I'm not giving you specific steps and I'm not making an guarantees it'll work, or that you won't run into issues due to any skills or lack of skills you may have. In other words, as much as I'm working to guide you in the right direction, if you blow out your fan or damage anything else, it's NOT my responsibility.

As for the 4 unit PCB, again, DON'T THINK ABOUT THE PCB until you have a working circuit on the breadboard. I haven't done prototyping before, but I found a few changes I wanted to make from early on rather than go with the original designs here. (I think my first change was to a MOSFET wasn't on it's on micro-PCB.)

My first step was getting it working on a breadboard. Then I built a 2nd one to control my 2nd fan. Then I looked over what I had and realized adding a 2nd fan to the same system was easy - and, instead, added 3 more fans, so I could control 4 fans at once. The cost of the extra parts was, if I recall, less than $1 per additional fan, maybe less than $2 per additional fan. (I didn't post my 4 fan schematic.) I also added in a few diodes so my system draws its power from the fans themselves. The diodes make sure that the power supply doesn't feed back into the fans and so any fan can power it from any of the 4 USB-C plugs I'm using. (And I even sold my circuit design! Can't say anything about to whom or anything like that.)


The issue is that pretty much everyone here has done a lot of work to make their system work. I came in with very little experience and pieced together a 1 fan control system and then expanded it from there. While we're willing to help and advice and share our experience, it sounds like what you want is a set of very specific instructions and a shopping list of parts. That's a big ask, since it means someone taking the time to prep that shopping list of parts and, honestly, you can get that from the posts on this thread. Most of that is at the start. Some of my posts, which are, I think, later in the thread, I do some summarizing behind the questions I'm asking. I try to do that to spell things out and so it helps me (and others, like you) follow what's going on and focus on the background of the questions I'm asking.
Thanks for a great post, exactly what ive been looking for. I recognize this a lot myself with diy led - asking what they want for design/price; answer being either
"-Yes.
Or
"What ever is best".
GReat to see someone describe the process cause pretty much everyhing in this thread is over my head.
 
Thanks for a great post, exactly what ive been looking for. I recognize this a lot myself with diy led - asking what they want for design/price; answer being either
"-Yes.
Or
"What ever is best".
GReat to see someone describe the process cause pretty much everyhing in this thread is over my head.
Thank you!

I spent years as a teacher, first in elementary school, then in residential treatment. You have a good point, but the teaching habits, especially the ones I learned and developed in residential, die hard. Students in that kind of setting are constantly expecting people to do things for them that the student really needs to do on their own, so it's a strong habit to address that. Hard to just let it go by!

I do not mind, at all, helping people who want to work through the process, but I'm not going to just do something for a person that they can do on their own. And, as you point out, there's a cost to what this person is asking for - a LOT of my time!

Also, along the way, even though I started using designs here, it morphed into my own design. That took a lot of work! At this point, my design is still on a breadboard because it's part of a CNC system (including a laser) that I'm kind of "bootstrapping." I have the CNC, but I'm adding on a control system and a few other parts, including my vent fans, that all interact with each other. It's also a background project, so my time on it is limited. When I'm done, the control panel, CNC, laser, fans, and fan controller, will all interact closely. I'll be making my own PCBs on the CNC - which is why it's a bootstrap project. First I have to get it all working on breadboards, then I'll be making the PCBs on the CNC. When it's done I'll have a fully interactive system and I suspect I'm not the only person who wants vent fans to go on with the CNC and keep running after it goes off to clear the air of smoke if the laser is in use.

That means, now, I have custom designs that have taken a lot of time. I don't mind helping people develop their own designs and answering questions, but, "Tell me what I need," when I know, from experience, that it's possible to read just the first few pages of this thread, will explain what's needed and how to set it up. (Granted, that may still lead to questions - but you can tell who is asking to learn and who is asking because they want a simple answer.) In the end, I might even put my circuit boards together with printed cases and sell them. But until they're fully tested and until I know what I plan to do with them, I'm not posting the designs. (Notice there's someone on here who had some PCBs made and people asked him about them and he said to PM him - so I'm not the only one thinking of selling their design.)
 
Thank you!

I spent years as a teacher, first in elementary school, then in residential treatment. You have a good point, but the teaching habits, especially the ones I learned and developed in residential, die hard. Students in that kind of setting are constantly expecting people to do things for them that the student really needs to do on their own, so it's a strong habit to address that. Hard to just let it go by!

I do not mind, at all, helping people who want to work through the process, but I'm not going to just do something for a person that they can do on their own. And, as you point out, there's a cost to what this person is asking for - a LOT of my time!

Also, along the way, even though I started using designs here, it morphed into my own design. That took a lot of work! At this point, my design is still on a breadboard because it's part of a CNC system (including a laser) that I'm kind of "bootstrapping." I have the CNC, but I'm adding on a control system and a few other parts, including my vent fans, that all interact with each other. It's also a background project, so my time on it is limited. When I'm done, the control panel, CNC, laser, fans, and fan controller, will all interact closely. I'll be making my own PCBs on the CNC - which is why it's a bootstrap project. First I have to get it all working on breadboards, then I'll be making the PCBs on the CNC. When it's done I'll have a fully interactive system and I suspect I'm not the only person who wants vent fans to go on with the CNC and keep running after it goes off to clear the air of smoke if the laser is in use.

That means, now, I have custom designs that have taken a lot of time. I don't mind helping people develop their own designs and answering questions, but, "Tell me what I need," when I know, from experience, that it's possible to read just the first few pages of this thread, will explain what's needed and how to set it up. (Granted, that may still lead to questions - but you can tell who is asking to learn and who is asking because they want a simple answer.) In the end, I might even put my circuit boards together with printed cases and sell them. But until they're fully tested and until I know what I plan to do with them, I'm not posting the designs. (Notice there's someone on here who had some PCBs made and people asked him about them and he said to PM him - so I'm not the only one thinking of selling their design.)
Nice reply and wow, frigging lasers!
austin-powers.gif

I defo relate to how time much time can be spent on helping people to put something together and how hard it can be to steer them into the process which means they themselves need to answer the question : whats the best alternative? It always depends on what your situation is and the real price in diy is not getting stuff cheaper but the pride and sense of accomplishment once its all done and working. Why rob someone of the main price?!?
Good luck on your designs and welcome to inbox me if you ever want to build leds. Its another deep rabbithole but oh so delicious to dig thru...
 
Sorry. I would say, since you've asked that once and bumped it twice, you're not going to get an answer here.

I see that's also by AC Infinity. The bad news is that they are totally unaccommodating if you call for information. It's clear they do not want their systems to interact with other control systems, whether open source, DIY, or from another company. They weren't hostile to me, but they were unhelpful almost to the point of being rude. I remember reading someone else saying they had a similar experience. (It makes me want to get my system out there so it can work with Home Assistant, which is open source and free, just so people can buy their fans and not spend another cent on their products.)

Does the same controller work with that fan that works with the ones we've been talking about in this thread? You MIGHT get help from AC Infinity if you do NOT talk about it like you want to bypass their controller, but want to know about their system. For instance, "I have a situation where I need these 2 different fans, but I'm not using them both at the same time. While I'm saving up, can I use one controller and switch it between them - until I can buy a second one?" (Yeah, admit that you lost or somehow broke, or spilled water on, or had a kid mess up the other one.)

There have been a lot of helpful posts on this thread, but my experience is that a lot of times someone has come in, shown what they've done, answered some questions, and moved on, so sometimes it can be tough to get an answer here.

Also, you may want to look for information on the Arduino forum, since ESP32 can be programmed with the Arduino IDE, there are discussions covering it on there and I know there's a thread on that forum that covers the same fans. So someone there might have information.
 
Nice reply and wow, frigging lasers!
View attachment 5461954

I defo relate to how time much time can be spent on helping people to put something together and how hard it can be to steer them into the process which means they themselves need to answer the question : whats the best alternative? It always depends on what your situation is and the real price in diy is not getting stuff cheaper but the pride and sense of accomplishment once its all done and working. Why rob someone of the main price?!?
Good luck on your designs and welcome to inbox me if you ever want to build leds. Its another deep rabbithole but oh so delicious to dig thru...
Love the Austin Powers reference!

Yes, it's a rabbit hole, or a lot like choosing the red pill when Morpheus offers them to you!

In my case, I'm working on starting a side business based on gizmos like this and others that use microcontrollers. Also, as of now, there's really nothing on the market that works with AC Infinity fans. They don't want there to be anything like that. They want to lock you into THEIR system completely. (As I said in another post, that's what makes me consider selling something that lets you control their fans with Home Assistant!) I've meddled with electronics since the 70s, but never got to the point of actually putting things together into circuits, so this was a good learning experience for me and I'm glad to help others that want to learn!
 
The fan is not controlled by the output level, but by the frequency. It's PWM. I used a cheap $40 oscilloscope on Amazon to verify my signal.


The ESPHome code (and it's for the project ESPHome, so you'll have to learn some basics about compiling and uploading a configuration to the ESP32 under the ESPHome framework. The configuration needed is earlier in this thread.
Hey, thanks for replying!
So, I have a "good" osciloscope, but still in the learning curve of it and all ESP / Electronics stuff. I'll dig out how can I measure that frequency.
I was asking because I could easily measure the different voltages with the original controller (signal wire + / GND -), but I understand this is a different circuit.

About the code, I went to search and now I understand there's no code per se. I really wanted to code it like standalone and then integrate with HA (got coding skills, learning C++). It's a different scenario tho, and not related to this thread I guess.

Anyway, thanks a lot for your answer! Just one last thing... Did you wire the mosfet like the OP? using vOUT+ for +10v and vOUT- for PWM output to fan?
 
Hey, thanks for replying!
So, I have a "good" osciloscope, but still in the learning curve of it and all ESP / Electronics stuff.
Yeah, so am I. And I spent time learning ESPHome, then openHASP, and Tasmota. Plus I learned a lot of electronics while working this out. I know more than some, but not as much as many people who have posted here before.

As long as the fan is PWM, then the main purpose of the o-scope is to find out what the operating frequency is. Then, when you've got ESPHome working on the ESP32, my feeling is you're better off double-checking the PWM output to be sure it matches the fan PWM signal before plugging your board into the fan. In my case, I lost a fan (about $85, if I remember) due to carelessness with contacts. But if you have a good scope, there's no reason to risk that somehow the ESP32's PWM does NOT match the fan.

Side note on this: I did test the other systems, openHASP, and Tasmota. I found that ESPHome lets you set the PWM frequency and the others have a set 40Khz frequency. The AC Infinity fans (at least he one most people use here, works with 10Khz. If I recall properly, and that's a big IF, I think the fan's normal frequency is 14Khz. (Why an oddball one? I don't know - but I can't figure out a lot about this company.) I found out the limits of my cheap o-scope when I tried to read a 40Khz frequency. I don't remember if that test was on Tasmota or openHASP. (I think it was Tasmota, but not sure.) I recompiled it for a 10Khz PWM signal, but it still didn't show up properly on my cheap o-scope! It'll be a while before I can get back to the dirt level work on this, but I will need to buy a decent o-scope, so I can read a 40Khz signal. (That'll also be a big help on other projects.)

I'll dig out how can I measure that frequency.
Basically, you'll need to connect to the ground and to the signal line to read it. Since these fans use a USB-C connection, look for a breakout diagram of the USB-C connectors. I can never remember things like model numbers (except for my beloved classic convertible that always needs more work!) The USB-C connector is quite different from earlier versions, with more than just 4 pins (GND, +5V, and signals). Also, the fans use +10VDC instead of +5VDC. If I recall, the fans use GND, +10VDC (again, on the +5VDC line for USB standards), and I'm pretty sure the PWM signal is on the D+ line, but check that out. Again - I can forget things like that and I'm not looking over notes right now.

You can make your own USB-C breakout box using something like this (from Amazon). And I'm pretty sure this is the USB-C connector I'm using now. The pins are spaced so they work on a breadboard and, of course, you can easily use them on most PCB designs later.

I was asking because I could easily measure the different voltages with the original controller (signal wire + / GND -), but I understand this is a different circuit.
I'm not sure what you mean by "a different circuit." If you use a USB-C breakout box, or panel like I linked to, then you have the fan and speed controller connected by a USB-C cable. (Well, technically, 2 cables and a breakout panel, but, still, you have the controller talking to the fans through the USB-C cable.) that makes it kind of a "black box" situation. As long as you know exactly what signals are going on what wirees on the USB-C cable, you can duplicate them. The fan doesn't care about what kind of circuit is in the controller, or anything about the controller. All it cares about is that the signals are the same as the ones that'd come from the controller.

About the code, I went to search and now I understand there's no code per se. I really wanted to code it like standalone and then integrate with HA (got coding skills, learning C++). It's a different scenario tho, and not related to this thread I guess.
Ah - yes. I get what you're saying. Nope. No code for ESPHome, just a config file. HA has an ESPHome add-on you can use, so you can write your config file in it and save it. If I remember, compiling and uploading is a one-button function. (Well maybe 2, but I think it's one.) I changed to using a command line tool and my own editor (which makes it possible for me to use git, which I'm new to, so I can track my versions). I use esptool.py for compiling. I can't remember right off, but I think I use one command to compile and another to upload. It takes a bit more effort, but it works better. For one thing, I run HA on a Pi, which a lot of people do, and that compiles slower than my desktop. Plus, as I said, I have versioning control, and, overall, it gives me more control.

Honestly, while I like an excuse to program in C or C++ (and haven't had a good one in years - sadly) - and even more, love if I have a reason to code in Assembler (which I've hardly ever had to do since I sold my Apple //e in the late '80s). But it's a lot easier to handle this in something like ESPHome, or Tasmota, or openHASP. They do a lot of the heavy lifting for you. They're not perfect and all three are evolving, but they can make many tasks easier than writing the code - and they handle communication with other ESP32 systems through MQTT easier, as well as working with HA. (I use the ESPHome plugin, but you can use MQTT - which I suspect I'll switch to even for ESPHome <-> HA communication.)

I don't mind discussing the ESP systems like ESPHome and the others here, as relates to the fan controller. I think that's quite within the topic. If you want to discuss more about that, feel free to PM me.

Personal note: I may have been a bit abrupt in my earlier replies. It seemed like you were asking for a simplified version of everything, kind of a, "Okay, so break this down so I can go out and buy the parts and string 'em together." It's hard to tell, sometimes, just what a person's motivation is. I have frequently run into people who basically say, "Do this for me." (Happened all the time when I was teaching!) I basically said what I did because I knew if you were interested in learning, you'd be back asking questions like this. I'm always glad to help people who want to learn and will put in the effort to figure it all out. (I have to add that sometimes life and work and projects can delay my responses!)

Anyway, thanks a lot for your answer! Just one last thing... Did you wire the mosfet like the OP? using vOUT+ for +10v and vOUT- for PWM output to fan?
I changed to something else. If I recall, they use a MOSFET on a PCB. I think it included 2 MOSFETs and maybe some resistors onboard as well. Possibly even capacitors, but I don't remember for sure just what is on it. Instead I used this MOSFET because it's easier to plug into a breadboard and easier to mount on a PCB. I think it's a little cheaper, but I don't remember how much or if that was a big reason I used it.

Wiring is critical on this, since PNP and NPN transistors need to be wired differently. Here's a snapshot of part of an earlier schematic of mine (honestly, the one I could pull up a screen shot of the fastest!). R1 goes to the +10V line from the fan. I know it branches off - honestly, the 2nd line from above R1 doesn't matter for this discussion.

The other line coming in below R1 and above Q1 is the signal line to the fan. Pin 3, the collector, goes to ground. (On my system, the ESP32 ground is connected to the ground line from the fan.) This is an NPN transistor, so the load goes on the "high" (referring to the voltage direction) end of it. In this case, the load is that line below R1 and above Q1, which connects to the fan's motor control circuit.

I haven't mentioned the base, or pin 2. That connects to your ESP32 PWM output. When it's off, current won't flow from the +10VDC line through to the ground, which also means it won't provide a signal to the fan, when there is no current to the base.
Screenshot 2025-04-20 at 11.13.51 PM.png

I hope this helps!
 
Last edited:
I'm not convinced the exact frequency of the PWM matters all that much as long as you're within the khz ballpark. I don't think the manufacturers of these fans wanted to complicated their design by making something that requires decoding/counting/clocking/comparing the exact PWM frequency with a reference frequency, and instead they rely on a side effect that happens when you feed a known voltage through a pwm signal: you get a variable voltage. I suspect this variable voltage then feeds the fan motor through simpler analog circuitry.
 
I'm not convinced the exact frequency of the PWM matters all that much as long as you're within the khz ballpark.
Speaking as someone who is FAR from an expert in this, I would have to agree with you. Ballpark can be important, though. From what I've heard, and I'm not sure all the sources on this really knew what they were talking about, apparently these fans cannot handle 40Khz. 10Khz and 14Khz, apparently are no problem. But 40 is a big problem.

I don't think the manufacturers of these fans wanted to complicated their design by making something that requires decoding/counting/clocking/comparing the exact PWM frequency with a reference frequency, and instead they rely on a side effect that happens when you feed a known voltage through a pwm signal: you get a variable voltage. I suspect this variable voltage then feeds the fan motor through simpler analog circuitry.
My understanding is that's how it works. The only connection between the fan and the proprietary controller is the USB-C connector. While that does provide more than 10 pins (as opposed to older USB connectors that have only 4), when I made a breakout board and tested it, it looks to me like the only pins that are actually used are GND, Vcc (which is normally +5VDC, but is +10VDC with the fans) and the D+ line, which is the data/signal line. I suppose, from what I hear, that's the easiest and least-component-using way to do it. I'm sure they put as much as they could on the fan and the only thing on the controller is what's needed to generate the PWM signal.

Remember, they also have their own control system - which does NOT interact with any standard system (which is why we're all here). You can get other types of controllers from them so you can tie it into their automation system. Since it would be simplest to make all the controllers simple, I think that works with the whole idea of "Keep as much as possible on the fan and ONLY use a PWM signal from the controller."
 
Back
Top