Release 11.1 8/5/2017

This is a major release adding preliminary support for 5-axis machining.

To prevent the PDF documentation file from becoming large and unwieldy, the documentation has been divided into several smaller documents. PDF documents can be opened from the main menu help menu which furthers acts as an index. The html documentation of supported G and M codes has been removed from the CNC document in favor of the PDF versions.

RiceCNC has long supported up to nine independent axes, however, 5-axis machining generally refers to the ability of a machine and software to bring a cutting tool to any point on a object at any angle. There are excellent illustrated guides to 5-axis machining available on the internet, so only a brief introduction is provided here.

Five axis machining generally requires the machine to have three linear axes, usually the three orthogonal machine axes, plus two rotational axes to change the angle of the cutter relative to the work. The rotational axes may be fixed to the table, e.g., a cradle and turntable, or on the spindle axis, or a combination of the two.

As the relative angle of of the cutter is changed, the machine position must be moved to maintain the position of the cutter relative to the workpiece. Generally the computations to do this would be too complex for CNC programs. Therefore, 5-axis software needs to have some knowledge of the machine configuration, i.e., the kinematics.

This release adds vector and polar transforms to support machine kinematics. The transforms can describe the interactions of the five axes. Both vector and polar transforms can be configured interactively or by CNC programs. Refer to other guides for more information on this configuration.

The new vector and polar transforms duplicates and obsoletes much of the functionality provided in previous releases. Some of the obsoleted functionality has been removed, other functionality is deprecated by maintained for compatibility. Other functionality has been temporarily removed but will reappear in future releases in a different form.

In particular, the “Coordinate Transformation Matrix” has been removed effectively being replaced by vector rotations. Vector transforms are both more flexible and more intuitive to use. C codes for manipulating the CTM have been removed being replaced by G codes for configuring and rotating vectors.

The Path Wizards have also been removed for this release. The pocket machining wizard functionality may reappear in a different form, i.e., Bézier surfaces.

Vector transforms enable drill cycles to drill at any angle rather than being restricted to an orthogonally aligned axis. The orthogonal plane selection G codes remain supported for compatibility but are now deprecated.The “Program Position Mode” has been removed effectively being replaced by vector transform positions. The new non-modal solution enables CNC programs to reference vector transforms and axis names directly in the same move or feed command.

Polar transform can calculate cartesian coordinates given a polar center and polar coordinates and vice versa. However, polar transforms can also generate circular arcs and are easier and more flexible to use than the circular arc G codes G02 and G03. These G codes remain supported for compatibility but are now deprecated. Polar transforms can generate circular arcs with any axis orientation.

Axis, vector and polar transform references can be freely mixed on move (G00) and feed (G01) commands. This added flexibility makes relative coordinate addressing mode more convenient and it is now the default.

The path view now displays a grid to indicate scaling and also displays Bézier control points and path direction.

Release 10.15 6/19/2017

UI: Adds a Path View child window to the CNC document window. The view is an orthogonal view of the X and Y coordinate tool movements and is redrawn automatically by the "Dry Run" or "Run" document buttons. Other path view contents and view angles will be added in future releases.

Performance: Faster host command interpretation. More compact XML files..

Release 10.14 6/11/2017

Major UI update: Deprecated NSDrawers are replaced by child windows. Child windows move and hide with the parent document window to indicate the logical association. Separate windows are easier to arrange enabling more efficient screen area usage.

Bug fix: Auxiliary controls not working..

Release 10.13 6/6/2017

UI: Moved auxiliary control buttons to a more accessible StackView on main window.

Autonomous: Autonomous extended to LED control applications. Pause is now recordable. Added a repeat counter for stored program execution..

Release 10.12 5/25/2017

UI: Numerous contextual help buttons are added to the UI. Pressing a help button will add a scrollable textview below or near the button. The information duplicates much of the information available in the PDF documentation but is presented in a more convenient manner.

Bug fixes: Spindle configuration, analog pin assignment, reset timer.

Release 10.11 5/13/2017

  Autonomous operation: The desktop client can now monitor the progress of a program being run from internal memory.

An idle timeout reset is added as a power saving feature to stop motor power when the system is left idle for a period of time.

