The best in Open-Source CNC control
The Buildbotics CNC controller controller achieves record breaking speeds on existing DIY hardware while setting a new bar for reliability. This controller's flexibility makes it easy to construct CNC mills, 3D printers and LASER cutters, opening the world of high performance benchtop-scale manufacturing to many new Makers.
While many Maker tools have advanced at a rapid pace, CNC builders have come to expect Open-Source CNC controllers to come as unassembled kits, often with exposed circuit boards. The Buildbotics controller is different. It is protected by a rugged aluminum box and comes with it’s own cables for connecting stepper motors and a wide array of cutting and extruding tools.
In CNC control applications, reliability is a huge concern. Yet, many inexpensive CNC controllers were designed with little or no attention to electrical safety. The Buildbotics controller is protected from short-circuits, reverse voltage and current overloads. Thermal protection was also considered. Due to the careful selection of high-quality electronic components, the controller does not need a fan to cool itself, even while driving 6 amp motor loads. Going fanless not only eliminates noise but also avoids sucking in dust and debris.
Easy to setup, easy to use
Working with CNCs may seem daunting but we belive now is the time for CNCs to enter the mainstream. We've made both setting up and using a CNC with the Buildbotics controller incredably easy with our rugged aluminum enclosure, premade cables and simple Web based configuration.
Dedicated computer not required
The typical lack of electrical protection in previous Open-Source CNC controllers has earned them a poor reputation. For this reason, CNC builders often still rely on decades old stepper motor drivers which, although robust, lack modern features or even basic programmability. Such drivers are tethered to a dedicated desktop PC over a printer cable. Just finding a computer with a printer port is difficult these days and tuning a PC to produce stepper motor pulses which are both smooth and fast is a black art.
Wired or WiFi Networking
The Buildbotics controller, on the other hand, offers a modern Web interface accessible from a browser over a local network or WiFi. It’s dedicated hardware is able to achieve smooth step rates in excess of 250,000 per second, with no tuning. CNC programs, even gigabytes in size, can be uploaded to the controller and run without further support from the remote computer. Whole networks of Buildbotics controllers can be managed from a single laptop computer.
Camera, Gamepad, VFDs. . .
A whole slew of features are now available in one package, including:
- Remote monitoring by USB web camera.
- Tool head positioning via a USB gamepad.
- Spindle speed control with PWM.
- Full control of high-speed VFD spindle drivers over built-in RS485.
- Heated 3D printer bed or coolant system control via two 15 amp switches.
Supporting software includes the impressive Open-Source CNC simulator, CAMotics. CAMotics displays 3D previews of the cut workpiece. After sending GCode directly to the controller, it shows continuously updated tool position and time estimates. Compatible software like FreeCAD, LibreCAD and Inkscape provide a completely Open-Source toolchain for designing, simulating and running CNC jobs.
RaspberryPi 3 Inside
Inclusion of a Raspberry Pi 3 running Linux and a 16GiB microSD card is particularly exciting. This platform has massive potential for integration with existing Open-Source software. For example, a high-speed pick-n-place machine with camera support could be quickly realized through integration with the OpenPnP project. Integrations with Octoprint and LaserWeb are also on the horizon.
Good documentation is essential. We are still working on perfecting our documentation and will continue to do so. If you have any suggestions on how we can improve, please let us know.
This controller has already been successfully tested in several CNC builds. We built and filmed the construction of a Taig CNC mill, an OX CNC router, a K40 LASER upgrade and a Dyna Myte 2400 retrofit. So far, the results are impressive. We achieved a record breaking speed on the OX of 2,000 inches per minute shortly after the machine was assembled. We have released these films on our Youtube channel.
Check out some of the machines we've build with the Buildbotics CNC controller.
- The Taig CNC Mill
- The OX CNC Router
- The 6040 CNC Router
- The Dyna Myte 2400 CNC Mill
- The K40-3020 LASER Cutter
- Doug's custom CNC router
The Buildbotics controller contains four highly reliable stepper motor drivers with the following specs:
- Up to 6A per channel
- 12v to 36v DC
- Up to 128 microstepping
- Smooth S-curve acceleration
- At step rates in excess of 250k/sec per channel.
It is suitable for driving NEMA 17, NEMA 23 and many NEMA 34 motors. We currently only support 3-axis Cartesian machines but preliminary support for a 4th rotary axis is underway. The fourth driver can also be synchronized to drive a single axis with two motors.
The PWM, enable and direction outputs can be used to control a wide array of tool heads. The RS485 connection drives high-speed VFD controlled air and water cooled spindles over two wires.
DB25 Breakout Box
DB25 M2 Breakout Board
Limit switches, Z-axis probing, PWM spindle control, RS-485 spindle control, and e-stop switches can be easily connected via a 25-pin I/O breakout board using simple screw terminals. This is not a parallel port.
We really like Meanwell power supplies because they are reliable and not too expensive. We especially like their power adapters which plug directly into the Buildbotics controller. Any power supply which outputs 12-36v DC, with at least 6A, can be easily connected with our custom power cable.
The Buildbotics controller kits come with pre-made cables for connecting stepper motors, power supplies and load switches. These cables really save time.
Inexpensive gamepads can be used for tool head positioning and navigating LCD menus. Plug into a USB port to jog the machine axes. Plug in a USB camera and keep an eye on your machines from a Web browser
Wired Ethernet provides reliable network communication even in noisy environments. USB WiFi dongles can also be used to put your machines on the network.
External Load Switches
Two load switches, each capable of supplying up to 15A can power heated beds for 3D printers, extruders, vacuum tables or whatever else you can think of. For AC loads an inexpensive SSR switch can be used and relays can be used for higher amp DC loads.
Heat dissipation was carefully considered throughout the design. As a result, the fan-less aluminum enclosure dissipates heat without pulling in metal and wood shavings. Check out what hackster.io blogger, Jeremy Cook had to say.
"Buildbotics' open source controller looks like [a] really solid solution for controlling CNC," says blogger Jeremy S. Cook of hackster.io. "If you have a CNC build or retrofit in your future, it's certainly worth checking out!"
Four screw holes allow the enclosure to be easily mounted on or near the machine.
We have put a lot of thought into making a robust device that not only protects its own internal electronics but also the devices connected to it. Here’s a list of some of the reliability features:
- Over current protection
- Over temperature shutdown
- Under voltage lockout
- Reverse voltage protection
- Short-circuit protection
Welcome, software and hardware developers. You made it. We’ve already implemented a lot of cool features but we have not even scratched the surface of what this controller could do. To make the Buildbotics controller a massive success we need to build an awesome developer community around it. That is why we’ve made everything Open-Source. Here’s what you can find on GitHub:
- Firmware source code.
- Hardware schematics and PCB layout.
- Enclosure designs.
- The buildbotics.com front-end, server code, image server and API.
Feel free to submit pull-requests or open new issues on any of these repositories. But please follow these best practices:
- First search for preexisting issues.
- Create a good title which clearly explains the issue at a glance.
- With bug reports include:
- your setup
- what you expected
- what happened instead
- any error output or logs
There are many features you could help us add to the Buildbotics controller. Here are a few things we'd like to add to the controller's built-in RaspberryPi 3:
- Installation and integration of LASER Web.
- Installation and integration of Chillipeppr.
- Direct support for 3D printing with OctoPrint.
- Support for OpenPnP pick and place.
- Built-in support for TPL.