Home‎ > ‎

Converting an old Parallel Port CNC controller board to USB using an Arduino

We have been using the an SMS-04 controller board and also a TB6560 5 Axis CNC controller board and to drive our CNC machine 

Our old Win95 PC died and we started looking for alternatives. The problem is that these old CNC controller use parallel port to connect to a PC rather than USB,  which is difficult to find a new PC with these Parallel ports. 

We therefore started looking at the USB alternatives 3-Axis CNC TB6560 Driver Board Controller Converter GRBL Arduino DB25. 

The normal printer type of USB to Parallel port converters don't work (yes,  we tested that too) as the pin outs are not consistent with the CNC machines pins.  

What we were looking for is something like this - but not quite,  as we need one more flexible for any type of CNC controller:

Arduino Uno Shield
  • https://www.tindie.com/products/Ron/arduino-grbl-to-db25-cnc-shield-kit/
CNC Parallel to USB Arduino Shield

This one  is using GRBL on a Arduino Nano: That's neat!

  • http://www.ebay.com/itm/USB-3-Axis-CNC-TB6560-Driver-Board-Controller-Converter-GRBL-Arduino-Nano-DB25-/252804301315

Arduino Nano GRBL converter


Alternative options

 Option Advantages Disadvantage
Upgrade existing SMS-04 controller  board to a USB board
  • Continue using the same WinPC CNC Economy software that that came with the SMS-04 CNC controller 
  • Low Learning Curve
  • Locked into propriety software

  • €160 upgrade costs

  • Application features appear to be  lagging compared some shareware / opensource solutions.
Convert to  GTinyG v8 /  G2Core - 4 (6) Axis controller
  • https://www.adafruit.com/product/1749 
  • https://synthetos.myshopify.com/products /tinyg
  • https://github.com/synthetos/TinyG/wiki
  • https://github.com/synthetos/g2
  • OpenSource
  • Support by http://chilipeppr.com/
  • WebCNC
  • bCNC
  •  $120-$160 + case, power supply, etc
 Convert to GRLB controller board
  • There are many suppliers offering cheap hardware versions
  • GRBL is used on my other smaller CNC and Laser machine so low learning curve
  • OpenSource
  • Support by http://chilipeppr.com/
  • WebCNC
  • bCNC
  • Stepper motor drivers not look as powerful as existing drivers. May need to add additional drivers + heatsinks





The soution described above which converts Parallel Port on existing CNC controller to USB using GRBL
Low cost conversion using Arduino

  • We can use existing hardware (both CNC controllers) with high-power drivers
  • Will be able to use new applications

OpenSource Support by
  • http://chilipeppr.com/
  • WebCNC/LaserWeb
  • bCNC
  • PiCAM

  •  Won't be able to use WinPC CNC application (other solutions are almost as good)
  • €30-€50 for Arduino and PCB, Case

The TB6560 CNC Stepper Motor Driver board
TB6560 CNC controller board

The SMS-04 CNC controller that came with the CNC machine form Heiz
SMS-04 CNC controller

We started looking into Converting the Parallel Port CNC controller board to USB using an Arduino.

There are some nice and simple solutions that have been tested:
  • https://cnc4pc.com/motion-control/breakout-boards/arduino/db25-motion-controller-arduino-shield-w-tb6560-pinout.html
  • https://www.youtube.com/watch?v=e0A9BLPatVY
  • http://maher-ramblings.blogspot.de/
  • https://www.sparkfun.com/products/retired/11352
  • https://www.tindie.com/products/Ron/arduino-grbl-to-db25-cnc-shield-kit/
  • http://www.instructables.com/id/3020-CNC-Arduino-GRBL-CNC-Shield-V3/
  • http://hackaday.com/2014/09/16/usb-to-db25-adapter-uses-grbl-for-parallel-port-cnc-communication/
  • http://www.diymachining.com/diy-cnc-controller-how-to-setup-your-arduino-gshield/
  • http://www.coreforge.com/blog/2014/08/grbl-tb6560-interface/
  • http://3dprintzothar.blogspot.de/2014/02/chinese-cnc-3040t-routermill.html
  • https://www.uelectronics.info/backup/tags/usb.html