Startup initialization bug fixes.

Release 10.10 5/7/2017

  Autonomous Operation: You can now store up to 16 CNC programs in processor internal memory. Each program is stored in a block along with the machine configuration at the time of the recording. Once stored, programs can be selected and run multiple times using only the switches on the µP board with no computer connection required. The 6 KB EEProm remains available as block zero, but other blocks are each stored in a 64 KB flash memory sector. Four blocks are reserved for CNC program storage in the smaller TM4C123GXL.

A watchdog reset timer is added to automatically reset the processor in the event of a crash.

Release 10.9 4/30/2017

  Autonomous Operation: You can now store a CNC program along with the machine configuration in EEProm. Once stored, the program can be run multiple times using only the switches on the µP board with no computer connection.

Prior versions could run only in a desktop client and µP server mode. Future version will enable multiple CNC programs to be stored on the board.

Release 10.8 4/8/2017

  UI/Usability: Simplified drawer opening for the main window. PopOvers are replaced with three labels, Jog, Setup and Path Wizard, that can be dragged in the direction of a window edge to open a drawer on that edge.

Added a "Abort and reset" option to firmware error handling upon loss of communication from the host. This will decelerate motors before resetting the µP.

Added "fine tuning" parameter settings for the new interpolation algorithm. Users can safely use the defaults or experiment for improved performance.

Bug fixes: Group slave addressing for NXP I2C extenders. Periodic reporting interval.

Release 10.7 4/4/2017

   Performance: I2C device communication is now accelerated using interrupts, burst mode (hardware FIFO registers) and round-robin dispatch. This enables all ten I2C modules to be communicating simultaneously and it enables devices on the same module to keep the bus busy. This will be especially useful for LED light array applications.

Miscellaneous bug fixes.

Release 10.6 3/27/2017

   Performance: More accurate interpolation algorithms reduce off-tracking on curved paths especially at higher feed-rates. The previous algorithm allowed motors to lag the interpolated target positions sufficiently to stop without overrunning the target if the interpolation stops suddenly. The new algorithms couple the motor positions to the targets much more closely. To stop the motors, the interpolation is decelerated synchronously with the motor deceleration.

Release 10.5 3/23/2017

   Performance: The firmware now recognizes new path segments as continuations of a previous path if the multi-dimensional bend is less than a configurable minimum angle. Continuations are optimized to be seamless with the interpolation engine stepping immediately into the new segment and conserving motor momentum.

Bug fix: A timing issue could generate incorrect coordinates for circular paths.

Release 10.4 3/17/2017

   CNC programs can now address I2C slaves directly. This enables the application to be used as an LED lighting array controller. The EK-TM4C1294XL µP has 10 I2C modules each supporting up to 62 PWM slave extenders. With each extender having 16 outputs, the total number of proportional outputs controllable by one µP is 9,920.

Group slave addressing is now supported for the PCA9685 and PCA9635 PWM extenders. Group pin addressing is now supported for the PCF8575 and MCP23017 binary output extenders.

Fixes a bug closing drawers.

Release 10.3.1 3/10/2017

    Bug fixes: New Machine document initialization; improved window handling.

Features: Pins window changed for outline view to view-based table.

Release 10.1 3/8/2017

    Adds support for I2C connected slave devices. Initially six slave ICs are supported: The TI DRV10983 is a 24V 2A sensorless 3-phase motor driver; The TI DRV10975 is a 12V 1.5A sensorless 3-phase motor driver; The PCF8575 is a I/O extender with 16 quasi-bidirectional pins - outputs are open-collector only; The MCP23017 is a  I/O extender with 16 bidirectional pins - output is bi-polar or open-collector; The PCA9685 is an output only extender with 16 pins either On/Off or 12 bit PWM at 1500 Hz. The PCA9635 is an output only extender with 16 pins either On/Off or 8 bit PWM at 97 KHz.

The TI DRV10983 and DRV10975 have a EEPROM to save motor parameters. RiceCNC can be used to configure and test motor parameters, then the chips can be moved to a different system. I/O extenders are convenient for system design by requiring only a 4 wire connection to µP board, i.e., clock, data, power and ground. They can also boost output voltage from 3.3V to 5V. The PCA9635 may be fast enough to use for motor commutation.

