TinyCNC-II HEX File, Source Code and Manual
The link provided below allows the user to download just the TinyCNC-II.HEX file for programming the Microchip PIC18F6722 microcontroller.
If you wish to download your own copy of the TinyCNC-II Manual then please select the "Pop-out" icon in the upper right hand corner of the following displayed page of the PDF manual to open a separate download page. Next select the "Download" icon in the upper right hand corner of the displayed webpage. Once download has been completed you can close this download page.
The link provided below allows the user to download a zip of the entire TinyCNC-II project files.
The zip file contains all of the source code files, in the C programming language, for the TinyCNC-II project as well as sub-folders that contain the Open Source "Small Device C Compiler" (SDCC) contained in the "sdcc" folder as well as the Open Source linker utility (gplink) contained in the "gputils" folder.
The TinyCNC-II project has been developed on the Ubuntu Operation System.
The user should extract the zip into a home folder, change into that folder and enter the "make" command at the command prompt.
All files should compile and link without errors to create the final TinyCNC-II.HEX file if so desired.
All utilities used for the TinyCNC-II project have been previously released under the "GNU GENERAL PUBLIC LICENSE".
The "SDCC" compiler uses the GPLv3 and the "gputils" utilities uses GPVv2. Please refer to the individual folders to examine their respective licenses.
If you wish to download your own copy of the TinyCNC-II Manual then please select the "Pop-out" icon in the upper right hand corner of the following displayed page of the PDF manual to open a separate download page. Next select the "Download" icon in the upper right hand corner of the displayed webpage. Once download has been completed you can close this download page.
NOTE: Someday the currently used PIC18F6722 processor will become obsolete. When this time comes some hearty soul will need to port the existing code and PCB design to a new (hopefully) similar footprint. I have labeled the hardware specific areas that one would need to change in order to have a decent shot at porting the existing code over to a new processor.
I have labeled these hardware specific sections in the various modules in the following manner:
/* START OF HARDWARE SPECIFIC CODE BLOCK */
Bla Bla code;
/* END OF HARDWARE SPECIFIC CODE BLOCK */
As for the PCB design, I use strictly discrete output and input signals, so as long as the new processor has (at least) the same number of programmable inputs and outputs then you should be good. Just reroute the existing signals to the new signals. (I say that smiling, knowing the challenges that rerouting the signal traces will present).
The software currently expects a 20Mhz clock as some of the timings are based on measurements of the time it takes the code to execute certain code loops. These code loops control chopping the motor current, rotating through the array of arrays for motor step control and timing down the step input signals idle timeout for current reduction. These 4 timing values are defined it the "defs.h" file.
The software uses one timer interrupt for LCD updates, RPM calculation and Keypad scanning.
The link below allows the user to download and modify my original document file for the TinyCNC-II manual.
This manual was edited using the Open Source "LibreOffice Writer" software.
If you wish to download your own copy of the TinyCNC-II Manual then please select the "Pop-out" icon in the upper right hand corner of the following displayed page of the PDF manual to open a separate download page. Next select the "Download" icon in the upper right hand corner of the displayed webpage. Once download has been completed you can close this download page.