UHPC Concrete CNC Frame in Your Garage

by ottermannetje in Workshop > CNC

508 Views, 3 Favorites, 0 Comments

UHPC Concrete CNC Frame in Your Garage

20260815_172244.jpg
20260311_224425.jpg
no_base.png

When building a DIY CNC router, the biggest challenge isn't finding powerful motors, it's achieving rigidity. Standard aluminium extrusions flex and vibrate, leading to bad surface finishes and poor precision when milling metals.

While commercial machines rely on heavy cast iron or expensive epoxy granite, Ultra-High-Performance Concrete (UHPC) offers a massive, vibration-absorbing alternative for a fraction of the cost.

In this Instructable, I'll show you how to cast a rock-solid CNC frame using UHPC poured into simple wooden moulds. To bridge the gap between rough concrete and high-precision linear rails, we'll glue precision-ground aluminium mounting strips directly to the cured frame using a sand-filled epoxy paste.

Note on Photos: Unfortunately, I didn't originally plan on writing an Instructable while building this, so I don't have photos for every single step. Where real photos are missing, I've included CAD renders to clearly illustrate the setup and process instead!

Project Highlights

  1. Maximum Damping: High mass and density drastically cut down on chatter.
  2. Smart Precision: Sand-filled epoxy lets you level ground aluminium plates directly onto raw concrete.
  3. Budget Friendly: Get industrial stiffness without needing a foundry or a massive milling machine.

Supplies


You will need the following supplies:

Personal safety:

  1. Nitrile gloves
  2. Good quality mask (the silica fume in the uhpc mix is no joke)

Materials:

  1. UHPC Concrete Mix: TEGNO cement mix from moertelshop.de (or similar UHPC premix) with required sand, gravel, and fluidizer.
  2. Aluminium Tooling Plate Strips: EN AW-5083 precision-ground cast aluminium plates.
  3. Epoxy Resin: 2-part epoxy resin with a medium-to-slow cure time.
  4. Fine Quartz Sand: Dry, fine-grain sand (0.1 - 0.3 mm) to turn the epoxy into a thick paste.
  5. Formwork Material: Melamine-faced particle board or film-faced plywood (betonplex).
  6. Fasteners & Consumables: Wood screws, 100% silicone sealant, mould release wax, 80-grit sandpaper, and 3D prints or PVC pipes for cutouts.
  7. Solvent: Isopropyl alcohol (IPA) or acetone for cleaning and degreasing.

Tools & Equipment

  1. Woodworking: Track saw or table saw, drill/driver.
  2. Mixing & Pouring: Powerful free-fall cement mixer or heavy-duty mortar mixer, mixing buckets.

Design Overview

entire_machine.png
no_base.png
frame_only.png

I evaluated epoxy granite, welded steel, and aluminium extrusions before settling on Ultra-High-Performance Concrete. It gave me the best mix of stiffness, vibration damping, mass, and low cost.

The entire machine geometry, mould layouts, and internal clearances were modelled and refined in Autodesk Fusion 360 to ensure all parts would fit together seamlessly before pouring any concrete.

I used TEGNO, a premix based on Dyckerhoff Nanodur technology. It reaches a stiffness of around 50 GPa, which is surprisingly close to aluminium (70 GPa), but it damps vibrations far better and costs about 1/10th of raw aluminium stock per kilogram. Homemade epoxy granite was ruled out because DIY formulations usually only hit around 10 GPa stiffness unless you have access to industrial vibrating equipment.

Budget Alternative: If you are on a tight budget or can't easily source special UHPC premixes, a standard shrink-compensated concrete (with added synthetic or micro-steel fibers for tensile strength) will likely work just as well for a DIY build. It may have a slightly lower elastic modulus than UHPC, but the sheer mass and dampening properties will still beat aluminium extrusions by a mile.


Dealing with Concrete Shrinkage

Even low-shrinkage UHPC shrinks about 0.5% during its first month of curing, mostly in the first few days. Casting metal parts directly into the concrete creates heavy internal stress, causing thin concrete walls to crack or mounting surfaces to warp. Following design guides from Durcrete, I cast the raw concrete frame first, let it cure for a full month to finish shrinking, and glued all precision surfaces on afterwards.


Machine Architecture

  1. Fixed Gantry Layout: Inspired by the FS3MG and FS4MG machines, keeping the gantry stationary gives maximum frame stiffness over a 500 x 350 x 250 mm travel area.
  2. Chip Management: Borrowing a feature from the Datron Neo, the base has moulded pass-through holes so chips fall straight into a tray below.
  3. Precision Surfaces: Pre-milled EN AW-5083 aluminium plates are bedded directly onto the cured concrete using a sand-filled epoxy paste.

Mould Making

20251219_232456.jpg
20251219_232501.jpg
mal_base_incl_concrete.png
mal_base_excl_concrete.png
radiusk_print.png
mal_gantry_incl_concrete.png
gantry_excl_concrete.png
mal_gantry_exlc_concrete_partly.png

For the mould, I used melamine particle board. It's cheap, easy to find, and works great for a single-use mould.

I cut all the panels using a track saw and put the mould together entirely with screws—no glue. Screws hold the heavy wet concrete without bursting, and when the concrete is cured, you just unscrew the panels and pull them away easily.