RiceCNC 9.37.dmg

Release 9.37 3/24/2016

    Bug fixes:

Motor overrunning target position, optional execution, spindle speed.


Improved 3-phase spindle driver. Still preliminary but able to run at 1000 rpm while performing circular interpolation.

RiceCNC 9.36.dmg

Release 9.36 3/23/2016

    Bug fixes:

Improved algorithm to stop motors at target interpolation position without overrun or oscillation.


Added support for the high speed Quadrature Encoder Input (QEI) counter.

    Three-phase motor driver logic is improved but still preliminary.

RiceCNC 9.35.dmg

Release 9.35 3/14/2016

    Bug fixes and efficiency improvements.

    Adds preliminary support for 3-phase motors with optical feedback but his support targets the new and much faster “C2000 LaunchPad”. Hall sensor logic is deprecated as the sensors lack the accuracy required of a position feedback device.

RiceCNC 9.34.dmg

Release 9.34 2/16/2016

    UI: Improved pin assignments

    Improved hall sensor phasing.

    Efficiency improvements.

RiceCNC 9.33.dmg

Release 9.33 1/30/2016

    This release extends the license period for the 1 month subscription to 2 months and extends the license period for the 1 year subscription to 2 years. This effectively reduces the annual subscription cost for a three axis machine to $19.99. This change will apply retroactively to current subscribers. The product descriptions will be updated with the next iTunes release.

    Adds to option to connect the spindle controls to any positioning axis. This is particularly useful when the spindle is a BLDC motor.

    Misc bug fixes.

RiceCNC 9.32.dmg

Release 9.32 1/13/2016

    Bug fixes:

        Initializing limit switches.

        Initializing spindle pins.

RiceCNC 9.30.dmg

Release 9.30 1/12/2016

    Fixes prior bug requiring separate installation of libusb.

RiceCNC 9.29.dmg

Release 9.29 12/29/2015

    Improved WatchDog time handling. Fixes bug with µP resetting if main thread is held busy.

    Improved efficiency of serial monitor window.

Note: This release requires libusb 1.0.20 to be installed at the standard location /usr/local/lib/ocoaLigature0 libusb-1.0.0.dylib. This will be fixed in the next release.ocoaLigature1

RiceCNC 9.28.dmg

Release 9.28 12/22/2015

    Removed requirement for separate installation of the open-source lm4flash flasher utility. Coding based upon lm4flash is now built into the application.

    Increased BLDC motor micro-step resolution to 1/64.

RiceCNC 9.27.dmg

Release 9.27 12/18/2015

    Improved support for Pulse Width Modulated (hardware timer driven) outputs.

Increased BLDC motor micro-step resolution to 1/32.

RiceCNC 9.26.dmg

Release 9.26 12/10/2015

    Increased security in El Capitan prevents the app from running the flasher utility automatically. This release will output instructions to run lm4flash using the Terminal application until a better alternative is developed.

RiceCNC 9.25.dmg

Release 9.25 11/29/2015

    Updates documentation.

RiceCNC 9.24.dmg

Release 9.24 11/29/2015

    Increased BLDC motor commutation resolution to 1/16 sinusoidal micro-stepping.

RiceCNC 9.23.dmg

Release 9.23 11/24/2015

    Soft PFM interrupt running up to 400 kHz for quieter BLDC motor commutation.

    BLDC motors now running up to 4,000 RPM with 1/4 sinusoidal micro-stepping. Smooth running at slow speeds.

RiceCNC 9.22.dmg

Release 9.22 11/22/2015

    Adds preliminary support for three-phase BLDC servo motors using the new TI BOOST-DRV8305EVM high power driver board. This release can run BLDC motors in half-step open loop mode - jerky motion. The next release will run BLDC motors using sinusoidal micro-stepping.

    Adds a soft PWM output generator enabling PWM output from any GPIO pin. The TI processors have a limited number of output pins having PWM hardware support. The soft PWM output generator gets around this limitation, but the output is noisier due to running at audio frequencies.

RiceCNC 9.21.dmg

