Jeffrey Rowe has more than 40 years of experience in all aspects of industrial design, mechanical engineering, and manufacturing. On the publishing side, he has written well over 1,000 articles for CAD, CAM, CAE, and other technical publications, as well as consulting in many capacities in the … More »
Open Source Software For 3D Printing: Rapidly Evolving Capabilities
May 5th, 2016 by Jeff Rowe
Like virtually all of our readers, I have purchased and used a lot of proprietary software for a long time. I am also a fan and proponent of the open software and hardware movement. Here, I’ll touch on open source hardware and focus on open source software.
One of the things I really like about source software and hardware is that it is about working not with just technology, but people. Also, the open source software and hardware sectors are growing. Open source software is not driven by corporate budgets, but by people fulfilling a need and software development and use freedom. My open source experience has also taught me that the currency of open source is not necessarily money, but more likely, beer and T-shirts.
Both open source software and hardware projects are built and maintained by a network of volunteer developers and other team members that help with development, testing, documentation, marketing, etc. While much of the software may be free or very low cost (depending on the licensing arrangement), there are also independent implementation, customization, and support consultants who are paid for their services.
Over the years I have learned the four basic tenets to open source software:
I have always felt that this philosophy was a refreshing change and difference when compared to most closed, proprietary software.
When I thought about it, the list of open source software applications is actually quite long. Some of the major open source applications you may have heard about include MySQL, LibreCAD, Apache Server, FreeCAD, WordPress, Mozilla Firefox, Joomla, WordPress, OpenSCAD, and Drupal, to name just a few.
I have found it interesting that all of the members of the European Union (EU) are required to use open source Linux-based software exclusively, and this includes everything from operating systems to office applications. There is also a move afoot here in this country to attempt to do a similar thing, although, like many things technical, we are years behind from making this happen.
So, a brief note on open source hardware.
MakerBot, once the progeny and a proponent of the open source hardware/software movement was acquired a couple years ago by Stratasys for just over $400 million. Not bad for a company whose origins were the open-source community.
I use “open source” and MakerBot in the same sentence rather loosely because MakerBot became pretty closed and proprietary not all that long after its inception in 2009. It certainly began with an open-source design based on the RepRap Project, but effectively became a “closed” system with the advent of the Replicator 2 in September 2012. At that time, the company said it “will not share the way the physical machine is designed or our GUI.” This sudden departure from its previous open-source embrace and no longer willing to share with the community that made MakerBot possible in the first place was met with criticism in many circles. To be fair, though, MakerBot has created several products and services beyond its flagship 3D printer, which was definitely an improvement over its base design.
Don’t get me wrong, MakerBot’s principals made a lot of money off of this deal, and there is nothing wrong with that. My issue comes from the fact that relatively few truly benefitted from this transaction that in reality was the work of many in the open-source community. Business is business, I guess. Who says there’s no money to be made in open-source technologies
So, yes, there are open source MCAD software possibilities, but I want to focus on specific open source software targeted at 3D printing – OctoPrint.
Getting Started With OctoPrint
OctoPrint is an open source web-based host for RepRap-based and many other 3D printers that provides a web interface to upload and print g-code files. It’s compatible with many fused deposition modeling (FDM)/fused filament fabrication (FFF) 3D printers with Marlin firmware or its variants, however, and not too surprisingly, it’s not compatible with MakerBot .xg3 files.
All 3D printers need host software to function. Host software sends the commands to a 3D printer that tell the printer how to build an object. Most host software communicates with the printer via a wired USB connection. For most 3D printers, a computer running the host software must stay connected to the 3D printer at all times during use. Obviously, this is not always a great situation, hence the utility of being wireless.
There are basically two ways to perform wireless 3D printing. First, a g-code file can be saved onto an SD card using a computer, then the SD card can be transferred to the 3D printer where the print job is initiated via a controller into a 3D printer.
This arrangement allows wireless 3D printing, but it lacks most the advantages of a truly wireless setup. The 3D printer can still be placed away from a work area, but beyond that, using the SD card transfer method is really no different than transferring data over a cable. The second way to do (truly) wireless 3D printing is by running the host software on a small embedded device, like the Raspberry Pi, that is connected to the 3D printer.
This is analogous to using a dedicated computer for 3D printing that stays connected to the printer at all times. But, instead of using a computer for this purpose, the host software can be run on something, such as a Raspberry Pi, which is just powerful enough to run the software.
The two most popular host software packages developed for wireless 3D printing are OctoPrint and AstroPrint. AstroPrint is, in fact, based on OctoPrint, and claims to have an optimized codebase for running on embedded computers. The AstroPrint team has made changes and additions to the software, making the two host software offerings quite a bit different in many ways.
In the near future I will contrast and compare OctoPrint and AstroPrint, because while they do share some similarities, they are also different.
Setting Up OctoPrint With The Lulzbot Mini 3D Printer
So that’s an encapsulation of some open source developments in the 3D printing community, but will the general MCAD vendor community jump on the open source bandwagon? I tend to doubt it, but I am sure that most of the “money” players will continue to watch closely to see what transpires as the open source movement continues to grow and evolve. Who knows how the economy, social networking, and the next generation of software users might shape the MCAD software market and how it does business. Open source as a potential future alternative CAD source? It’s been happening for some time and will continue.
One Response to “Open Source Software For 3D Printing: Rapidly Evolving Capabilities”