Home of TurboCNC, the best open-source CNC control around...

  You are here:
  Homepage -> FAQ's -> TurboCNC FAQ
Latest release of TurboCNC is v4.01 build 050312
released March 13


  Hardware Software  
Articles HOME FAQ's
  Manuals User
Ordering Contact
  Sitemap Links  

This is intended to provide quick help with the most common questions regarding the TurboCNC program.  For a more thorough treatment, refer to the program documentation.  Or try the user's forum.

1.  What's a .ZIP file?  I can't open it.

2.  Step pins, active high or active low?

3.  OK, how do I get the files to load and run?  Nothing seems to work.

4.  What kind of pulse rate can I expect?

5.  Where can I get a compiler for the source code?
6.  I keep getting compile errors.

7.  How do you hook up the threading?

8   How do you boot to DOS?  I run operating system ____.

9.  How can I pay you?  I live in a foreign country and Paypal doesn't work for me.

1.  What's a .ZIP file?  I can't open this.

  Files on the Internet are often compressed to save time in the transfer.  This also provides a degree of error-checking in case some information is lost.

  The ZIP file is the most common form, so you'll be well served to learn to work with it.  First, head over to and download their demo version.  Follow their directions and use the help function in the program to get you started.  

  If you get ultra-stuck, or just don't need to learn how to use Yet Another Program today, send me an email about it and I'll send you the files.

2.  Step pins, active high or active low?

  Almost all configurations should be set to the Active LOW state.  Geckodrive 320 and 340 users however should use the Active HIGH state.

3.  OK, how do I get the files to load and run?  Nothing seems to work.

For TurboCNC versions prior to v3.1, the first line of the text file that contains your Gcode should be this:


  Just before the first line of Gcode you should have this:

{program start}

  In between those two lines, you can add any sort of text you want as a description.  

  Take a look at the program MINIMAL.CNC for an example, which is included in the download.  

  Programs can be generated using MS-DOS Edit, Notepad, or with CAM programs such as VectorCAM, DeskEngrave, and ACE-converter.  Don't use MS-WORD to build your CNC files, as it inserts special characters that can cause headaches.

  In version 3.1 and later, the special header format described above is no longer needed.

4.  What kind of pulse rate can I expect?

  The step rate timebase is the motherboard ch0 timer (1.1193180 Mhz), and all step rates are quotients of this frequency.  The maximum reasonable step rate is therefore about 1/10 of the timebase freq, or 100 kHz.  Past that, the intervals get a bit jagged for motors to accelerate.

  There are a lot of factors in this, so your 600 Mhz machine may not output a significantly faster pulse train than a 300 (although it is likely to be smoother).  In testing on some different systems it seems that the ultimate speed limit is on the order of 300 kHz or so regardless of the machine's clock speed.  A garden variety 486-66 should easily kick out 20+ kHz or so.

  Note that a direct phase drive arrangement is slightly faster than a step/direction one because with the phase drive, only one write to the port is required for each step.

5.  Where can I get a compiler for the source code?

  I use Borland's Turbo Pascal 7.0 and Borland Pascal 7.0.   You can download the former free from this link:

  The help files are in French in the above version.  The English version turns up on Ebay and used software dealers from time to time, but as far as I know you can't buy it new anymore.

6.  I keep getting compile errors.

  You'll need to set some of the compiler options.  The following works with TurboCNC v3.1a, which is notably difficult to compile owing to its size.  Kudos to Jerry Jankura for putting this list together.

1. Use TPX.EXE as your compiler. This version uses extended memory. It may
not be necessary, but it's the version that I typically use.
2. When TPX.EXE is running, select Options -> Compiler
3. Clear (uncheck) all of the options
4. Set the options as follows:
    a. Word Align data
    b. 286 instructions
    c. extended syntax
    d. 8087/80287
5. select Compile->Primary File
enter the full name (C:\path\turbocnc.pas) of turbocnc.pas, including all
6. select File->change dir
move to the directory that contains your turbopascal source.
7. Select Compile->build

That should compile the complete program and present you with a fresh
TurboCNC.EXE file.

7.  How do you hook up the threading?

  A lathe needs to have some sort of encoder on the spindle that provides one pulse per revolution; in the form of a 5V TTL pulse that the computer can read.

  Then, in the IO configuration menu, set up the spindle index input so that it matches the pin that you've connected it to on the parallel port.

  Be careful about signal noise, as this can cause problems with false or missed pulses at the port.  Good shielding and wiring practice is strongly recommended.

  See the new detailed threading article for more on the subject.

8   How do you boot to DOS?  I run operating system _______.

  For Windows 3.1, just exit to DOS.  You can also edit your autoexec.bat/config.sys to present a clean startup.  You should disable EMM386.exe and HIMEM.sys.

  In Windows 95/98/ME, a Shut Down --> Restart in MS-DOS mode usually is enough.

  For Windows 2000/XP/NT you'll need to make a boot disk (follow the instructions in your OS docs).  Start up with the boot disk in place, and you should be good to go.  For the ultra lazy, head to for DOS boot disks.

  Linux?  You're on your own.  A Linux port of TurboCNC has been underway by several parties since April of 2001, but nothing has materialized yet.

9.  How can I pay you?  I live in a foreign country and Paypal doesn't work for me.

  Fortunately for you, I happen to collect foreign coins and bills.  Drop whatever suits you into an envelope and mail it to my contact address.  

  If you want to pay with knick-knacks unique to your locality, that works too.  One gentleman sent me a beautiful set of knives from his native town in Pakistan.  Another guy that works for a local instrument company brought over a brand new VOM.  Think outside the box.




© 2001-2023 DAK Engineering.  

All rights reserved.

This page last updated on January 11, 2015 . 


Each crypto has two types of keys, one of which is a private key that shouldn’t be shared with anyone. Such apps as Ledger download ledger live for physical wallets allows owners to have sole control of their keys.