Developers/Inventors/Integrators/OEMs … and just tinkerers

If you're a developer, inventor, systems integrator, potential OEM, or just an interested experimenter -- you've found the right place. These developer pages explain the modular organization of the hardware and software components of our ShopBot Control System. If you’d like to create or modify your own tools or robots, or use our systems in other products, we lay out here how the elements work together to control and drive CNC equipment. Many of the designs, schematics, and software are “open” or downloadable and we make the hardware modules available at reasonable prices to any who would like to make use of them.

New Project at ShopBot:

Our own current development project and platform is a new, small-size, job-oriented “Smart Digital Power Tool”. It is an open-development, open-hardware, open-source, and open-manufacturing project. We call it a “Handibot”. With the Handibot we hope to showcase the power of digital tools for all types of jobs as well as the power of the community to innovate compelling applications, drive adoption of the tool, and illustrate a new type of distributed manufacturing that digital fabrication makes possible.

Read about the new ShopBot Handibot Tool Project

Use It / Try It:

ShopBot Control Systems have been used to implement a number of different types of automation equipment and to retrofit other equipment. Our basic system is highly configurable; making available 1 to 6 axes of simultaneous motion under software control. ShopBot software can run as your primary digital fab interface or, in the background, encapsulated in your own custom interface. Our software is free to download and you can study the examples of custom controls in the "For Developers" folder and the detailed instructions in the “Programming Handbook” (all included in the download). The software has a “Preview Mode” that allows simulating and testing your files or applications without having any connected hardware.

Non-Proprietary Control Language:

The CNC language used to create motion and to control a tool with ShopBot software can be either g-code or OpenSBP. G-code is sometimes considered the industry standard, though it has numerous variations and is not at all intuitive for new users. OpenSBP is a g-code-like, but human readable, “Open Syntax” for CNC that was developed and contributed to the public domain by ShopBot ( Take your pick. For interfacing with older CAM software or equipment, g-code may make more sense. If you or your users have little or no CNC experience and will be working with the code or creating custom applications, OpenSBP is much easier to interact with and provides more programming options.

Committed to “Open”:

ShopBot evolved from the vision of making the amazing power of digitally controlled tools accessible to individuals and small shops. We are all about empowering people with digital fabrication capabilities. The first ShopBot systems originated from discussions in an earlier version of the web called Compuserve and we are strong believers in the collaborative power of interested communities. When we started almost 20 years ago, the first ShopBot was a free set of plans and instructions (shared and developed over Compuserve), a list of parts to purchase at the hardware store, and some motors and electronics that we packaged and sold. We were basically “open source” before we knew what it meant. Our software remains available for free download and updating, along with pin-outs and wiring diagrams for our Control Card and Control Boxes. We maintain an open an wide-ranging forum. In addition, our community site for “open distributed manufacturing”,, supports small shops doing digital fabrication of all types using any equipment at no cost to participants. At the moment, we are working on the development of a new, transitional Control Card and open software core. Our goal is for it to run the current ShopBot PC Control software while at the same time being compatible with running a new alternative firmware. This new firmware represents an emerging open source and potentially quite powerful, CNC common/universal system. This open CNC system has its roots in a program called “Grbl” which runs on Arduinos (Skogsrud) and evolved through TinyG (Porter & Hart) to soon run on the Arduino DUE (Hart, Porter, & Giseburt). We are supporting the development of this system with the plan that it will eventually come to serve as our low level motion core while supporting the evolution of ShopBot Control software that will run on virtually any type device. [See the outline of our “OPEN” eco-system for CNC.]

Experimenters and CNC Hobbyists (a little realism before you dig in … or maybe it’s just shameless promotion):

We have always built CNCs tools ourselves and enjoy doing it, and for a while we sold kits for the adventurous (see our History). But the reality is that in this day of affordable CNC (be it a ShopBot or another tool), the build-it-from-scratch approach is only a good option for a few hearty souls. If you just need a CNC to make stuff and your time is valuable, then you are probably better off buying a complete tool that's ready to go to work for you. It is an unusual individual who can actually pull together all the required components at good prices.

Yet, if you are one of those few who really, really, want to build your own, great! We get it … and appreciate you. Consider using one of our Control Systems as the core component of your CNC or robotic project. As described below, we offer several different types and levels of solution, in each case getting you part way to your goal with proven but highly flexible software and control components, and with a modularity for upgradeability and preventing obsolesence.

Parts, parts:

We are also happy to sell any stock mechanical components of our tools. Just contact our Development Team for pricing.

Upgrading Older (non-ShopBot) CNCs:

Many older CNC tools still have excellent mechanical components, even though their motion and control systems may have become outdated. ShopBot Control Systems can provide a very affordable upgrade alternative for these tools. Some work will be required to bracket and adapt motors to the existing tool. But once the mechanical link is made, you are ready for high-performance cutting and machining.


Overview of ShopBot CNC Controls and Drive Systems

ShopBot’s Control and Drive Systems are modular. The diagram below lays out the basic components and provides a way of thinking and a set of standard names for components of our CNC systems.


ShopBot CNC Controls and Drive System. By this term we mean the whole CNC motion production system; this is what we provide with a CNC tool.

ShopBot Control System refers to the CNC intelligence and software control system. This includes the ShopBot Control application software that is running on a PC, its connection to the Controller Card, the Controller Card and the software/firmware on the card. The PC software generates motion profiles and encodes and transfers them to the outboard device, where the information is translated into step and direction instructions that directly drive stepper motor action. Step and direction information can be used to activate many types of generic, motion-production drivers or devices. The ShopBot Control System is the smallest chunk of ShopBot Control stuff that can practically used. The ShopBot Control Software (download current software) application running on the PC and the Control Card (pinout diagram; schematic) are separate parts, but they fit into an integrated conceptual system and have no capability without each other. Note that purchase of a Control Card is, in effect, purchase of a ShopBot software license.

Our development team, in collaboration with others outside ShopBot, are working on a next generation Control Card. This will be a transitional Control Card because it can be loaded with ShopBot firmware and function using PC-based application software as described above. Alternatively this card can be loaded with firmware compatible with the evolution of the TinyG, open-source, CNC controls. Because this system shifts much of the CNC processing to a more powerful micro-controller on the Control Card, less of the work needs to be done by user-interface devices communicating with the Control Card. Practically, this means that it will be much easier to develop “thin” applications for running CNC tools and will mean that CNC apps will be developed for a wide range of devices that can easily interface to your ShopBot Control Card. We intend to contribute to the development of these open-source CNC applications. Please see the extended discussion of our “road map” for this project.

The Control Card is fitted to an Interface Board to make the electrical connections from the Control Card conveniently available for use. Our Interface Boards provide isolation for power for the Control Card and isolation for all I/O. They also contain relays for controlling routers/spindles. Our interface boards are fitted with connectors that match those of the motor drivers we use in order to provide a direct, cable-free connection. Break-out connections are also available for connecting to other types of motor drivers. We offer levels of Interface Board. We offer three levels of interface boards that are progressively more "industrial" in terms of their I/O and functionality. All support generic Step & Direction connections so you can hook up your own motor drivers rather than the ShopBot provided drivers that are specifically matched to the Board. ShopBot uses open loop steppers in our standard tools and closed loop stepper motors in our "production" or "alpha" tools. Our interface boards will also support servo drivers that also utilize step and direction signals.

To create any kind of physical CNC action, the system needs to include Motor Drivers and Motors. The Interface Board is connected to the Motor Drivers by Driver Connectors, and then the Motor Drivers are connected to the Motors by Motor Cables. Our Control Boxes are sealed and contain/house/protect the Controller Card, Interface Board, and Motor Drivers. Control Box systems include an electrical disconnect switch, contactors for controlling routers/spindles, interlock safety switches, and a Roxtec® seal for managing cable entry into the box.


The organization of our system is modular with the Control Card as the core module. This modularity has allowed our systems to evolve more efficiently. And, by using common components they have provided continuity between systems over time. For example, we have evolved through many versions of our Control Card, but today’s version can be plugged into the interface board of any ShopBot of any age and provide that tool with many of our current features and capabilities.

We currently have three levels of Control and Drive System offerings (all systems use the same Control Card and Control System Software:

A Basic System that will run small and medium size stepper motors. This is the system we use in our Desktop CNC Tools and Handibot Tools.



Click here for full description [PDF]

A Standard System that will run medium and large size motor drivers and is the basis for all our PRSstandard ShopBot Buddy® and Gantry CNC Tools.

Click here for full description [PDF]

An Industrial System with integrated safety control fucntionality. This system is used with closed-loop stepper motors on our “production performance” PRSalpha ShopBot Buddy, Gantry, and 5-Axis CNC Tools.

Click here for full description [PDF]   


Each new ShopBot tool comes bundled with two powerful software programs to create CNC projects.

ShopBot Blog