Release 9.21 10/23/2015

    This release reformats the Axis portion of the Machine XML document. You will need to reconfigure axis parameters and pin assignments.

    Additional preliminary UI coding for both brushed and brushless DC servo motor support.

RiceRNC 9.20.dmg

Release 9.20 10/16/2015

    UI improvements.

    Preliminary UI coding for both brushed and brushless DC servo motor support.

    Bug fix: axis enable.

RiceCNC 9.19.dmg

Release 9.19 10/7/2015

    Adds support for open loop three phase motors and for hall sensored motors. This is preliminary to upcoming support for closed loop three phase motor control.

RiceCNC 9.18.dmg

Release 9.18 10/5/2015

    Adds support for closed loop stepper motors.

Bug fixes:

    µP memory leaks when changing configurations.

RiceCNC 9.17.dmg

Release 9.17 9/27/2015

    Quadrature slave mode input is working.

RiceCNC 9.16.dmg

Release 9.16 9/22/2015

    El Capitan compatibility update.

     Improved limit switch handling. An active limit switch will abort any current interpolation and program execution, then slowly back off of the switch until the switch is inactive, then will set the machine position to a predetermined value if setup.

    Additional UI improvements.

RiceCNC 9.15.dmg

Release 9.15 9/13/2015


    Input pin bias selection.

    Improved UI pin reassignment.

Bug fixes:

     Analog input.

RiceCNC 9.14.dmg

Release 9.14 9/9/2015


    GPIO drive current selection.

    Alarm output.

    Improved UI.

Bug fixes:

     Motor step interrupt handling.

RiceCNC 9.13.dmg

Release 9.13 9/3/2015

User “Pause” and “Abort” will now stop Spindle & coolants (if running).

User “Continue” will restart Spindle & coolants (if they were running).

Machine OK input now has same actions as user “Pause” but will automatically continue when OK signal returns.

Limit switch inputs will now “Abort” stopping Spindle & coolants (if running)..


    “Safety Door Ajar” switch input - Same actions as user “Pause” but will automatically continue when door is closed.

Bug fixes:

     Active high switch input now applies weak pull-down to pin.

RiceCNC 9.12.dmg

Release 9.12 8/31/2015

UI setup improvements.

Bug fixes:

     TrackPad Jogging.

RiceCNC 9.11.dmg

Release 9.11 8/30/2015

UI setup improvements.

More efficient firmware I/O.

Bug fixes:

     Improved motion algorithms to eliminate motor surging.

RiceCNC 9.10.dmg

Release 9.10 8/25/2015

Add preliminary support for slave mode. Slave mode allows RiceCNC to configure and control BOOST-DRV8711 drivers while following Step/Direction or Quadrature pulse commands from an alternate motion control system.

Miscellaneous bug fixes and UI improvements.

RiceCNC 9.9.dmg

Release 9.9 8/16/2015

Pins for BOOST-DRV8711 chip select and potentiometer pins are reassignable from default settings.

Added a spinning progress indicator to prevent “App Nap” causing periodic µP idle resets.

RiceCNC 9.8.dmg

Release 9.8 8/13/2015

Updated documentation includes DIY instructions for the complete high-performance machine control system pictured above.

Bug fixes:

    1 UI improvements.

RiceCNC 9.7.dmg

Release 9.7 8/11/2015


    1 motor power on relay control,

    2 LaunchPad pin description tooltips.

Bug fixes:

    1 Grove Base pinouts corrected - board didn’t match schematic,

    2 Auxiliary output button highlighting.

RiceCNC 9.6.dmg

Release 9.6 8/8/2015

Adds support for the newly released seeed studio “Grove Base for LaunchPad” breakout board. The above photo shows the new board mounted on the BoosterPack 1 position of the Connected LaunchPad in my development test machine - a MaxNC10. I will soon be releasing DIY instructions for this inexpensive but high performance machine upgrade.

The new “Grove Base for LaunchPad” provides a convenient means to add extra outputs and sensors to the machine control system. Each 4 pin connector extends one or two BoosterPack pins along with 3.3 volt power and ground. Visit the seeed studio website for information on available Grove modules. Several are interesting for this application:

