The idea behind making those boards was simple—to add sufficient I/O to a regular off-the-shelf PC to make it suitable for proper control of a CNC machine. It had to be reasonably cheap, extensible, work with any modern PC, be fast enough to control real time motion in "Direction and Step" mode, have enough inputs/outputs for all sensors and motors, be easy to program, provide full galvanic isolation from the machine, be self-sufficient powerwise (i.e. it should have its own power supply running off of the mains voltage.) It should also provide some relays/DAC/ADC so it would be sufficient for a relatively complex CNC machine without any additional components.

It is not possible to use any USB/Ethernet/etc. extenders for direct control of machine axis drives in "Direction and Step" mode because their timings are unpredictable. Usual solution is to use printer port parallel interface for this. It works but has several issues:
  • There is not enough I/O lines in printer port to accomodate all e.g. homing switches so several of those must be parallelled that makes manual actions required;
  • Parallel port I/O lines are not galvanically isolated that requires external optocouplers and external power supply;
  • Parallel ports usually have OS drivers that configure them for printer operation so some trickery is required to reconfigure all I/O lines in raw, protocol-less mode;
  • Only 3 parallel ports are supported by most popular OS that puts an upper limit on I/O lines number available;
  • Parallel ports are usually mapped to 8-bit legacy I/O address range (0x3bc, 0x378, 0x278) that requires 8-bit processor in/out instructions to access them and those instructions bear a significant overhead in most common operating systems;
  • Parallel port is considered "Legacy" these days because almost all actual printers it was originally designed for switched to USB/Ethernet/etc. so it is almost never used for a printer any more. That made most recent motherboard manufacturers into dropping that port so it is a rarity rather than norm to have one in a stock PC. That means they can only come on add-on cards, PCI or PCIe and motherboards usually have very limited number of those add-on card slots available;
  • Parallel ports are fixed hardware resources—there is no way to somehow extend their features or change the way they operate so additional interfaces needed for talking to external DAC/ADC, controlling relays, and other stuff required for proper full-auto CNC machine operation. That not only requires some additional interfaces and/or untraditional use of those but also puts heavy burden on the application software that must use totally different methods to talk to different sensors and drivers. It slows it down and makes it less flexible.

That is why CENTIPEDE boards were born. This is a set of PCI interface board, CENTIPEDE-PCI that is installed in the PC and external breakout board, CENTIPEDE-BRK that is installed into the machine and connected to the interface board with the third component, special cable.

CENTIPEDE-PCI provides 32 digital inputs, 32 digital outputs, and several SPI-like interfaces, all galvanically isolated. It is built on the biggest (as of today) Altera MAXII CPLD, EPM2210 and almost entire functionality is implemented in the CPLD. VHDL source code is available from our site for free (see "Downloads" box on the left.) There is no locks, protection bits, etc. The CPLD is fully reprogrammable with free design/programming software from Altera and inexpensive programming adapters available everywhere.

CENTIPEDE works with popular Mach3 software using our Windows driver that replaces Mach3 stock Parallel Port Driver. No changes required, everything work out of the box. Full source code for the driver is available for free (see "Downloads" box.)

For Linux EMC2 software we are working on Linux Device Driver and sample HAL right now but everyone is welcome to join. We will be glad to provide all the documentation and give our full support for porting it to any other CNC software or any other application. That includes not only software/drivers but also hardware assistanse features built into CPLD. All source code will be released (Linux software on GPL terms, VHDL code on the same terms as our other VHDL code.)

CENTIPEDE-BRK is a breakout board for making connection to a target machine. It provides 32 optocoupled digital inputs, 32 digital outputs for connecting to the target machine optocoupler inputs as well as 2-channel 0-10V 10-bit DAC, 4-channel 0-10V 10-bit ADC, Universal Power (92 to 276VAC) 5V Power Supply for all optocouplers with up to 2A available for external use, and 8 relays that can be individually connected to digital outputs with 8-position DIP switch. It is fully galvanically isolated from the PC and fully self-powered; no external power supply required. All digital I/O pins have LEDs for easy signal monitoring.

For more information on CENTIPEDE-PCI and BRK please read PDF documentation (links are in "Downloads" box and under the pictures below.)

We do have more than a hundred boards in stock right now ready to ship. Cables are made to order (please see "Shipping & Returns" on the left for more information.)

Here are some pictures of CENTIPEDE products. Please note that those full-size pictures are REALLY big so please try to avoid them if your Internet connection is limited.

CENTIPEDE-PCI. Click image to see it full size (BIG!)
Click here for GPIO version PDF manual or here for Mach3 Version.
CENTIPEDE-BRK. Click image to see it full size (BIG!)
Click here for PDF manual.
CENTIPEDE-CABLE. Click image to see it full size (BIG!)

Older News
0 items