Fix typos, wordings, add finished pics

This commit is contained in:
2025-08-26 22:55:08 -04:00
parent e618a72861
commit dadf6e2f5e
4 changed files with 11 additions and 4 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 118 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 128 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 98 KiB

View File

@@ -15,13 +15,13 @@ But PC fans can be noisy, and control is ideal. So I decided to build myself a r
## The Design
I of course wanted to base the design off the ESP32, which is my go-to microcontroller for all ESPHome-related devices these days. One crucial feature of the ESP32 is that it contains 8 pulse counter units, which allow the chip to count pulses - like a fan tachometer - very quickly and without using the CPU. I selected my venerable slim HW-395 model, which I also use for [my](/posts/the-supersensor) (Supersensors](/posts/the-supersensor-2.0), as its compact size but full pin count makes designing around it very easy.
I of course wanted to base the design off the ESP32, which is my go-to microcontroller for all ESPHome-related devices these days. One crucial feature of the ESP32 is that it contains 8 pulse counter units, which allow the chip to count pulses - like a fan tachometer - very quickly and without using the CPU. I selected my venerable slim HW-395 model, which I also use for [my](/posts/the-supersensor) [Supersensors](/posts/the-supersensor-2.0), as its compact size but full pin count makes designing around it very easy.
The ESP32 alone can output PWM as well, so I didn't need any sort of fancy controller chip - I just hooked the PWM lines up to each fan and let the ESPHome software do the rest. Lastly a relay controls power to the fans, for simple on/off control in addition to the PWM level control, giving the full range of control needed for a fan array.
I also needed a way to step down the 12VDC input to the 5V that both the ESP32 and relay needed, so for that I selected a basic adjustable DC-DC converter. This did require initial tuning during each board's assembly, but once set it should never need further adjustment. I used an SMD-like method with a hot air gun to ensure a flat profile with good contact for this board, while everything else is through-hole soldered.
I also needed a way to step down the 12VDC input to the 5V that both the ESP32 and relay needed, so for that I selected a basic adjustable DC-DC converter. This did require initial tuning during each board's assembly, but once set it should never need further adjustment. I used an SMD-like method with a hot air gun to ensure a flat profile with good contact for this board, while everything else is through-hole soldered. You can also find versions of this board with a fixed 5V output that would work well instead.
I designed the board in EasyEDA and ordered from JLCPCB for a very reasonable price (though shipping costs are not what they used to be). The overall design is quite simple, with power routing capable of at least 3A of current at a minimum.
I designed the board in EasyEDA and ordered from JLCPCB for a very reasonable price (though shipping costs are not what they used to be). The overall design is quite simple, with power routing capable of at least 3A of current at a minimum. The schematics can be found on [the GitHub project](https://github.com/joshuaboniface/smart-pwm-fan-controller).
![Board Design](board-design.png)
@@ -63,4 +63,11 @@ ESPHome code and schematics for the PCB can be found on [the GitHub project page
## Final Thoughts
This was a fun little project, and I'm quite happy with how it turned out. And it will definitely help keep me cool this summer. Happy hacking!
This was a fun little project, and I'm quite happy with how it turned out. And it will definitely help keep me cool this summer. Here's 3 of them powering fan walls throughout my garage; with many more around my house.
![Man Door](4830.jpg)
![Workbench](4831.jpg)
![Main Door](4832.jpg)
Happy hacking!