1    Relays

2    Switches

3    Buzzer

4    High temperature probe (for motors)

5    Differential amplifier

6    Touch sensor

6    Gesture recognition

Bug fixes: Pin assignments, probe input.

RiceCNC 9.5.dmg

Release 9.5 8/3/2015

More efficient host--µP communications

Bug fixes: Probing move.

Release 9.4 7/31/2015

Bug fixes: Positioning via Machine Status Scroll View.

Release 9.3 7/30/2015

µStep position reporting improves position accuracy.

Adds packet re-sequencing enabling network connection.

Several bug fixes inc. DRV8711 interrupt timing causing step loss.

Release 9.2 7/22/2015

Added µP status display and other UI improvements.

Performance bug fixes.

Updates documentation.

Release 8.22 7/7/2015

Simplifies drawer opening user interface.

Updates documentation.

Release 8.21 7/3/2015

Major firmware update. More efficient motor control algorithms improve both speed and stability. This release, in combination with the BOOST-DRV8711 drivers, provides very smooth motion.

More efficient host communications enables faster updates.

Release 8.20 6/22/2015

Added continuous analog to digital conversion with both hardware and software oversampling.

Updated documentation

Release 8.19 6/19/2015 Bug fixes:

Ethernet retransmission timeout

Analog input

Updated documentation

Release 8.18 6/15/2015 Bug fixes:

Fixed ethernet reset loop preventing resynchronization and requiring app restart.

Fixed analog inputs.

Added 8711 status reporting.

8711 parameters can be changed without resetting the motor’s axis, even while the motor is running.

Release 8.17 6/12/2015 More efficient firmware algorithms support higher motor speeds. Adds support for the TI GPIO Breakout BoosterPack. Improved support for the soon to be announced TI BOOST-DRV8711 backplane carrier board. Removed annoying rollover popups from the Machine Status view.

Release 8.16 6/7/2015 Adds preliminary support for the soon to be announced TI BOOST-DRV8711 backplane carrier board. This board will add capacity for up to five  TI BOOST-DRV8711 high power stepper motor driver boards in addition to the two piggy-back BoosterPack positions already provided by the EK-TM4C1294XL Launchpad. Several firmware algorithms have been greatly improved for this release to support faster motor speeds and acceleration. S-curve acceleration and deceleration profile support has been added for smoother motor starts and stops.

Note:  The dSpin driver interface remains unstable with this release but I may get it working again for my next release.

Release 8.15 5/17/2015 Adds preliminary support for the TI BOOST-DRV8711 high power stepper motor driver board..

The TI BOOST-DRV8711 are “best in class” rated, economical, high power, i.e. 4.5 amp continuous RMS @ 52 volts, driver boards that plug directly to the LaunchPad BoosterPack connectors providing an instant mechanical mounting and signal connections. They have even more configuration options than the ST dSpin technology and support up to 1/256 micro-step resolution.

This release supports two BOOST-DRV8711 boards mounted to a “Connected LaunchPad” micro-controller board. Future releases will expand the number of drivers supported either by using a “carrier” board to extend the BoosterPack connectors or, preferably, by coordinating multiple “Connected LaunchPad” boards for a single machine most likely using UDP ethernet connections.

Note:  The dSpin interface remains unstable with this release. The BOOST-DRV8711 interface works so much better with the TI micro-controller boards than the dSpin interface that I may drop support for the ST Microelectronics technology. I apologize to my users that invested in dual dSpin boards for my misstep.

Release 8.14 4/29/2015 Bug fixs:

1 Setting program position from popover.

2. Faster clock setting (50%) for EK-TM4C123GXL.

Major firmware rewrite:

The Digilent UNO32 is not supported with this release.

The dSpin interface is unstable with this release

Note:  The dSpin problem seems to be with the SPI communications but I am unsure if the problem is noise, timing or my firmware. Regardless, I will be shifting my focus to supporting the TI BOOST-DRV8711 high power, i.e., 4.5A @ 52V, stepper motor driver boards. Two boards will mount directly to the EK-TM4C1294XL “Connected LaunchPad”. Then I will be adding support for multiple EK-TM4C1294XL boards. The DRV8711 uses a Step/Direction interface but uses SPI to initialize operational parameters.

