The hardware uses BeagleBone Black as the CPU. To make a reliable machine, I wanted to use seperate power supplies for the motors and CPU. I designed a cape called Optocape for the job. Optocape is open source. You can buy one on Tindie.
Optocape includes isolated input/output hardware, along with an LVDS serializer for a LCD touchscreen. It's a great choice for any mid-sized equipment with big motors and a touch screen.
BeagleG is a bit of open source firmware installed on BeagleBone, allowing the machine to interprite G code and control the motors. The BBB PRUs are utilized for signal generation, so there is no risk of the CPU freezing while motors are moving. It also means plenty of computing resorces available for attractive graphics and touchscreen.
BeagleG runs from the shell, so I was able to write several scripts for various technical procedures. For example, when loading a new piece of material, it is necessary to "touch-off" the endmill on the workpiece, and set this position as Z = 0. I wrote a script to make this process easier, and it is activated by an F key on the on-screen keyboard.
The front panel includes two USB type A jacks. I use my desktop PC to write G code files, then transfer them to the machine via flash drive. A script actived by F key mounts the flash drive, loads the G file, and prompts for additional parameters.
Also on the front panel is a USB type B jack, connected through an FTDI interface to the BBB Serial Debug port. Software updates and customizations are easy over USB SSH.