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”...

Read more »