Release 8.13 4/15/2015 Bug fixs:

1 Resizable position window popovers not appearing.

2. Some dSpin parameters not set correctly.

Note: Support for TI dSpin technology is experimental at this time. It is difficult to maintain reliable serial communications with the devices. Users should wait until further notice before investing in dSpin driver boards for use with this application.

Note: The iTunes store makes it possible to distribute bug fixes and new functionality faster while improving the stability of releases to the iTunes store. New features can remain on this Beta test web site longer for testers having a free license. The store then provides the flexibility for the new features to become chargeable upon release.

Beta test and bug fix releases will now request a a copy of the application purchase receipt from the iTunes store upon first launch. New Beta testers can obtain this app receipt by fist purchasing the free download from the App Store.

Current users should be able to restore purchase receipts using the “Restore Missing Receipts” button in the License window. The Beta test release then should become fully functional. Please send me an email if this fails to work.

Release 8.12 3/21/2015 Fixes a bug in which the host attempts to connect using both serial and ethernet at the same time causing errors and extraneous resets.

Release 8.10 3/19/2015 iTunes release adds In-App Purchase functionality. The app is now a free download supporting a single concurrent axis. Uses can purchase upgrades from the iTunes store to coordinate additional axes as required by the complexity of their machine.

Release 8.8 3/6/2015 Fixes a bug preventing proper initialization of a new LaunchPad board. Adds firmware logic to turn off ethernet startup on the next reset if the ethernet server causes a crash. Adds a button to the ethernet UI to only initialize the ethernet by user request rather than every application start. Adds preliminary code to support In-App purchases from the iTunes store. Adds preliminary code to support ST Microelectronics cSpin high-current serial interface motor driver technology.

Release 8.7 2/15/2015 iTunes release. Ethernet connection bug fixes. Faster ethernet I/O.

Release 8.6 2/11/2015 Ethernet MAC address is now read from hardware. Faster serial I/O.

Release 8.5 2/10/2015 Engine documents are optional with this release and deprecated for future releases. Micro-controller configuration can now be stored within the “Machine” document. Windows will now restore to multiple monitors upon restart.

Release 8.4 2/3/2015 Updated documentation - iTunes release.

Release 8.3 2/2/2015 Bug fixes. Connected LaunchPad UDP Ethernet connection is now working. Firmware is converted to library format or easier maintenance.

Release 8.2 1/26/2015 Fixes an initialization bug preventing creation on a new machine document.

Release 8.1 notes:

Version 8.1, 01/14/2015, is a major upgrade for RiceCNC. Current users should read this section carefully.

Key features of this release include:

A single, arbitrarily complex, multi-axis Coordinate Transformation Matrix (CTM) that is applied real-time by the µP firmware;

The CTM separates the machine coordinate space from the program coordinate space;

Jogging, both by mouse and trackpad, can be applied to either the machine coordinate space or the program coordinate space;

Polar mode can be applied to any two axes - not just in one of the three standard orthogonal planes;

Rotation can be applied in any combination of two or three axes assumed to be orthogonal;

Much improved support for fixture and tool offsets providing easier use of these options;

Tear-off windows add flexibility to enable more efficient use of screen space;

Several sheets have been replaced by easier to use pop-over balloons;

The Machine document window toolbar has been removed and replaced by a new Machine Status scroll view and greatly simplified with faster access to information.

A lot of code, both host and firmware has been rewritten for faster and more stable performance - many bug fixes;

The UNO32 µP board firmware has not been updated or tested for this release due to time constraints and is likely to be incompatible. Users with the UNO32 µP board should skip this release or upgrade to the TI “Connected LaunchPad” board.

The UNO32 µP board firmware will be updated for a future release but may lack sufficient memory to run the new features that have been added to the LaunchPad firmware. Newer Digilent boards having more memory may also be supported in future releases.

As before, the TI “Connected LaunchPad” is the preferred board for new users.

The toolbar has been removed from the Machine document window:

