Introduction: DIY CPU Waterblock

About: I'm a mechanical engineering student and I like to make little side projects in my free time. Of course that's assuming I actually find some free time!

I've been wanting to make a CPU water cooling block for a while, and after watching Linus from LinusTechTips make one in his Scrapyard Wars series I decided that it was about time that I got around to making my own.

My block was inspired by Linus', with a couple of my own tweaks here and there. I decided to use a clear polycarbonate top instead of the original copper plate to display the custom machined block and coolant, as well as a removable mounting system that allowed for a wider range of socket sizes and custom mounting solutions.

I was lucky enough to have access to a fully equipped machine shop for this project, so there are a few machines that I used that may not be very common in a home shop. However, with some creativity and patience the same results can be achieved with some simple hand tools. The only specialized machine that would be required for this project is a CNC mill.

To keep this instructable to a reasonable length, I'm assuming a basic knowledge on the use of machines typically found in a machine shop.

Let's get started!

Step 1: Materials and Tools


  • Aluminum Flat Bar - 2" x 4" x 1/8" thick
  • Aluminum Flat Bar - 2.125" x 2.125" x 1/2" thick
  • Clear Polycarbonate Sheet - 2.125" x 2.125" x 1/4" thick
  • 10-24 UNC x 3/8" Socket Cap Screws Qty. 4
  • 6-32 UNC x 3/8" Countersunk Screws Qty. 4
  • 8-32 UNC x 1 1/2" Pan Head Screws Qty. 4
  • 8-32 UNC Hex Nuts Qty. 4
  • Craft foam sheet
  • Preferred watercooling fittings - I used some compression fittings from Amazon

Note: All stock dimensions are rough cut sizes. Refer to the drawings in the next step for final dimensions.

Also note the material choice for your main block. Be sure to match it to the rest of your water loop to prevent corrosion. (Thanks, ironsmiter)


  • CNC Mill
  • Manual Mill
  • Bandsaw
  • Drill or Drill Press
  • Drill Bits - 0.103", 0.150", 0.2", 0.457"
  • Spotting Drill or Center Drill
  • 2 Flute End Mills - 1/8", 1/2" (Thanks, imakeembetter)
  • Facing Mill
  • Countersink
  • File
  • Utility Knife
  • Ruler
  • Cutting Mat
  • G1/4-19 Pipe Thread Tap
  • 10-24 UNC Tap
  • 6-32 UNC Tap

Step 2: Block Design

I used Autodesk Inventor to create a 3D model of the block to help me determine the final block dimensions and to generate the g-code for the CNC.

The overall design of the block has a clear polycarbonate cover that is mounted to an aluminum base and sealed with a gasket. The aluminum base has a machined pocket containing fins in the top where the water flows through, as well as a contour around the bottom. Eight tapped holes are used to attach the top polycarbonate plate as well as the mounting arms. The watercooling fittings are threaded directly into the top polycarbonate cover.

The mounting arms are removable to allow for the attachment of replacement arms to fit different socket sizes, or a custom mounting system for other uses.

While designing the block I also had to keep in mind the clearance for the motherboard components, as well as the limitations of my tooling. To achieve the proper clearance, I designed the block to have a 3/8" x 1/4" deep contour milled around the bottom perimeter of the block. For the tooling, I decided to use a 1/8" end mill to get as many fins as possible inside the block while maintaining a reasonable depth for the pocket. I'll cover this in more detail later on.

Step 3: Clear Block Cover

I decided to start by making the clear polycarbonate cover for the waterblock. The stock was cut to the rough cut size on the bandsaw, and then clamped into the mill to be squared off and machined to the final size of 2" x 2". Once the block was machined to its final size, I drilled the clearance holes in the corners (0.2") and drilled and tapped the mounting holes for the watercooling fittings (G1/4-19, 0.457" tap drill size) . I used a center loaded into the chuck to align my tap and keep my threads square to the part (last image).

Step 4: Main Block Preparation

With the polycarbonate cover complete, I moved on to the main block. I first took the block down to its final size of 2" x 2" with the mill, then ran a light cleanup pass over the surface of the block to remove any surface imperfections. Take care not to remove too much material during the cleanup pass as to not affect the CNC program later on. If the block is too thin, the cutter will break through the bottom and ruin the part.

Step 5: CNC Milling the Main Block

