With the advent of cheap, low-cost 3D printing there are now fleets of 3D printers in operation. In my previous life as co-founder of MakerBot Industries, I have dealt with running one of those fleets. I can attest to the fact that it can be a pain in the butt. You are basically forced to use software that is designed to control a single machine, and you end up with control windows everywhere. Close one of them accidentally and you just hosed a build. Not cool.
I believe that low cost 3D printing has the potential to revolutionize not just prototyping, but small-scale manufacturing of parts: from 10 to 1000 units. With a small fleet of 3D printers it is possible to run them around the clock and produce enough parts to run a small business. While this has been possible before today, there has never been software designed with this task in mind.
Thus, BotQueue was born.
BotQueue is an online platform for distributing print jobs to multiple 3D printers for production. As the name suggests, it allows you to create a print queue which contains jobs. Your connected bots will grab jobs and produce them. As each job is competed, the operator is prompted to remove and verify the output. Upon successful completion, the bot will grab the next job and start producing it. This continues until the queue is empty. If a bot fails, it is taken offline for repairs.
Another huge benefit of BotQueue is online access to your bots. The main interface to control your machines is through the BotQueue website. This means you can access your bots from anywhere in the world. You could queue up a print while on the road, and come home to a finished object on your 3D printer. Future support is planned for webcams, so you will even be able to check up on the printing progress remotely.
The best part of all this? It’s 100% completely open source. Both the web server and client software are licensed under GPLv3. An instance of the BotQueue server is being hosted on botqueue.com, but you are free to run your own local server for private production, a public server for hosted printing, or whatever you want. The code is located at github.com/hoektronics/botqueue.
BotQueue is designed for running machines as close to 100% capacity as possible. However, it would work just fine for everyday single-machine, sporadic use. It would also work well for putting development machines through life testing as it tracks failures, printing time, and general usage statistics.
This is the v1.0 release of BotQueue, so it may be a little bit rough around the edges. Currently it only supports RepRap machines running gcode-parsing firmwares such as GRBL, Sprinter, Marlin, etc. Future support is planned for MakerBot machines. The client has a driver-based architecture and is written in Python, so it is straightforward to add support for new machines or firmwares.
To get started, visit the apps page for information on how to download and install the BotQueue client aka Bumblebee.
Oh, and one more thing. BotQueue has an API for most operations such as adding jobs, grabbing jobs, etc. Want to integrate your distributed manufacturing center with your sales system? Have at it!
Question, if the end user is slicing the file and producing the gcode then putting in a queue to be printed remotely, how does one have control over machine specific info that would normally be done by the slicer such as width over thickness, z axis offset, min layer height, temperatures, etc? Wouldn’t it be better to upload the stl and have the remote printer side slice with machine specific settings?
Hah! You got me. Adding slicing is going to be the main feature for v2 of this software. 🙂
Do you plan to make a slicer from scratch or pull in an already functioning slicer?
I’m integrating slic3r, which is popular, awesome, and open!
I was actually going to recommend Slic3r but you’re already ahead of me. Kudos! So far this project is awesome and I look forward to continuing testing.
Pingback: P2P Foundation » Blog Archive » The production chain management for 3D Printing is born: Botqueue
Pingback: BotQueue: Open Distributed Manufacturing « Ponoko – Blog
What I would like to see is an agent that talks to the printer from an attached pc (or perhaps lightweight agent on arduino, pi, etc.) and then a standard protocol that all front ends can talk to across a lan with the option to hook up the agent to your www service. More like a printer driver than the current system where every frontend has to support all the hardware.
Great work. The gap between home hobbyist market and industrial market is multiple job queuing, pragmatic production line orchestration and other omni/mass-production features.
MakerBot’s (apparently slightly borrowed from opensource RepRap) conveyor and Voxeljet have not closed the case on this window of opportunity to say the least – we could be only just at the beginning.
Pingback: Produktionslinie mit 3D Printern : MBI Blog
Is it the intention also to operate crossborder and is there a described format/quality level /pricing structure planned in this concept?
BotQueue is just software to control multiple 3D printers. There is no pricing structure, and the website is accessible from anywhere in the world.
Pingback: Contextualización « Hay chispas
So…BotQueue works by sending a gcode file to a remote printer, which then executes it and reports back if it gets interrupted or finishes, right? And a gcode file is just a series of commands that the electro-mechanical system executes.
Does that mean if you used 3D printer parts to build a robot arm that you could write a gcode file to have the arm clear the printer? Then you’d just alternate the arm’s “print” file in between the printer’s part files. Then you could print indefinitely!
exactly. you could also have other gcode controlled machines running… like cnc machines or laser cutters. lots of possibilities here. 🙂
I’m new to this “opensource” idea bouncing. Would there be a problem with using different types of printers? If I had a cupcake, Prusa, thingomatic, mendelmax, huxley, printrbot. All with different build platforms and extruders (not that I have all of these printers) would this software be able to compensate for all of the machines? Sorry if you answer this somewhere
For the most part, yes. First, each type of printer needs a driver. Right now only RepRap is supported, and I hope to add Replicator/Replicator2 support soon. Cupcake/Thingomatic are unlikely to get added at this point. Second, I’m going to be releasing a new version of the site next week that adds online slicer support. That means you can upload STL files directly, and they will automatically be downloaded and sliced with exactly the right config for each machine.
So yes, you should be able to operate a mixed-machine bot fleet. 🙂
No thing-o-matic!? I need to learn to program to add support!
There is no doubt in the fact, that 3D printing is the future of printing technology. Botqueue concept is very impressive. It is very helpful for printing professionals indeed!
I’m not sure I see how this would be practical in a commercial sense. If I had a customer that wanted 200 parts and they were printed by various machines around the world, how would I get them all shipped to my customer. I don’t think they would be to pleased with the idea that their job would be arriving piecemeal, from various locations and at various times, with no consistent quality control. And then there’s the issue of the higher shipping cost from multiple shipments instead of one.
I agree that would be impractical, but you have misunderstood what this software does. This is just software that allows you to control large groups of 3D printers at a high level. Whether they are all in the same room or across the world doesn’t matter.