The shape of the mould simply follows the outline of your machine frame, but you need to think about which side faces up:

  1. Choose Your Top Surface Wisely: The top opening of the mould will be exposed while curing, so it ends up very rough. Place your design so this open side ends up on a part of the machine you won't see or mount to. I picked the bottom of the base and the back of the gantry.
  2. 3D-Printed Inserts: For trickier shapes (like the large curved corners on my base section), I printed 3D inserts and screwed them inside the mould. You can also use 3D prints or simple PVC pipes to create internal tunnels for cable routing if you want.
  3. Silicone the Seams: Once everything was screwed together, I ran a bead of silicone caulk along every inside corner and joint. This stops liquid concrete from leaking through the gaps and smooths out the sharp corners so the finished frame doesn't end up with brittle edges that chip off.


Mixing and Casting

20260311_224425.jpg

Mixing UHPC is much tougher than standard concrete because it uses very little water, making it a thick, heavy mix that takes serious power to turn.

I rented a small pan mixer meant for cement, not concrete, for my build, but I would not recommend it. It was way underpowered, and the heavy load actually broke parts on the machine. This forced me to mix in small batches with long delays in between, leading to inconsistent results. A standard free-fall cement mixer or a heavy-duty mixer built for dense mortar will work much better.

Once you follow the manufacturer’s mixing instructions, casting is remarkably easy. UHPC is self-compacting, meaning it flows freely and settles on its own, so you don't need a vibration table or any special tools to shake out the air bubbles. Once poured, leave it alone to harden in the mould for at least a few days before taking the panels off.

Glueing the Mounting Surfaces

20260517_204026.jpg
20260713_230750.jpg
20260713_230952.jpg
20260713_232328.jpg

After letting the concrete frame cure for a full month to finish shrinking, it was time to attach the precision mounting surfaces for the linear rails.


Cutting & Prepping the Strips

I bought a large aluminium tooling plate (EN AW-5083) and cut it into individual mounting strips. Cutting them with a standard track saw and a metal-cutting blade worked surprisingly well.

To get good adhesion, I prepped both materials:

  1. Concrete: I used an angle grinder with a diamond cup wheel to grind away the smooth top layer of cement paste, exposing the rough aggregate underneath.
  2. Aluminium: I applied a thin layer of epoxy directly to the bonding side of the aluminium and wet-sanded it into the metal. Sanding through the liquid epoxy breaks up the tough oxide layer and lets the resin bond straight to the raw aluminium without giving the air a chance to oxidize it again.

Setting Up a Flat Reference Surface

To make sure all the individual strips ended up perfectly flat and in the same plane (coplanar), I used the tape and superglue method to stick them upside-down onto a single large reference plate:

  1. I used a 30 mm thick aluminium tooling plate as my master surface.
  2. If you don't have a precision metal plate, a thick piece of flat glass or a solid piece of stone kitchen countertop works great too.
  3. The flatter your reference plate is, the flatter and more parallel your rails will be in the end.

The Sand-Filled Epoxy Paste

To bridge the gap between the concrete frame and the reference plate, I made a thick epoxy paste:

  1. The Recipe: I mixed 2-part epoxy with dry silver sand (quartz sand) at a ratio of roughly 5:1 sand to epoxy by weight.
  2. Consistency: Stir it until it reaches a thick, peanut-butter-like consistency.
  3. Why do this? Adding sand boosts the stiffness of the glue joint, saves expensive epoxy, and keeps the paste thick so it doesn't run out of the gaps while curing.

I spread the epoxy paste onto the prepped concrete, pressed the reference plate with the attached strips down onto it, and clamped it lightly. Once the epoxy cured completely, I broke the superglue bond, lifted the reference plate off, and was left with perfectly level, ultra-flat aluminium mounting pads bonded straight onto the concrete.

Results & Measuring Flatness

After demolding the reference plate, I measured the flatness and coplanarity across all mounting surfaces. The result came out to 0.02 - 0.03 mm, which is remarkably good for a DIY build done completely without post-machining on a metal mill.

If you have access to a surface plate with a dial test indicator or a machinist's precision level, you can measure your exact variance. If you end up with any remaining error, you can shim the last few hundredths of a millimeter away under your linear rails during final assembly—though dialling it in perfectly takes a ton of patience!

Paint, Drilling, Tapping and Final Steps

Once the epoxy is fully cured, you are left with rigid, ultra-flat aluminium mounting pads permanently bonded to your concrete structure. From this point on, assembling the machine is just like any other DIY CNC build.

Before continuing, I decided to first paint the entire machine frame using some industrial 2k PU paint, so it is well protected against oil, chips and coolant.

To mount your linear rails and ball screw blocks:

  1. Drill & Tap: Mark your hole patterns on the aluminium strips, center punch them, and carefully drill and tap your threads directly into the tooling plate.
  2. Mounting Rails: Bolt down your linear rails using a precision dial indicator or a straight edge to align them perfectly straight and parallel.

Building a CNC frame out of UHPC concrete takes patience, not only while waiting for the concrete to cure but also when things don’t go as planned. It is, however, incredibly fun and the end result is well worth the time.

For a fraction of the cost of heavy steel fabrications or epoxy granite, you get a solid, vibration-absorbing machine base that keeps your cuts clean and your chatter minimal. You don't need a massive metal shop or expensive milling machines to get high-precision mounting surfaces—just a thoughtful mould, a flat reference plate, and a bit of sand-filled epoxy.

I hope this guide inspires you to build your own concrete CNC frame. If you're building a similar machine, drop your questions or photos in the comments below. Good luck with your build!