My college roommate, Mike Skalnik, a developer at GitHub, recently told me about their new MakerBot Replicator 2, which he and his coworkers have been working to automate so that anyone in the company can 3D Print things easily. They’ve been doing great things with it since it arrived at their San Francisco office little more than a week ago, and I had a chance to stop by when I was in the area for a closer look.
Since the majority of employees aren’t present in the office at any given point, GitHub uses a company-wide chat to communicate, and utilizes an internally-developed, open source bot–Hubot–to complete tasks for them. Hubot can solve math problems, search YouTube, pull photos from Google Images, and queue up music over the office audio system, among many other things. Once Mike found MakerBot’s MiracleGrue slicing software on GitHub, he immediately started developing an application that allows GitHub employees to start prints remotely, through Hubot. He employed one of the office’s vacant Macbook Airs as a dedicated 3D Printing server, hooked it up to the Replicator 2 via USB, and began testing.
After less than a week of work, the results were pretty amazing (although Mike assures me, the code is “stupid simple”). GitHub employees can now request a print in the company-wide chat, with a message like “Hubot: 3D me https://tinkercad.com/things/9Ji3HC0Ukqq-desk-sign.” If the machine isn’t active with someone else’s print, Hubot will accept Thingiverse download links or TinkerCAD part links, which it can parse through to find and download the .stl file. From there, the file is automatically downloaded onto the Macbook Air, sliced in MiracleGrue with default settings, and sent directly to Replicator 2, where the print begins. And since the open Macbook Air faces the bot, you can request webcam shots from Hubot at any time, giving employees the freedom to start (and kill, if necessary) prints from anywhere, whether it’s from the other side of the office or the other side of the world.
From what I saw, everyone at GitHub is really excited to have a 3D Printer in the office; all it took was a few Octocat prints and a really pretty Yoda print I donated to convince other employees to start adding features of their own. Developer Slava Shirokov has began work on a “scriptable interface for STL transformation and accumulation,” called stltwalker, and although it’s not written into the application yet, it will eventually handle automated part packing, scaling, translation, and rotation. As of right now, Hubot provides the user with a link to a page of logs that displays slicing and printing progress, but there are plans to add additional slicing options and a more flexible camera solution in the near future. Being coding all-stars, I suggested that GitHub develop their own slicing software that’s optimized for remote printing and fast slicing times. And of course, everything will be done wirelessly through Hubot. Pretty neat.
I dropped off a copy of our Ultimate Guide to 3D Printing at their office, in case they’re interested in purchasing another machine in the future or want to venture into the world of 3D scanning. Mike promises me that the code for the application will be open source and available on GitHub shortly, and although it’s not quite ready for prime time, I’ll be sure to let you all know when it’s available. I bet they’ll be adding a few more awesome features between now and then as well, so stay tuned for an update!
Great work, GitHub! We look forward to seeing what you guys do in the future.