The position scroll view is now expanded to become the machine status scroll view. The view can now display any combination of the machine, fixture, tool and program positions concurrently. It also merges status information from several sheets formerly accessed from the toolbar including, the drawers sheet, the inputs sheet, the program modals sheet, fixture and tool selection sheets.

The Axis Setup Drawer  is now expanded to become the Setup Drawer. The Fixture and Tool setup sheet functionality is moved to the Setup Drawer. The Inputs, Outputs and Spindle Setup drawers are also merged with the Setup Drawer.

The pause and run buttons are moved from the toolbar to the main document window.

Release 7.7 11/25/2014 Fixes a UI bug preventing initialization of new boards.

Build 7.6 11/23/2014 Add axis linking to Axis modals sheet. Fixture and tool setup bug fixes. Faster startup.

Release 7.5 10/29/2014 Updates documentation. Bug fixes. iTunes release.

Release 7.4 10/28/2014 Updates the “Path Wizard” user interface.

Release 7.3 10/23/2014 Removes the “Pin Assignment” drawer and distributes the functionality the the “Axis Setup”, “Spindle”, new “Inputs” and “Outputs” drawers. These drawers now have new “view based” interface.

Release 7.2 10/20/2014 Adds preliminary support for ethernet connection to the Connected LaunchPad.

Upgraded Axis setup drawer UI views. Separated motor parameters.

Release 7.1 10/7/2014 Auto-detect dSpin devices on SPI ports

Release 7.0 10/2/2014 Build for iTunes

Release 6.21 9/25/2014 Reduced LaunchPad status message overhead. Updated trackpad jogging configuration. More dSpin bug fixes.

Release 6.20 9/18/2014 Fixes firmware version bug.

Release 6.19 Fixes bugs related to dSpin interface.

Release 6.18 8/19/2014 Adds User Pause command. Significant update to LaunchPad firmware using virtual functions.

Release 6.17 8/8/2014 Adds Cancel Links command. Compile error bug fix.

Release 6.16 8/7/2014 Adds Link command for threading operations. Bug fixes.

Release 6.15 8/4/2014 Fix Circular Path Wizard Radius mode bug.

Release 6.14 8/4/2014 Performance and bug fixs.

Release 6.13 8/1/2014 Pin assignment bug fix.

Release 6.12 Simplifies pin assignment. The “Pin Connection” drawer outline view now organizes micro-controller pins both by physical connection and by functional capability. Pins can now be dragged directly from or to the Machine document “Pin Assignment” outline view. Bug fixes.

Release 6.11 Updates documentation.

Release 6.10 Changes jog and position display to table views preliminary to supporting additional axes.

Release 6.9 Fixes USB serial clock problem for TM4C123GXL.

Release 6.8 Adds L6470 and L6480 dSpin interfaces to the firmware forTI LaunchPad micro-controller boards. The interface is now working well.

Release 6.7 Adds preliminary support for L6470 and L6480 dSpin interfaces to the TI LaunchPad micro-controller board firmware. dSpin interface not yet working.

Release 6.6 6/16/2014 Adds quadrature and dSpin interfaces for TI LaunchPad micro-controller boards. L6470 dSpin support is preliminary.

Release 6.5 6/4/2014 Fixes a bug calculating stop point for G03 CCW arcs.

Release 6.4 5/20/2014 Adds support for the EX-TM4C12394XL Tiva C Series Connected LaunchPad. Updated documentation.

Release 6.3 4/30/2014 Adds support for the EX-TM4C123GXL Tiva C Series LaunchPad. Bug fixes: Interrupt priority, pin assignment. Updated documentation.

Release 6.2 4/29/2014 Bug fixes. Accepted to iTunes store.

Release 5.4.23 4/9/2014 Updated documentation.

Release 5.3.23 4/7/2013 Bug fixes. Accepted to iTunes store.

Release 5.2.23 Moved the Pin Assignment drawer from the engine document window to the machine document window.

Release 5.1.23 Fixes an initialization problem with 5.0.23.

Release 5.0.23 Completely recoded to current Apple standards using “Modern Objective C with Automatic Reference Counting”. Please check that all of your scripts will run before upgrading you system to version 10.9 “Mavericks”. Release 4.8.23 9/13/2013  3D coordinate rotation (G codes 68 & 69) simplifies machining surfaces not easily aligned with a machine contour plane or mounted with a different orientation. Rotations can be about any axis in 3D space. Multiple rotations are concatenated into a single equivalent rotation.

