Gomi – scrapmetal cnc

  1. Intro
  2. Construction
  3. Electronics


Back in 2012 I was coming up with the idea of building a CNC machine from scratch. The maker scene wasn’t as big back then and the 3d printer revolution hasn’t happened yet. But since I had hardly any money back than simply buying one wasn’t an option anyhow… So my idea was to build the machine mostly from junk lying around at my stepfathers workshop. This is also what inspired the name “Gomi” which basically means waste in Japanese.

Using junk as much a possible means no new aluminium profiles, no fancy new linear guidings, no new frequency inverter, no breakout boards, no stepper motor control boards… actually, nothing already finished at all (and if, only for a good deal). Junkdealsers and flea markets are what you’re aiming for.

If you’re going to collect parts from those sources you can’t expect to gather all the necessary parts within a couple of visits. All the stuff you’re going to see was acquired over a period of at least two years. Visiting various scrap merchants and markets all over Vienna (which has an amazing repertory of flea markets btw) really made me realize how much perfectly working, useful and sometimes extremely expensive stuff gets thrown away. In some deals I’ve paid less than 4% of the original value. I’ve seen heavy machinery worth thousands and thousands of Euros being sold for less than the steel price it was made from (e.g. a couple of 7m long lathes from an Austrian steel concern). Let’s start by showing off some of the materials I gained.

One of the first things I was grateful for was finding a solid ground plate to mount pretty much everything else on. It’s a casted aluminium plate, about 50x25cm. The same day I also got a 25mm thick aluminium heating plate which looked suitable as basis material.

Also from a scrap merchant is the following linear guiding. Originally it was 3m long and had three bearings. The ball screws and matching bearings are one of the few things I’ve bought new on ebay. They already made up about half of my whole budget with 230€. To save on the linear guide for the small z-axis I also bought a 16mm linear bearing which will run on 1.2210 steel and substitute the heavy duty guiding.

On the electronic side of things I was able to dig up a milling spindle (actually used for dental stuff) for free and a Control Techniques – Commander SE VFD for 150 bucks. Not an amazingly good deal on the VFD, but since the spindle needs up to 7A I’ve needed quite a powerful one… As I learned later the hardway the friggin thing wasn’t able to power my motor. I’m still not sure why since it should easily deliver the 7A, but apperantly the combination of very low voltages (~10V at the lowest frequency) and high currents drives the VFD I bought into an error mode. On the positive side the companys service is amazing! That thing is probably +15 years old but the guy from my countries service desk did really know his stuff. Anyway, I came up with another really really amazing time consuming idea! Lets built the VFD from scratch! Further details can be found in the VFD article.

As you can see spending some time on scrap yards and flea markets was pretty much worth it. Of course this wasn’t all the materials I actually used. I bought a couple of smaller aluminium plates here and there, different profiles, and some of the stuff I already had lying around at home.


Not starting from scratch but already having certain materials you’re bound to makes work a lot harder. I had to come up with a design for the portal. My stepfather had a pretty good idea on this, which could be done with using only the aluminium heating plate. Those two parts are building the “bridge” of the portal.

Sawing and milling those parts turned out to be harder than I thought because of the high viscosity of the heating plate. The finished parts got a surface treatment with a messing brush.


Right before I started mounting the linear guidings and the pillar parts to the ground plate I milled the first motor mount and checked that there was enough space for the x-axis bearings.

Then it was time to set up the portal on the ground plate. In order to do that I started mounting the cut to length linear guides to the sides of the plate. Working with linear guidings for the first time I quickly discovered that the holes in the guiding tend to be 1mm larger than the actual screw it was made for (e.g. my linear guiding had 9mm holes for M8 screws). I guess that amount of clearance is made for adjusting the whole thing before finally mounting it. So I used a dial indicator for precise positioning before I shot two bolts through the guiding into the plate on each side.


4mm bolts finalized the process and fixated the first axis.

Pretty much the same thing had to be done for the transverse axis.

We are a couple days work in by now and the project takes form.


The following couple of days sucked a lot. Our workshop got flooded because of a surge some local work on a waterpipe caused. Since a god damn celling pipe broke the water splashed fountain-like all over the cellar… Although we cleaned everything to the fullest within two days we couldn’t safe everything from some surface rust. =/
Anyway, followed by our little disaster I started working on the height axis. Since using a linear guiding for the, just a couple of centimeters long z-axis seemed a little overkill, I decided to take a different approach. I ordered a 16mm linear bearing on ebay and 16mm diameter silver steel (1.2210) to act as rail. Silver steel is expensive as f*** btw…

