Driving 3D Printer Drivers: A Fast Developing Part of the 3D Ecosystem
In part 1 of this article series, Ivan Pope introduced his overview of the 3D printing industry’s ecosystem and then part 2 documented the content arm of that ecosystem. Here, in Part 3, he considers the drivers — the control software — that is integral to the ecosystem as a whole.
The driver software that comes with a 3D printer has tended to be a straight open source tool or a variant of such a tool. These drivers have grown up alongside the hardware industry and are variable in their functionality and user friendliness. You may have a choice of software to use or you may be restricted to a single offering. Further, the control software may be split between object management and ‘slicing’ software. Repetier, an open source driver, for example, can use a variety of slicing software within itself. As the hardware companies extend and expand the functionality of the printers, the software has to move fast to keep up. Open source software that is by its nature generic often does not allow for this, but as it is open source, manufacturers have been able successfully to create their own variants.
It is in this space, the systems that connect local computers, printers and the wider networks, that some of the most interesting and potentially exciting work is happening. Most of the software in this space is very new and still in the process of formation. Even if basic or conceptual barriers are being pushed, it seems there is still a lot more to come.
As the users of printers have become more sophisticated and the available options for printing become more complex, demand has grown for a new generation of printer driver software. This software can (and does) integrate more or less of the previous functionality. For example, all printer driver software has to do is import a 3D file, create a connection to the printer, create G-code for the print and send it to the machine. Creators of second generation software have to decide where to expand this toolset and which direction(s) to expand in.
There are two basic ways to add software between the printer and the network or PC: to add a hardware device to mediate or to ensure that the software can drive as many different printers as possible. Both of these approaches have their advantages and disadvantages. The sort of functionality these approaches add include improved slicing, intelligent support structures, graphical interfaces and preview functions.
MatterControl is a free, open source application that lets you organize and manage your 3D prints and perform minor edits. If you are struggling with your current printer software you might love MatterControl, which comes with a huge range of printer settings built in.
Taking the commercial software approach are Simplify3D, an established software alternative for driving a printer. Simplify3D Software contains everything you need to begin making parts on your new 3D printer. Import and manipulate geometry, repair models, generate G-Code instructions, verify toolpaths, manually control your machine, and print parts all from the same program. Simplify3D supports the Marlin, Sprinter, Repetier, Sailfish and MakerBot firmwares out-of-the-box, which covers around 45 major desktop 3D printer brands, so with a bit of luck you can just plug it in and carry on working.
While Simplify3D has no network features, Printr offers browser based printing and calls itself the ultimate 3D printing platform and ‘the last piece of technology you will ever need when it comes to 3D printing’. However, it is early days for Printr, as they are still in Beta. Aiming to simplify the interface for 3D printing is a noble aim, and Printr make some serious claims in this respect. They also say they will offer several other parts of the ecosystem including apps, an object shop and a printer network in addition to community tools. While all these parts are interesting, no other company is making such a huge territorial claim – it will be interesting to see how a startup manages to compete on so many fronts.
The addition of wifi printer access, and beyond that, internet access to the printer via the browser, often uses an extra hardware component to sit between the network and the printer. OctoPrint, for example, runs on the Raspberry Pi or another Linux based board, such as a Raspberry Pi, Beagle Bone Black, or pcDuino, turning your printer into a remotely accessible host.
AstroPrint is also a Raspberry Pi based software system, although they produce their own AstroBox as well. Still a Kickstarter project, AstroPrint promises Wireless Printing, Cloud Slicing – updates and optimizations are automatic, Camera Support – live viewing online & auto updates via text or email and Online File Storage – access your files anywhere, anytime.
The Doodle3D box is a simple wireless box with a web based interface that allows you to draw doodles and send them directly to the printer, bypassing other software. Doodle3D also has an API which will allow third parties to create tools to use the wireless connectivity for other purposes.
PrintToPeer is another Raspberry Pi hardware solution, funded through an Indiegogo campaign. way to use your 3D printer, and the easiest way to coordinate multiple 3D printers. PrintToPeer gives you control of your 3D printer from anything with a web browser, anywhere in the world. PrintToPeer’s also has an API which will allow you to 3D print from your apps and games.