The zeroes for both of the CNC programs is on the bottom left corner of the part, so using an edge finder I zeroed in the machine. Once the proper tool (1/8" end mill) was securely mounted in the spindle, I loaded up the program to machine the reservoir and let it run.

While most 1/8" end mills only have a 3/8" (0.375") length of cut, I was able to squeeze an extra 0.025" out of mine and mill the full 0.4" deep pocket in the program. If you don't feel like pushing your cutter then just move the z-axis up 0.025" above the surface of the work and re-zero the machine. That way the program will only cut 0.375" into the material.

Once the program for the reservoir was finished, I flipped the part over, corrected my zeroes and ran the program for the clearance cut on the back of the block.

Note: These g-code files worked on my CNC (Tormach PCNC 1100), but I cannot guarantee that it will work on others. Make sure to check the code before running the program and ensure that it won't crash the machine. I take no responsibility for any mishaps caused by this code.

Step 6: Manual Machining the Main Block

After running the CNC programs, I brought the main block back to the mill to finish machining it.

I first took a light pass with a facing mill to clean up the top of the block and achieve a smooth finish for the gasket. I then spotted all of the holes and drilled them with their proper tap drill sizes (0.103" for 6-32 UNC and 0.150" for 10-24 UNC). With that completed I put the block into a vice and tapped all the holes to their proper size.

Step 7: Machining the Mounting Arms

The mounting arms are machined out of 1/8" thick aluminum, preferably flat stock. However, I had a bit of scrap extrusion and so I machined mine out of that instead. Both methods would produce the same result.

The zero for the mounting arms is also at the bottom left corner, just like the main block. Once the arms are machined I broke them out of their retaining tabs and filed them smooth. The mounting holes to attach the arms to the main block were then countersunk to accept the 6-32 screws.

Step 8: Cutting the Gasket

This step is optional, as a gasket is not really necessary. Some silicone sealant would be more than adequate for sealing the block, but having a gasket allows the block to be disassembled later on and it looks a lot better than a bunch of silicone.

I decided to use ordinary dollar store craft foam to make the gasket for a number of reasons. It is a rather soft material, and just thick enough to allow it to compress and contour to match the shape of the block and the cover plate, achieving a tight seal. It is also readily available, easy to work with, and rather inexpensive.

Pressing the top of the block into the craft foam creates an indent in the exact shape of the block, and I used this outline to cut out the gasket. It's a lot easier than trying to make a template from the block and transfer the shape, and by using the block itself to mark out the cuts there is a much lower chance for error.

Only the reservoir and four corner holes need to be cut, because the smaller 6-32 screws don't pass through the gasket, so it is not necessary to cut out holes for those. Once the gasket is cut out, I placed it on top of the block to double check that everything lines up.

Step 9: Block Assembly

Now that all of the parts are made, it's time to assemble the block!

I started by cleaning off all of the parts to make sure that there won't be any contaminants in my block. Once I was satisfied that everything was clean, I attached the mounting arms with the countersunk 6-32 screws. After those were mounted I aligned the gasket and the clear cover on top. The 10-24 screws were then used to secure the cover, and the fittings were the last to be threaded in. Refer to the exploded diagram in step 2 for the full assembly configuration.

Step 10: Leak Testing

Hook up the block to a standalone water loop, away from any electronics and preferably in a bucket to catch any potential leaks. I put mine in a large salad bowl on a piece of paper towel so I could tell if it leaked at any point in time.

Let the loop run for at least 24 hours (the longer the better) to ensure that there are no leaks in the block.

Step 11: Mounting the Block

First off, before the PCMR community starts pulling their hair out and posting a bunch of comments, I know that this is a stock Intel motherboard and there's no point watercooling it, but I'm just using it as a model and I'm not actually installing a loop on this board. With that out of the way, let's mount the block!

Fit the 8-32 screws through the mounting holes on the motherboard. Apply your preferred thermal compound and then slide the block over the screws. The screws should fit nicely through the slots in the mounting arms. Thread on the hex nuts until they just barely touch the top of the mounting arms, then snug them up finger tight at opposite corners. Ensure that there is even pressure on the CPU socket and that the block is sitting flat on the surface of the CPU. The block should be tight enough that it doesn't move, but not so tight that it flexes the motherboard and/or the mounting arms.

Eventually I might make a proper backplate for the CPU block, but it's good enough for now. If I ever do make one I'll update this instructable with the necessary steps.

Congratulations, you have just completed your very own custom waterblock!

Please feel free to post any questions or comments that you might have down below.