Faster and easier! MachineKit install using packages

A past post here described installing MachineKit from source, but now you have a much better option: using a package-based install.

What’s a Package?

‘Package’ refers to a Debian package, which brings together all the stuff (code, scripts, images, documentation, etc.) needed to run a piece of software.  Creating, storing, and keeping packages up-to-date is thankless work, but once someone else has made a package, the code is vastly easier to install.  Then you don’t need to install a compiler and all its dependencies just to build a piece of software, then wait for that software to build, which previously was around 40 minutes for a BBB, nor do you need disk space for all of those.  With a package, you can get new features and bug fixes, plus can easily revert a version if it doesn’t work for you – in a single-line command.

This post provides instructions for getting MachineKit up and running using packages, on a fresh BeagleBone Black rev C (the one with 4 GB of embedded memory). I assume you know how to flash an image onto your BBB and connect to it. If not, you may find my earlier Initial Setup post helpful.

Flash the latest image

Start with the latest Debian Testing snapshot, from this page:

Continue reading

MachineKit Delta configuration + calibration

tl;dr: Instructions to run (and calibrate!) a linear delta 3D printer on MachineKit. I use a CRAMPS board but much of this applies to other boards too.

The first post in this series showed how to get a CRAMPS board up and running with MachineKit, along with how to verify that each board feature works as expected.

This second post shows how to get a Linear Delta 3D printer (a la Rostock, Kossel, 3DR, Wolfstock, etc.) running and calibrated with this same CRAMPS/MachineKit combination. Most of the instructions will apply equally to other boards like the BeBoPr.

Continue reading

Initial Setup: CRAMPS BeagleBone cape with MachineKit


CRAMPS works, and the tips here might save you some time getting yours set up.

Why make and use a CRAMPS board?

I had some good luck at the end of 2013 using Charles Steinkuhler’s MachineKit SD images on a BeBoPr board with BeagleBoneBlack to control a Kossel delta printer to print parts for a GUS Simpson.  At the time, it was developer-level software on a developer-level board with a developer-level printer, making a completely-out-there experimental 3D printer design.  Bleeding-edge fun.  I posted a YouTube video of it and got a few hits:

The BeBoPr is great, but it’s expensive, has limited availability, and is closed-source, so it can be a bit harder to debug stuff.  Recently, Charles designed a simple, low-cost, hand-solderable board similar to the BeBoPr, but open-source.   It’s like the RAMPS board used with Arduinos, but as a BeagleBone cape, and designed for 3.3v logic.  Here’s mine:


These are available on Charles’ web store for a reasonable kit price of $60 or board as $10.  Add a $45 BeagleBone Black and 4x Pololu-style stepper drivers(~$50) and you’re within spitting distance of a PrintrBoard in price, but with vastly more power (32 bit, 1 Ghz + 2x200MHz microcontrollers vs 16 Mhz, 8-bit, no floating point) and a much more flexible dev environment (Python, C++, shell scripting on an OS etc vs embedded C).

Cell-phone ARM processors are the future of RepRap control, especially for printer types that require coordinate transformation, like deltabots, although the software options are not currently as feature-complete or printer-specific as many Arduino-based options.  Add MachineKit, which does machine path and motor control in a real-time way (so that nothing else running on the CPU can interrupt your machine’s motion) and you’ve got professional-level open-source printer control.

Anyway, enough high-level view.  Presumably you’re here to set up your CRAMPS, or at least see what the setup process is, because it really is totally different than Arduino-based boards.  The current docs for this combo stop at the board build, so posts like this will help fill in a documentation gap or hopefully get pulled into official documentation.

Continue reading

Introducing SkyDelta

tl;dr: a prototype of new kind of 3D printer shows promise.

SkyDelta is a new style of open-source RepRap 3D printer.  Similar to deltabots like the Kossel, Rostock, Cerberus, Wolfstock, and many others, it has a triangular-prism frame.  However, instead of using linear rails and rigid rods to move the print head through space, SkyDelta employs tensioned lines.  Click the YouTube video below for a walkthrough of the first prototype of SkyDelta, mounted to a larger Kossel Mini frame:

This post walks through the motivations, challenges, and resulting design of SkyDelta, whose parts are available on GitHub.  I find long-form blogs like those from RichRap and Terence Tam to have invaluable content for those who aspire to move from replicating others’ designs, to tweaking them, to finally, creating originals designs to share with the community.  If you’re just interested in making one, skip to the bottom for instructions and the current status.

Continue reading

The Future Has Arrived

Why a blog?

The world has changed in the last few years.  Computer-controlled machines like mills, routers, lasers, and especially 3D printers are becoming increasingly affordable.  Using nothing but open-source tools, one can create a part, generate toolpaths to run a machine, and then execute those commands at high speed.  With code, design, and video-sharing sites, it’s easier than ever to communicate ideas and iteratively refine them.

Affordable, open, and collaborative – this is the new way to make.

It’s time to jump back into making things, after years focusing on a PhD.

I’ll be covering machine builds, project stories, and random thoughts.  Enjoy.