A few months ago, I did a post about my plan to upgrade my server rack. A user with the sweet sounding name of @dauerstaender requested a follow up, so here we are.

Open bottom and fans

As mentioned in the original post, a huge point was the open bottom. Together with my pops, I made a piece of plywood to seal off the hole and to mount four 120mm fans with dust filters.

I used Noctua’s NF-P12 redux-1300 PWM fans. They are dead silent on medium-low speed, support PWM signals between 0.0 (off) and 1.0 (full speed), have Noctua’s high quality standards, and are quite affordable for a 4-pin PWM fan with roughly 14.50 € (15.88$) each.

The two holes in the back are for in and outgoing cables but as there are only a couple of cables that have to be led outside I kept them quite small.

Instead of magnetic strips, I just used the screws that I took to fasten the fans for the dust filters as well.

I also swapped the old 80mm 3-pin chassis fans of my server for 4-pin PWM fans from the Noctua redux-series and tweaked the fan curve a bit. I will have to do this again when I move as the server is at the attic right now and it is winter here.

The plywood board and fan swapped alone helped a lot to reduce noise. Right now, the server rack produce less noise then my work laptop when it is under medium load…

Fan controller

After some baby steps by getting used with my power supply and wiring up a single fan, I managed to implement a temperature sensor, a level shifter to raise the 3.3V PWM signal from the Pi to a 5V signal which the fan expects, and a circuit to read the RPM on the open collector (never heard that term before…) of the third pin of the fan.

The code for the controller and some further information can be found here.

Here is the final temporary solution as it currently hangs in my server rack.

It also has a function to export data via Prometheus to Grafana to monitor the temperature and fan speed.

Sound proofing

As of now, the quieter fans and the plywood board suffice but in the end I will use something like Basotect to clad the inner sides of the rack and to seal of the cable ducts. But that will wait until I have everything else done.

Outlook

As mentioned in the repository, I want to learn to design a PCB with a everything on it to ditch the breadboard, additional circuitry, fan hub, etc. I already did some research and it seems quite possible that I am able to do that. But that will take some time :D Afterwards, I will design a printable case to make it look a bit slicker.

And I have to fix a bug in my script. Quite randomly, the fan controller spin up all fans to maximum speed for one cycle (30 seconds) and I don’t know why, yet…


All in all, it is really a fun project although I had to learn quite a lot for it but Linux, and genuinely basic Python and electronics.

If you want to know more feel free to look into my repo, drop a message or comment. Also, I appreciate any hint or help :)

2 points

Okay this is awesome, looking forward to hear how hot this might run in the summer!

permalink
report
reply

Selfhosted

!selfhosted@lemmy.world

Create post

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.

Rules:

  1. Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it’s not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

Community stats

  • 4.8K

    Monthly active users

  • 3.6K

    Posts

  • 78K

    Comments