Custom Fan Controller For Otherwise Fanless PCs

Most of us using desktop computers, and plenty of us on laptops, have some sort of fan or pump installed in our computer to remove heat and keep our machines running at the most optimum temperature. That’s generally a good thing for performance, but comes with a noise pollution cost. It’s possible to build fanless computers, though, which are passively cooled by using larger heat sinks with greater thermal mass, or by building more efficient computers, or both. But sometimes even fanless designs can benefit from some forced air, so [Sasa] built this system for cooling fanless systems with fans.

The main advantage of a system like this is that the fans on an otherwise fanless system remain off when not absolutely necessary, keeping ambient noise levels to a minimum. [Sasa] does have a few computers with fans, and this system helps there as well. Each fan module is WiFi-enabled, allowing for control of each fan on the system to be set up and controlled from a web page. It also can control 5V and 12V fans automatically with no user input, and can run from any USB power source, so it’s not necessary to find a USB-PD-compatible source just to run a small fan.

Like his previous project, this version is built to easily integrate with scripting and other third-party software, making it fairly straightforward to configure in a home automation setup or with any other system that is monitoring a temperature. It doesn’t have to be limited to a computer, either; [Sasa] runs one inside a server cabinet that monitors the ambient temperature in the cabinet, but it could be put to use anywhere else a fan is needed. Perhaps even a hydroponic setup.

Continue reading “Custom Fan Controller For Otherwise Fanless PCs”

PC Fan Controller Works On Most Operating Systems

For better or worse, most drivers for PC-related hardware like RGB components and fan controllers are built for Windows and aren’t generally of the highest quality. They’re often proprietary and clunky, and even if they aren’t a total mess they generally won’t work on Linux machines at all, or even on a headless setup regardless of OS. This custom fan controller, on the other hand, eschews the operating system almost entirely in favor of an open source fan controller board that can be reached over a network instead.

The project’s creator, [Sasa Karanovic], experimented with fan splitters to solve his problems, but found that these wouldn’t be the ideal solution given the sheer number of fans he wanted in his various computers, especially in his network-attached storage machine. For that one he wanted ten fans, with control over them in custom groups that would behave in certain ways depending on what the computer was doing. His solution uses two EMC2305 five-fan controller chip which communicates over I2C on a custom PCB with a RP2040 at the center. This allows the hardware to communicate with USB to the host computer for updating firmware and controlling over the network. There’s also a 1-wire and I2C bus exposed in case any external sensors need to be integrated into this system as well. To get power for all of those fans, the board uses a SATA connector to get power from the computer’s power supply.

With the PCB built and all of the connections to the host computer made, the custom board is able to control up to 10 fans in any custom configuration without needing a monitor or a driver since it is accessible over the network through an API. It’s also open-source so any changes to the firmware or hardware can easily be made for most air-cooled PC situations. If you’re less concerned about the internal case temperature and more concerned about all the heat your PC is dumping into a living space, you might want to look into venting your PC outside instead.

Continue reading “PC Fan Controller Works On Most Operating Systems”

A HP Proliant 360 g6 server with its lid taken off, showing separate green wires coming out of every fan, enabling Dave's modification

Domesticating Old Server Hardware In The Age Of Shortages

Our own [Dave Rowntree] started running into bottlenecks when doing paid work involving simulations of undisclosed kind, and resolved to get a separate computer for that. Looking for budget-friendly high-performance computers is a disappointing task nowadays, thus, it was time for a ten-year-old HP Proliant 380-g6 to come out of Dave’s storage rack. This Proliant server is a piece of impressive hardware designed to run 24/7, with a dual CPU option, eighteen RAM slots, and hardware RAID for HDDs; old enough that replacement and upgrade parts are cheap, but new enough that it’s a suitable workhorse for [Dave]’s needs!

After justifying some peculiar choices like using dual low-power GPUs, only populating twelve out of eighteen RAM slots, and picking Windows over Linux, [Dave] describes some hardware mods needed to make this server serve well. First, a proprietary hardware RAID controller backup battery had to be replaced with a regular NiMH battery pack. A bigger problem was that the server was unusually loud. Turns out, the dual GPUs confused the board management controller too much. Someone wrote a modded firmware to fix this issue, but that firmware had a brick risk [Dave] didn’t want to take. End result? [Dave] designed and modded an Arduino-powered PWM controller into the server, complete with watchdog functionality – to keep the overheating scenario risks low. Explanations and code for all of that can be found in the blog post, well worth a read for the insights alone.

If you need a piece of powerful hardware next to your desk and got graced with an used server, this write-up will teach you about the kinds of problems to look out for. We don’t often cover server hacks – the typical servers we see in hacker online spaces are full of Raspberry Pi boards, and it’s refreshing to see actual server hardware get a new lease on life. This server won’t ever need a KVM crash-cart, but if you decide to run yours headless, might as well build a crash-cart out of a dead laptop while you’re at it. And if you decide that running an old server would cost more money in electricity bills than buying new hardware, fair – but don’t forget to repurpose it’s PSUs before recycling the rest!

The No-MCU Fan Controller

The default for any control project here in 2019 was to reach for a microcontroller. Such are their low cost and ubiquity that they can be used to replicate what might once have needed some extra circuitry, with the minimum of parts. But here we are at the end of 2021, and of course microcontrollers are hard to come by in a semiconductor shortage. [Hesam Moshiri] has a project that takes us back to a simpler time, a temperature controlled fan the way they used to be made, without a microcontroller in sight.