Linear, circular, drill and pocket milling wizards are combined using a parameter table interface. Other sheets and drawers are also updated to table layout.

Adds configurations for micro-processor performance parameters to reduce off-tracking at high motor speeds.

UI made more graphical using toolbars and image buttons.

Adds scripting bridge to the Mail app to solicit feedback in the form of bug reports and feature requests.

Release 4.9.23 11/7/2013 Fix new machine initialization

Release 3.20.22 8/7/2013 adds polar coordinates mode; G codes 15 and 16 and Grand Central Dispatch multi-threading to improve host software performance. The program modals sheet is changed to a table layout.

Release 3.18.22 7/25/2013 adds colorization to CNC documents, a pocket wizard generating CNC code for both rectangular and circular pocket milling operations and configurable host timeout. Several bug fixes.

Release 3.13.20 7/13/2013 splits the “Interpolation” drawer into three separate “Wizard” drawers for linear interpolation, circular interpolation, and drill cycles. Bug fixes.

Release 3.12.19 7/3/2013 adds axis scaling (G50 & G51), adds enable/disable tool length compensation (G43 & G49), expanded documentation, bug fixes. Axis scaling is applied to circular interpolation commands (G2 & G3) such that the commands can be modified to cut ovals.

Release 3.11.19 6/20/2013 significantly revises Fixture, Tool and Program offset setup and selection logic. Fixture and Tool setup change from drawers to drop-down sheets. Added a “rotational diameter” to enable rotational axis to participate in the linear feedrate calculations. Added SFM and chip thickness calculation and display. Added program offset stack modal settings. Added support for spindle gearing, e.g., stepped pulley, via speed control ranges. adds an input for the “Machine OK” signal available from Tormach machines. “Machine OK” is only used for display only except that a program abort is automatically generated if “Machine OK” transitions from true to false.

Release 3.4.14 5/30/2013 updates the firmware with significant performance improvements and raises the default interpolation rate from 500 to 4,000 per second.

Release 3.1.12 5/9/2013 adds Spindle Motor Speed Control and minor bug fixes and performance improvements. Spindle Motor Speed Control works by pulsing the Spindle Run pin controlling the speed using either frequency modulation (at 50% duty cycle) or Pulse Width Modulation (PWM) at any selected frequency. Frequency modulation is compatible with Tormach machines and PWM is compatible with DigiSpeed and other controllers.

Release 2.0.8 3/5/2013 adds continuous jogging of one or two axes using multi-touch trackpad finger dragging. The functionality is similar to that provided by a joystick or trackball machine controller. This is useful for freehand machining such as to follow a pencil line but with the safety of not using a handheld tool. Movement can also be feedrate limited to avoid overheating cutters.

Release 1.17.7 2/25/2013 removes restriction on running unsaved CNC document.

Release 1.16.7 2/24/2013 fixes initialization bugs with document run controls. Fixes a bug with the Engine window menu not always initializing.

Release 1.14.7 2/19/2013 adds “Pause/Continue” and “Abort” buttons to the CNC document controls sheet. These buttons are for convenience because the mirror the similar buttons on the Machine document window. This release also has several bug fixes.

Release 1.13.7 2/16/2013 fixes a bug that occurred if a cnc program was executed not having an “end” statement. It also adds error logging to a file in your “Containers” folder.

Release 1.12.7 2/14/2013 adds support for open-collector outputs from the UNO32. Open-collector output mode provides a 5 volt signal level with the addition of a pull-up resistor to the +5 volt regulator output, provided that a high source current is not required. It also works well for current-loop interfaces including relays. Inductive loads, e.g., an electromagnetic relay, must also use a diode across the relay coil to prevent high voltage generation.

Release 1/4/3 10/7/2012 initial submission to iTunes store.

RiceCNC initially supported the Digilent UNO 32 µP board and the ST Micro L6470 driver interface but upgraded to the TI LaunchPad boards and the high performance TI BOOST-DRV8711 motor driver boards.

Release History