Monday, 28 January 2013

How to control multiple 3D printers? BFQ

I don't know if anyone else has done this, but I think it would be useful to be able to create a queue for the parts you need printed on a reprap and have some software that works out how to lay it out on the bed, slices it, and starts the print whenever a printer is free.

I've called it BFQ (Bot Farm Queue)!!

Minimal configuration:
  • Printers all have different size beds. Program must be preconfigured with a list of printers and their corresponding sizes.
  • Printer beds are now different shapes. We need to accomodate standard rectangular as well as circular/triangular delta bot beds - I'm talking Rostock.
Optional configuration
  • dual extrusion enabled?
  • multicolor extrusion?

Users will add STL files to a queue. The program works out that printer A is available with a 200 x 200 x 150 mm built platform. The first item in the queue is selected and laid out on the bed in Slic3r, followed by as many as possible of the remaining items. When the item at the front of the queue doesn't fit the program should look for smaller items further down the queue to fill the bed with. Slic3r would then generate the required gcode and the program uses to send the code to the required printer.

  • Program must 'auto layout' STLs in Slic3r. Slic3r's built in function for this is currently not that advanced.
  • We must find a way to connect 10, 20, 100 printers to a computer. This may be possible using a simple USB hub but needs testing and a way to send the print command to the right pronsole instance connected to the right printer. (assumes 1 instance of pronsole running for each connected printer)

When I have some time over the next month I may start experimenting with some of the required features. Step 1 for me is sorting out the auto-layout. I think if I can crack this then the rest should be easy (famous last words).

If you want to help or have any suggestions please comment below :)


  1. Just found a similar project:

    Don't know if it's off the ground yet.

  2. BotQueue is currently being worked on to include that functionality. Right now, it can control multiple printers from the internet by submitting jobs for them to run. Go check it out at

    1. Since finding BotQueue about 2 weeks ago (see previous comment) - I've now converted all my printing to use it. I love it as I don't have to manage redundant G-code files and I can plan ahead rather than thinking what's next each time I remove stuff from the printer.

      Also I will soon have a second printer (rostock) so it'll be even more usefull when that gets movings!