The mill itself is a Shapeoko 2, with the stock rotary tool, motor control board, and Arduino removed, and replaced with other components.

The cheap generic rotary tool was replaced with a Black and Decker RTX-6 which is much quieter and seems to bend less under stress. I also have a DeWalt DW660 for more heavy duty jobs, as it can accommodate quarter-inch diameter bits. Currently fitted is the RTX-6, with a collet for 0.125 inch diameter tools.

The motor control board was replaced with a Protoneer CNC shield for Arduino, onto which I placed StepStick DRV8825 motor drivers with heat sinks. This was chosen because the stock motor controller drove the dual Y axis motors with one driver chip, effectively halving (and not necessarily evenly) the current to each motor. In this configuration I can have separate drivers for each motor, as the board allows me to branch the control signals to a second channel. This is important because the slide is just an aluminum extrusion, and varies in dimension. There are areas of higher friction where it is wider, requiring more current, and these areas are not matched side to side. Separate chips can handle instantaneous relative current maxima nicely. There is a small cooling fan fitted to the assembly.

The Arduino was replaced with two Reactrons, which are just Arduino clones in a small form factor, with SPI flash memory chips for onboard file storage. The first one (closest to the output) simply runs GRBL. The second one has a HopeRF radio, and integrates into the Reactron network. The electronics are mounted to the X axis frame, in order to eliminate cabling - the only cable that needs to be remoted from the device (and therefore requires dressing and management) is the power cable. There are no data cables, and only motor power cables emanate from this area, to the motors.

The RF Reactron can accept various commands from the network, including proxying G-code commands to GRBL from outside sources. However, it can also accept G-code files which it can buffer to its onboard flash memory chip, and directly transmit later to the GRBL controller, for completely self-contained operation. I prefer the latter, because it keeps the RF utilization down. I have considered remoting this one system to a different frequency to avoid collisions with the generalized Reactron network communications. This runs on 915MHz, but I also have my older and now less important things running at 433MHz - I may move it to that at a later date.

One advantage of the two-Reactron setup is that one can concentrate entirely on running standard GRBL, not a custom fork, and the other can do a lot of other custom things, without introducing any new bugs into GRBL. The RF control Reactron keeps tabs on where GRBL thinks it is, and can also store machine positions on its flash memory chip. This enables easier tool changes, and software-based range limiting. (The Shapeoko 2 does not come with hardware limit switches.) I intend to add hardware limit switches at some point in the future, but for now, I just do it in the embedded software. One problem with this is that power interruptions or GRBL controller resets for other reasons mean a manual homing procedure, but once it is set up, it just runs. Still, I would like to add homing and limit switches. GRBL does not distinguish between these two, so when I get to it, I will run them to the non-GRBL controller and add my custom logic there, and simply command GRBL directly.

There are other advantages to the wireless setup. No PC need be connected directly to the mill. This means that monitoring the process may be done remotely, in less noisy and dust-free conditions. The small embedded boards get dusty but they are easily cleaned with compressed air periodically. It is much better than having a laptop fan get caked up with milling dust.

Another advantage is the Reactron network itself may be leveraged with voice controlled nodes. For instance, if the word “stop” is recognized above a high threshold volume (i.e., you screamed it), a sequence of events can be triggered. The GRBL controller may be commanded to stop, and then a modified UPS can shut down the motor drivers and spindle. The idea was originally to have a way of doing an emergency stop, in case you cannot see the main power switch due to the milling shards you got in your eye just then - or whatever reason. Screaming out loud is a large target - the small lighted power switch is a small target. With today’s level of speech recognition, on inexpensive computers, this has become possible. Further granularity of commands is possible - if you choose the keyword “halt” instead of “stop”, you can apply a different set of rules, such as pause the machine and de-energize the spindle, but not the motors, so they hold their position exactly. (You can then "resume".)  All configurable. This will be covered in the Reactron project - this is less about the mill itself, and more about how the system leverages the simplistic interface of the mill.

The mill has attached to it a copper tube (ductile, aimable) that is pointed at, and travels with, the tool end. On the opposite side of the tool is a flexible vacuum hose. The copper tube will deliver a short burst of compressed air periodically, to clear dust from the area. This is actually done my another Reactron attached to a solenoid air valve connected to a compressed air tank. 

In this picture the mill is busy working on a grid of variable resistor encoder contactor boards for the OWI-535 Robotic Arm. Here is another picture with the board grid completed:

Missing from both these pictures is an adjustable scoop on the end of the vacuum hose - I took it off so you could see the tool and workpiece better.

The air tank is sufficient as only very short bursts are required, and then you don’t have compressor noise on top of the milling and vacuum noise. This doesn’t warrant a separate project description, being so simple. Here is a photo of the tank and valve.

The vacuum scoops up most, but not all, of the dust. The vacuum has another function, it keeps the enclosure cool. Cool air from the room is pulled into the enclosure, and is sufficient airflow to not require a separate ventilation fan. The enclosure also contains a temperature probe, to monitor air temperature above the motor drivers.

An endoscope is attached to the tool end, giving a magnified picture of the milling operation. It has another benefit, that being tool alignment. In the case of the inevitable tool crash, the spindle may bend (much more so with the generic rotary tools). With an end mill rotating, it is possible to detect the amount of bend, because the stationary bit will be so many pixels wide, and when rotating, if bent, it will be much wider. It is then possible to rotate the end mill by hand to see how many pixels to the left or the right the bit travels, and when held at one of the maxima, a box end wrench can be put around the collet and a large force applied to bend the thing back. That force is much larger than the ones encountered in normal cutting, but can occur in an unexpected tool collision. A compensatory force allows you to continue to use the same spindle a few more times at least.

An LED is also attached to the endoscope to illuminate the tool. The endoscope came with integrated LEDs, but they are fairly dim. They are sufficient, however to augment the night vision on the web cam. I keep the main light normaly off so as not to heat up the enclosure. It’s just on when I’m changing tools, or peeking in with the webcam and need a little more detail.

The enclosure is a simple box made from rigid insulation foam board, surrounded by another box made from Roxul (plastic encased, as it is quite fluffy and friable). 

Inside the enclosure is a pan/tilt webcam and a light, also remotely controllable, for viewing from anywhere on the network. The enclosure itself really deadens the sound, and keeps all the dust localized. Things can be paused if it becomes too warm in the enclosure, and can be restarted cleanly once the temperature recovers. The whole system can be remotely monitored and triggered, if necessary. As an additional control path, the webcam is also tied into a MiCasaVerde Vera system. This gives me smartphone access, and as much as I shudder to use that kind of interface, it’s there if I need it in a pinch.