Category Archives: Puck Mill

Engraving hockey pucks at the Ottawa Mini Maker Faire 2013

Wow, what a busy weekend we had, cranking out puck after puck for two days. I had purchased about 150 pucks before the faire, but had to puchase another 100 pucks Sunday morning on the way to the Faire.


The puck mill had created about 15-20 pucks before the faire – test pucks as I was calibrating the X and Y axis, and setting the Z height. But, from the second the Faire started, until it ended, we were continually carving names into pucks. The machine literally ran non-stop – as quickly as we could swap new pucks into the machine, it would start carving again.

So, over two days, we created 300 pucks in total – that’s 300 puck designs, and 300 toolpath G-Code files, and then sending them all to the Planet-cnc controller to create the pucks. Our copy of Vectric V-Carve Pro was really put to the test!

Related Images:

Wiring up the controller for the Puck Mill

Wiring up the controller for a small CNC mill such as this always takes longer than I expect. I start by laying the components out on the work bench – to determine how big a box will be needed.

Controller Components Laid Out

This gives me a feel for the size of the box, and the location of the components (not as shown above).

I made the box using my laser cutter – just a plain rectangular box, with nothing fancy.

The electronic components laid out on the laser cut box

I then mounted the components in the box, with short stand-offs, so there is air space between all the boards and the box.

Power distribution is always a challenge, and I’ve ended up using a rather pricey solution of DIN rail power blocks. These are extremely handy, and quick to wire up. Nice.

Controller Components


I kept the box sides off for most of the assembly. I wired up the back panel items first – soldering the wires into the DB9 connectors for the motors, and the limit switches, and connecting the 115V power input, circuit breaker, power switch, and the output connector for the vacuum. Also, the spindle power. I tried to use different connectors for most items (such as the spindle) so that it would reduct the problems that could occur if one was plugged into the wrong connection.

I wired up the 115V power stuff first – getting the thicker wires set for the power to the 3 power supplies, and the wiring for the vacuum wired up to the relay board.

I then worked on the higher current stuff – the spindle output (also through a relay), and the power to the motor driver boards.

And, then the wiring of the 12V power to the relay board, and fan. This used a small 12V power supply that snaps onto the DIN Rail.

Finally, I wired up the motor outputs, and the connections to the control panel, and the relay board – the relay connections went through a couple of switches on the font panel, so I can override the vacuum and spindle – turning them ON, OFF, or AUTO – under control of the CPU board. The Vacuum is wired into the Flood output on the board – so I simply have to make sure that the G code generated includes the M8 and M9 commands to turn the Flood coolant on and off.

Astonishingly, everything ran perfectly when I powered things up. The motor drivers have all kinds of warnings about powering them up without a motor connected (which is a bit worrisome – are they that delicate???). The spindle didn’t work at first, but I finally realized that the speed control was set to its lowest setting – not enough power to drive the spindle motor!

And, on to the next step – calibrating the PC software which drives the Planet CNC board.


Related Images:

Design process for the CNC Puck Mill

The Puck Mill was designed to be quick and easy to build, and to use generally available components. I was intrigued by the MakerSlide available at, and wanted to see how that could be used. I looked at a number of existing designs using this product, and decided to try for something simpler. I also wanted to make use of some existing hardware I had lying around – some Nema23 motor mounts, and some acme thread rod. I'll put together a list of all the parts I used, as well as those I fabricated. My design uses one 4 foot section of makerslide, which is pretty convenient.

For me, the first part of designing the router is to sit at a table with the components I have, and think about the design – holding pieces together, imagining the design, thinking about clearances, and the range of movement. I think about the sub assemblies, and try to fit each together, with the pieces I have.

I can identify the missing components, decide what to order, and what to fabricate.

The next step is to put together the design using CAD software. I use RhinoCAD for this, since I use this for many of the CNC projects I create. With Rhino, I create each piece, or subassembly, as a separate drawing, and them build a complete drawing by importing all the pieces. Rhino is smart about this, and will update the drawing if any of the component parts change. When using existing components such as MakerSlide, bearings, motor mounts, Nema motors, etc, the drawings are only available as 2D DXF files. Fortunately, these import into Rhino accurately, and are easy to extrude into 3D objects. Over time I'm building a library of components, so it is simpler to build a mockup of the machine.

Next, in Rhino, I design the custom components that are required to connect the “store bought” components together. It is easy to fit these into the design, and adjust the holes to match the existing parts. I can also check clearances and the range of movement of pieces. This is where I miss having a true simulation capability, that understands the constraints of each piece. There was a Rhino plugin for this, but is seems to be abandoned.

Next, I take the custom components and add dimensions to each piece I need to make. This is generally in inches or metric (or a combination) depending on the piece. I try to find a way tousle my existing stock of aluminum plates and angle to build the parts.

Now, comes assembly, where I try to fit the parts together. I'm usually pleasantly surprised how well everything comes together at this point.

One place I've had trouble in both of my CNC designs is the limit switches. I've never included these in the design, so I've had to sort of fit them in as an after thought. Having done this twice, I've learned to try to fit these in at the CAD stage, for my next design.

Once the mechanical design is complete, I have to tackle the electrical components. For the Puck Mill I wanted to use a USB based controller. I chose to use the fairly well regarded XXX controller. I ordered a controller, relay card, stepper drivers, and power supply from the one source. I also ordered a custom jog control keypad. It turns out that this controller doesn't need Mach3 – it is all managed in the controller, and in a custom app that runs on the PC.

For the spindle, I chose a small Chinese spindle, with a ER16 collet, and a variable speed (voltage) power supply.

It always astonishes me how much effort it is to wire up a controller, power supply, and all the wiring for the limit switches and motors. It is quite complicated, with a variety of power supplies, quite a bit of 110V wiring, and a ton of wiring to connectors. The wiring goes very quickly from orderly, to a big mess! It is important to design this, and really think about the routing of the wires, and the design of the controls and panels and cut outs.


Finished the hardware for the Puck Mill

Another update on the puck mill. The hardware is now complete, pretty much, and the wiring is left. This will take a few days.

iPhone 4S 331-600

I’ve added X and Z axis limit switches now. The Z axis only needs an upper limit, but the X and Y need both + and – limits.

iPhone 4S 332-600 iPhone 4S 333-600 iPhone 4S 334-600

It’s not super clear, but there’s a limit switch behind the spindle motor, that’s activated by that aluminum bracket.

iPhone 4S 336-600 iPhone 4S 338-600

This is a detail of the belt assembly.


Progress on the CNC Puck Mill

I’ve been working a couple of nights a week assembling the CNC puck Mill. It’s a small CNC mill with a work area of about 5 inches square. I’ve tried to use Makerslide, and components available from for as much of the construction as possible. I’ve only machined small adapter pieces, and things like the belt holder, and limit switch arms.

iPhone 4S 316-600



Overview of the CNC Puck Mill

iPhone 4S 319-600

iPhone 4S 318-600


You can see the belt drive installed here on the Y axis

iPhone 4S 317-600

The electronics are laid out on the bench. Thinking about how to house this stuff.