RiceCNC is a Mac desktop application primarily for controlling CNC milling machines (subtractive manufacturing) but also can be used for control of LED arrays. The application contains embedded firmware for cost-effective but powerful TI LaunchPad micro-controller boards.  The integrated solution controls CNC machines with high precision with the dedicated µP board relieving the host processor of real-time processing considerations.


For LED array control, the TI EK-TM4C1294XL has 10 I2C modules. Up to 62 PCA9685 or PCA9635 LED slave extenders can share each module bus and each extender has 16 PWM output pins. This results in a total of 10 * 62 * 16 = 9,920 LEDs that can be proportionally controlled by RiceCNC.


As micro-controller boards continue to become more powerful and less expensive, cost effective solutions can use multiple µP boards to support virtually large machine configurations. The host computer has unlimited capacity for program storage and now have wireless capabilities to communicate with mobile (iPad) controllers.


The system supports stepper motors using several interface methods. It also supports fixed or variable speed spindle motor interfaces. The firmware supports most motor driver board interfaces having either a step/direction, quadrature or discrete 4 wire interface. The signal levels may be either voltage mode or current-loop. Intelligent 3-phase servo motors having a stepper compatible interface, e.g., thy Teknic “Stepper Killers” can also be used.


The LaunchPad boards use 40 pin BoosterPack connectors that can adapt to motor driver boards having DB25F PC parallel port input or industry standard discrete, e.g., step/direction, inputs. However, some newer motor driver boards using a Serial Peripheral Interface (SPI) are now supported and may be preferable due to the added software configuration and status monitoring capabilities provided by the 2-way communication.


Macintosh Software:

The Apple “Cocoa” document user interface enables a powerful and easy to use machine controller. CNC programs are coded in an RS274-D compatible syntax with extensions to support human readability, program control, math functions and conditional execution. Programs can read and conditionally branch using both digital and analog inputs.


The current iTunes Store release is an inexpensive download using In-App Purchases to support more complex machine configurations.


Release 10.10 documentation


Thanks for your interest!

Bob Rice

Machine Control

for Macintosh