Since everything went too smooth till now I decided to drop the finished turned axle on the ground. Well… ok, it fell, but guess what, the axle got a little hack from the fall, which is directly in the way of one of the running balls of the linear bearing. Brilliant.

I placed the second axle I turned in a box, just in case. For the mount I turned a little block and cut it in half. I also created a plate which will hold all the bearings for the ball screw, the mount for the axle and the connection to the larger ball screw from the y-axis.

You can see the pretty much finished plate on the next couple of pictures. To level the ball screw nut and the linear bearing I’ve used a thickness gauge. I also just realised, that german is still my favourite language when it comes to naming mechanical stuff. A thickness gauge isn’t just some “gauge” for us… There are special words for everything.

Adding more and more parts the whole construction started to become kinda heavy. So I decided that the next steps must include a pedestal to increase the overall stability. Nothing too fancy, it’s just a 40×40 square tube. The screws for mounting the whole thing were sunk into aluminium tubes.

Looking at the last two pictures it it doesn’t go without notice that I also created the first motor mounting plate for the longest table axis. Honestly I didn’t pay too much attention on where to place the motors. Since the one for the x-axis you can see on the picture later on only misses a moving linking sheet of the portal by like 2mm I consider myself rather lucky…

Time for a little overview again.


The next step was to create some muffles as connection between the flanges of the ball bearings and the linear guidings. Made three of them and another day was gone… To my defense they are rather complex though, at least for what I consider “complex” when milling and lathing.

After the blocks were done I started linking the ball bearings and the linear guidings with blank sheets and other constructions. I’ve created a bent sheet between the two pedestals and the muffle mounted on the ball screw. That was the sheet I meant when I talked about how close it fits beneath my motor…

While this was straight forward linking the actual portal (y-axis) with the z-axis proved more difficult. The ball screw for the z-axis and the linear guiding are not exactly aligned. One sits with its back to the other one. Another aspect is that we now have to create a motor mount which actually moves around and preferably also sits at the back of the linear guiding. So what I came up with is to create some kind of “L”-shaped cage which could hold the motor and connect the ball screw with the z-axis and mounting plate of the spindle. I started by creating the sheet which holds the motor and then milled the “cage” which links the whole thing with z-axis.

The rectangular hole in the top should fit the motor. The extra sheet was necessary to bring the motor shaft and the z-axis ball screw to the same level.

Since fitting 6mm screws into a 8mm hole (the ones in my guiding…) is a struggle I had to lathe these little ball bushes to fit my spindle mount to the linear guiding… A rather small problem, still time consuming.

Now I know my idea with the cage and all might be a little hard to grasp right now, but just keep browsing the next pictures which show the whole assembled thing. The plastic sheet was used in order to create a stencil for the holes I needed to drill. Many… many holes.


I love how the frontplate of my cage (= the spindle mount) already looks like swiss cheese and how I got a lot of screws to place…


Another motor mount for the y-axis. This was made from the last… lets call it debris of my heating plates.


I know that self-praising sucks, but looking back at that day I must say that this was probably the most productive day of my entire life so far. Funny thing though… that was in September 2012 and I back then I had thought… “hey, I’m almost done!” Turns out I’m not even half way there yet, but let’s continue shall we? With the ball screws and the guidings finally linked the mill now actually looks like it could work some day.


What’s still missing to this point are drive belts and gears. I ordered mine from a Czech company called TYMA. They carried the three 5M belts and gears for like 1/10 the price I would have paid in Austria…


To level the z-axis motor and it’s corresponding ball screw I had to hollow one of the gears a bit, no biggie.


For some reason I didn’t take pictures of the belts alone, but I guess you know what a belt looks like. Since I didn’t want any troubles with belts running away from the gears I but plates on every single one of them. The gears itself respectivly got fixed with setscrews.


To make the setscrews do their job I drilled a little hole into each motor shaft. This was actually kinda sketchy… Drilling on a completly round object ain’t fun, even with a post drill.


After that I started mounting the steppers I wanted to use together with the gears and belts.


Alright, so if you know a thing or two about gears, belts and drives you probably know that usually you need a tensioner in order to achieve the right amount of… well… tension. If you know that, good for you, I didn’t. Lucky me I had the x and z-axis of my builds calculated estimated so precisely that I only had to re-do my y-axis and adding a tensioner. So what I came up with was this… thing. It’s a bearing on a stick… with a thread… kinda.


Mounted that thing looks like that… The slothole allowed me to finally tension the belt the right amount. Before using one the belt was tightened so firm that the stepper wasn’t able to move it at all.