Old hands will no doubt guess where this design is heading, there is an LM35 temperature sensor producing a voltage proportional to its temperature, and half of an LM358 which forms a comparator against a static voltage from a divider. The LM358’s output drives a MOSFET which in turn switches on or off the fan motor. This type of circuit used to be the daily fare of simple control electronics in the days when a microcontroller represented a significant expense, and it’s still a handy circuit to be reminded of.

Have you forgotten sensors such as the LM35 in a world of on-board sensors? Time to refresh your sensing memory.

Custom Soldering Fume Fan Doesn’t Skimp On Features

Prolific maker [sjm4306] tells us the first iteration of his soldering fan was little more than some cardboard, electrical tape, and a hacked up USB cable. But as we all know, these little projects have a way of evolving over time. Fast forward to today, and his custom fan is a well-polished piece of kit that anyone with a soldering iron would be proud to have on their workbench.

Cardboard has given way to a 3D printed enclosure that holds the fan, electronics, a pair of 18650 cells, and a easily replaceable filter. Between the marbled filament, debossed logo, properly countersunk screw holes, and rounded corners, it’s really hard to overstate how good this case looks. We’ve shamefully produced enough boxy 3D printed enclosures to know that adding all those little details takes time, but the end result really speaks for itself.

Fan internals, with a look at the custom PCB.

The user interface running on the OLED is also an exceptionally nice touch. Sure the fan doesn’t need a graphical display, and [sjm4306] could have saved a lot of time and effort by using a turn-key speed controller, but the push-button configuration complete with graphical indications of fan speed and battery life really give the final product a highly professional feel.

In the video below, [sjm4306] reveals that while the finished product might look great, there were a few bumps in the road. Issues with clearance inside the case made him rethink how things would be wired and mounted, leading to a far more cramped arrangement than he’d anticipated. Part of the problem was that he designed the case first and tried to integrate the electronics later, rather than the other way around; a common pitfall you’d be wise to watch out for.

It’s been proven that, without some external input, solder smoke is going to go right in your face. Whether or not you need to do something this complex is naturally up for debate, but if you want to keep all that nasty stuff out of your lungs, you’d do well to outfit your workbench with some kind of fan.

Continue reading “Custom Soldering Fume Fan Doesn’t Skimp On Features”

Keep Cool With This Open Source AVR Fan Controller

We’ve all got projects kicking around that we haven’t had time to document for our own purposes, let alone expose to the blinding light of the Internet. There are only so many hours in a day, and let’s face it, building the thing is a lot more fun than taking pictures of it. It took [Matthew Millman] the better part of a decade to combine everything he’s learned over the years to finally document the definitive version of his open source intelligent fan controller, but looking at the final result, we’re glad he did.

At the heart of this board is an ATmega328P, but don’t call it an Arduino. [Matthew] makes it very clear that if you want to hack around with the code for this project, you’re going to need to not only have a programmer for said chip, but know your way around AVR-GCC. He’s provided pre-built binaries for those content to run with the default settings, but you’ve still got to get it flashed onto the chip yourself. The project is designed to use the common DS18B20 temperature sensor, and as an added bonus, the firmware can even check if yours is a bootleg (spoilers: there’s an excellent chance it is).

Arguably the most interesting feature of this fan controller is its command line interface. Just plug into the serial port on the board, open your terminal emulator, and you’ll have access to a concise set of functions for querying the sensors as well as setting temperature thresholds and RPM ranges for the fans. There’s even a built-in “help” function should you forget a command or the appropriate syntax.

Originally [Matthew] developed this project as a way to control multiple fans inside of a PC case, but naturally, things have changed quite a bit since those early days. While today there’s no shortage of fancy controllers that can handle throttling an array of fans based on the internal temperature of your rig, there’s still something to be said for rolling your own solution. More importantly, there’s certainly other potential uses for a fully open source programmable fan controller.

Hacked Case Fan Follows The Leader With IR Sensor

Adding an additional fan to your PC is usually pretty straightforward, but as [Randy Elwin] found, this isn’t always the case with the newer Small Form Factor (SFF) machines. Not only was the standard 80 mm fan too large to fit inside of the case, but there wasn’t even a spot to plug it in. So he had to come up with his own way to power it up and control its speed.

Now if he only needed power, that wouldn’t have been a problem. You could certainly tap into one of the wires coming from the PSU and get 12 V to spin the fan. But that would mean it was running at max speed the whole time; fine in a pinch, but not exactly ideal for a daily driver.

Note the SATA connector pulled from a dead HDD.

To get speed control, [Randy] put together a little circuit using an ATtiny85, an IR LED, and a LTR-306 phototransistor. The optical components are used to detect the GPU fan’s current speed, which itself is controlled based on system temperature. Using the GPU fan RPM as an input, a lookup table on the microcontroller sets an appropriate speed for the 80 mm case fan.

One could argue that it would have been easier to connect a temperature sensor to the ATtiny85, but by synchronizing the case fan to the computer-controlled GPU fan, [Randy] is able to manually control them both from software if necessary. Rather than waiting on the case temperature to rise, he can peg the GPU fan and have the external fan speed up to match when the system is under heavy load.

You may think this is overkill for a simple case fan, but compared to some of the cooling hacks we’ve seen in the past, it’s pretty tame.