Resinators: DIY 3D Printing

Introduction: Resinators: DIY 3D Printing

We are a team of three interns at TI this summer that worked on a design challenge together. This year's 2014 intern design challenge at Texas Instruments featured a DIY theme. Our first thought was, what's something that's not extremely accessible or thought of as DIY? How about a 3D printer! Our team started by obtaining a BeagleBone Black microprocessor and a small 3D printer kit. In order to drive the motors of the 3D printer we needed a BeBoPr cape and TI stepper motor drivers. After the printer assembly was completed, we developed a GUI that interfaces with any 3D printer and has the ability to calibrate, control, and input gcode from any file for easy access to any 3D printer. This is a revolution in 3D printer software integration and is unique to this DIY project.


Matthew Bruemmer - ME - SMU

Steven Hatcher - EE - SMU

Kara Schrader - CS - UT Dallas

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

Step 1: Get a BeagleBone Black and 3D Printing Cape + Bridge

When we initiated this project, we were provided with a BeagleBone Black through Texas Instruments. By itself, it would be next to impossible for the BeagleBoard to communicate with a 3D printer. After some looking around we found the BeBoPr Cape and bridge. This addition allows the BBB to communicate with a 3D printer and drive the motors. In addition, we had to also get TI stepper motor drivers to completely be able to drive our 3D printer. A 12V power supply is also needed to power the whole setup.

Links to items:




- bridge not needed for BeBoPr+ or BeBoPr++

TI Stepper Motor Driver:

12V Power Supply:

Step 2: Get a 3D Printer

We used a Printrbot simple maker's kit. It comes as a kit and requires a lot of tedious assembly, which was done by Matt. You can find the link attached which shows the detailed instructions on how to build our particular kit. Assembly took about 24 hours in total to complete over the course of 3 weeks.

The printer was built to have increased functionality with the BeagleBone Black by making it easy to separate components and motors for the ability to test and develop. The printer was a much needed part of software development due to a need for testing.

Step 3: Connect 3D Printer to Hardware

The next step is to assemble components and connect the 3D printer to the hardware.

After assembling the BeBoPr-Bridge and Pololu #2133 stepper motor drivers, the configuration can be put together. The BeagleBone Black sits on top of the BeBoPr-Bridge, which is connected to the BeBoPr. The stepper motor drivers are placed in the headers located on the side as shown. Once the hardware is put together, the printer can be connected to it.

The motors, analog inputs, extruder heater, and fan are all connected to the BeBoPr. An off-the-shelf 12V power supply is used to power the board. We cut off the barrel connector on the power supply to expose the two wires inside. We stripped the ends and attached them to one of the power connectors. Another set of wire connected the second connector to the first. This is the only power supply required for both the BeBoPr and the BeagleBone Black.

An 8GB micro SD card with a Machinekit image installed is used as the operating system. This image is based on the official Debian release for BeagleBone Black. More information on this can be found here:

Step 4: Create an Interactive Calibration GUI

We created a GUI using Qt that is both innovative and original with the functionality to seamlessly alter the .ini file which contains calibration settings for the printer hardware. Machinekit contains LinuxCNC which drives, controls, and allows the input of designs of various file formats. Any 3D printer is controllable in a matter of minutes with this combination.This is new to the designs of all current 3D printer software since it is an all-in-one package for the everyday DIYer with 3D printers. A new level of control and customization using 3D printers is now open to the world.

The GUI was developed by Steven Hatcher and Kara Schrader.


Image: MachineKit Image stored on an 8GB microSD card inserted into BBB

Libraries: Qt and MachineKit

Qt embedded setup:

Environment: Visual Studio 2013

Dropbox Code Repository:

Our working project is called: Resinators_Calibration_GUI

Step 5: Launch LinuxCNC on BeagleBone Black

Using the command "linuxcnc &", the program for controlling a 3D printer can be launched on the BeagleBone Black. We used X11 forwarding to view this, along with our calibration GUI. The "BeBoPr-Bridge" configuration needs to be selected from the list that pops up. Now the LinuxCNC GUI will show up and allow manual control of the printer along with the ability to load up design files! You can go ahead and play around and make sure the calibration settings that were entered earlier correctly reflect what the printer is doing. If not, close out of LinuxCNC, open the calibration GUI again and make the necessary changes, and go back to LinuxCNC and test. Repeat this as much as necessary. Once the printer is correctly calibrated, begin creating your very own prints!

Step 6: Enjoy!

Thank you for visiting our page!

Epilog Challenge VI

Participated in the
Epilog Challenge VI

Be the First to Share


    • Finish It Already Speed Challenge

      Finish It Already Speed Challenge
    • First Time Author Contest

      First Time Author Contest
    • Space Challenge

      Space Challenge