A few months ago, GitHub HQ 2.0 got a MakerBot Replicator 2. GitHubbers
started printing almost immediately due to the easy setup but having to leave a
laptop connected was painful. We quickly learned how to print from the SD card
but then people without a way to write SD cards were out of luck.

What we needed was for Hubot to handle talking to the printer for us.
We bundled up some open source projects on GitHub, specifically MakerBot’s fork
of s3g, MakerBot’s MiracleGrue, and
@sshirokov’s stltwalker and put a small API on top.
Today, we’re releasing that as make-me!

Make-me makes it easy for anyone to print, primarily controlled by
your favorite Hubot instance. The HTTP API only allows for a single
print at a time and requires a manual unlock to help prevent others printing
while another print hasn’t been removed from the build platform yet. In addition
to this, it uses imagesnap to take pictures via web cam to give
you an idea of how the print is going.

We’ve been using make-me to power all of our 3D printing needs including
decorating our office with various prints and making useful trinkets.

What’s it look like?

Our setup at the GitHub HQ is still evolving. Right now, it’s connected to an
old MacBook Air, so we can use the web cam to see how prints are going remotely.

The Office Setup

Setting it up

Once you have your 3D printer plugged into a computer running OS X you can clone
make-me and run the bootstrap script:

$ git clone https://github.com/make-me/make-me.git
$ cd make-me
$ script/bootstrap


You can send STL files directly to the printer via make:

$ make data/jaws

You can pass some options to MiracleGrue, which you can read about in the make-me

Make-me ships with an HTTP API via Sinatra, runnable with script/server. It
takes advantage of the CLI interface, along with stltwalker, to
give you the ability to scale, print multiple STLs, change infill, generate
supports, and more. Want to print Mr. Jaws with the default settings?

$ curl -i -d '{"url": ["http://www.thingiverse.com/download:48876"],  
               "count": 1,                                            
               "scale": 1.0,                                          
               "quality": "low",                                      
               "density": 0.05,                                       
               "config": "default"}'                                  

You can easily setup the Hubot script to ask Hubot to accomplish these tasks for you:

Talking to Hubot

Getting Involved

Make-me is still rough around the edges. It started out as a quick project to
get something working and has evolved many new features from there. If you want to
help out check out the issues and send a pull request!

We hope this encourages more folks to dabble with 3D printing and automate some