User Tools

Site Tools


PCB Mill

Make the pixies go down the right path.

Status PLANNING as 2018-12-03
Training YES (see below)
Hackable NO
Usage Restrictions Members Only
Owner Vancouver Hack Space
If it Breaks Turn off. Put a BROKEN sign on machine. Notify forums immediately; update this wiki.
Loan Status (will be) Owned by VHS
Arrival Date Planning
Location N/A
Champion See Compendium of Champions


Be safe; safety procedures will be similar to other automated rotary machines (such as the Taig)


The design is currently underway, but it is likely to be a CoreXY machine and may re-use the Sherline spindle/z axis.

Getting Involved



The xy gantry will be made in a CoreXY style. The Z will likely be pillaged from the Sherline Mill. The grantry will be prototyped in acrylic or any readily available material. The design should support both NEMA17 and NEMA23 stepper mounts in case upgrades are made at a later date Some materials are being provided, but there are gaps, see forum post for latest.


The controller will be based on a Raspberry Pi. The Pi will be running Raspbian and will be running some form of gcode sender.

So far it looks like we are going to use cnc.js. It allows the Pi to not run an X environment, and allows you to run via a webpage, the controller on your own laptop. This way you can use a familiar machine and we can reduce hardware requirements and keep the build physically small and cheap.

We still need: An Enclosure A Keyboard (preferably debris-free such as a sealed rubber keyboard) A Screen (preferably a smallish touchscreen) An Enclosure


It looks like cnc.js has methods for extending it via plugins. One downside of cnc.js mentioned by LukeC is that the jog is not mach-3 like where you can hold it.

This project uses a PS3 and based on the code:


Configuration Documentation

Mostly this setup was followed:


There is no physical security for this device, therefore, the credentials are physically on the device. Use if necessary; but please document changes.

There are no credentials on the cnc.js service; so normal operation need only go to the website.


The web service is simply started with a crontab @reboot declaration as follows:

@reboot PATH=$PATH:/home/pi/.nvm/versions/node/v6.15.1/bin /home/pi/.nvm/versions/node/v6.15.1/bin/node /home/pi/.nvm/versions/node/v6.15.1/bin/cnc » $HOME/cncjs.log 2>&1

There is also a portmapping from 80 to 8000; cnc.js runs on 8000 locally and translates external requests from external 80 to 8000.

tool/pcb_mill.txt · Last modified: 2018/12/05 07:46 by mike