3D Printer

From All Hands Active Wiki
Jump to navigation Jump to search

All Hands Active has two functional printers: A Makerbot Industries Cupcake Replicator 2 and a WanHao i3. Previously, we had the Makerbot Industries Cupcake series 3D Printer: Replicator. AHA also had: A RepRap, a Kossel Clear, and a Rostock variant called WayneStock Replicator.

The cupcakes are both heavily modified from their original state. Aside from the chassis saying Cupcake, refer to documentation shown below.

As of 8/24/18:

  • Creamcheese is functional.
  • Replicator is functional via the Right nozzle.
  • WanHao Duplicator i3 is fully functional
  • Blackbottom is waiting on a new XY Chasis.
  • Kossel Clear is being rebuilt
  • Waynestock is waiting on more time.

A slic3r config bundle for all various printers and materials is located here: https://github.com/allhandsactive/AHA-3DPrinters/blob/master/AHA-Slic3r_config_bundle.ini

Creating a 3D Model

Lots of software exists to create models. As long as the software can export to STL file format, you can print your model. Check out the following software packages that we recommend.

  • Trimble (previously Google) Sketchup Make - [1]
    • Skethcup STL Plugin - [2]
  • OpenSCAD - [3]
  • Blender - [4]
  • Rhino3D - [5]
  • OnShape - [6]
  • FreeCAD - [7]

3D model database

File Types


The slicing software needs your 3D model as an STL file before it can slice it. Slicing produces a file which has GCODE to describe the toolhead movements for each layer. It is important that your STL file only include one solid water tight object. Missing faces, open verticies and improper normal calculations will cause the slicer software to produce errors. You can fix some of this issues in an automated fashion by using NetFabb Basic, Blender (recalculate normals) and MeshLab's repair mode.

How to fix an STL

You've got holes, or inverted normals? You can fix this by hand, try Blender or Meshlab. For a quick fix either try netfabb basic on client or NetFabb cloud [9]. These can fix basic problems and possibly produce a better file. You need 1 shell, non-inverted normals and no holes to get a good print.

The newest versions of Slic3r will automatically try to fix holes and other errors in your stl files. This can work, but make sure that your model hasn't changed dramatically before printing. Take a look at it in the 3d view.

You can also try these awesome pieces of software:

  • MeshMixer
  • MeshLab
  • NetFabb Basic
  • blender


This is a description of the tool path that is generated by a slicer. The file includes commands which instruct the printer how to move to produce the final object


Replicatorg converts a GCODE file into this reduced and compressed file type. This is equivalent to the GCODE but the smaller and easier to parse file type can be read off an SD card with less work. Use the build to SD card function in Replicatorg to produce this file. It can also be created with Makerbot's software


  • Layer Height - The size of each layer the printer produces. This is limited at it's maximum by the size of the nozzle and at it's minimum by the amount of plastic produced and how much stretching occurs.
  • Infill - The pattern and amount of plastic put inside the model to support it.
  • Shells - The number of solid outer layers the model has
  • Raft - A piece of plastic generated to stick to the print bed. This also includes support material for the object
  • Filament - The plastic fed into the printer
  • Extruder - The part responsible for filament melting and forming it into a continuous profile.
  • Slic3r - Produces a GCODE file from an STL file
  • Skeinforge - Produces a GCODE file from an STL file, built into Replicatorg
  • Replicatorg - Produces a S3G file from GCODE and controls the printer
  • OpenSCAD - 3D Solid Modeling software

Makerbot Replicator

The Makerbot Replicator .
The Makerbot Replicator 3D Printer.

Current Status

  1. 1/27/2017 - Working, right nozzle is fine. Left hasn't been thoroughly tested.

Things this bot has:

  • Heated glass bed
  • Stronger Arms supporting the platform
  • Custom enclosure

What do I need to run Makerbot Replicator?

  • Get Makerbot Desktop software from Makerbot.com

Printing with Makerbot Replicator

  • Turn printer on (switch on back lower right).
  • On the front screen find the preheat option and start it for the nozzle you want to use and the bed.
  • When it's up to temp, feed in the plastic you want (you may have to reverse out an existing plastic).
  • Load Makerbot Replicator desktop on your or the 3D printer computer.
  • Add a model (.stl file) to build plate in software.
  • Click the print button. Printer will heat and begin to print.

Changing Filament

  • Preheat nozzle to change by using interface on front of printer. (220 for ABS!, Less for PLA)
  • Pick change filament
  • Printer will back out filament (press the spring tab on extruder to release it)
  • Take the new filament and using wire cutters make sure the end is flat. Feed it down the tube in the extruder and when at the bottom, fasten the latch.
  • Press load filament
  • Feed new filament through tube and into top of printer by pressing spring clip on desired extruder.
  • When color has fully changed to new filament, stop the extruder process.


Questions? Can you borrow it? Break something? Contact one of the following people!

  • Alex W.
  • Nick R.
  • Tyler W.

Wanhao i3 (Prusa)

This is a Prusa i3 clone. Can print both PLA and ABS. It has a heated bed and can be controlled from the front panel and a sd card. Pronterface works at 115200 baud, and slicer configs are available for several plastics. Get the latest Slic3r config bundle at https://github.com/nristow/AHA-3DPrinters .

The printer has been tuned and at low speeds does a really nice job with PLA. The current configuration can print parts with a layer thickness down to 100 microns. Increasing the print speed should be fine, but you will notice more waviness around corners and dimensional accuracy will suffer.

The standard configs will need to be tweaked based on individual models. Supports are important and will need to be setup for each model as needed.

Setup for PLA

PLA will stick fine to the bare bed, but not to glue stick. If there is any glue stick on the bed, wipe it off with alcohol or windex before printing. Heat bed to 60C max. Filament to 190-210. If there is a part of your print that isn't adhering to the bed, clean the bed with alcohol or windex. Try not to touch the bed.

Setup for ABS

Gluestick works great for keeping ABS stuck to the bed. Blue tape can also be used. Heat bed to ~110C. Filament to 235-240. PLA is recommended.

Changing Filaments

Heat the nozzle to 190-230C depending on loaded filament. Depress lever on top of the nozzle, next to where the filament is loaded, and pull the filament out.

To replace, depress the lever next to where the filament feeds and push the new filament down the hole until you see it extruding. The filament needs to through an internal tube to reach the extruder head. If it misses, the filament will start winding around the stepper gear. It may take several tries to thread the filament correctly. Cut the end of the filament on an angle to help guide it into the tube.

If changing filament types (eg, from ABS to PLA), the bed height will need to be adjusted to compensate. This can be done fairly quickly by using pronterface to fly the head to the 4 corners of the bed. Make sure that the head is 0.0 - 0.2mm above the limit switch. Then move the head 200mm to reach each corner. Adjust the screw under the head at each corner until the head is just above the bed.

When starting a print, if you notice that the filament isn't sticking, make sure that the bed is prepared correctly as noted above. Then raise the bed so that it is closer to the extruder head.


Questions? Want to help us build or document it?

  • Tyler W.
  • Nick R.
  • Nate Y.
  • Alex W.

Creamcheese Cupcake

Current Status

  1. 7/26/2017 - Still working! Lives with it's owner currently. Contact Tyler W. to borrow it or use for events.
  2. 11/26/2014 - Working. Acrylic available for cutting new Z stage, but not critical.
  3. 11/2/2014 - ACME threaded rods are installed, need to cut out a new Z stage. Current stage is binding against the rods.
  4. 10/4/2014 - New config files from Nick provide excellent prints using latest Slic3r version.
  5. 2/2/2014 - New config files created by Josh provide better looking prints!
  6. 1/4/2014 - Working! Heater was replaced along with the extruder stepper driver. Frank assisted with tuning and all is now well in the world. Go print something!
  7. 12/19/2013 - Karen from Makergear shipped us a new 12V heater! Ours is 24v and can't be driven by the current bot hardware! This needs to be replaced before it works again!
  8. 12/12/2013 - Joshua from MakerGear says check resistance. ~4 Ohm = 12v V3b Extruder. ~14 Ohm = 24v V3b Extruder
    1. Ours is measuring right around ~16 Ohms.
    2. Awaiting feedback from Joshua (MakerGear)
  9. 12/04/2013 - Sounds like Extruder might not be correct version? Emailing MakerGear
  10. 12/01/2013 - Temps of extruder not reaching >195 deg C. Also taking significantly longer. Contacted Tyler.
  11. 12/01/2013 - HBP wire mount added
  12. 12/01/2013 - Wire from RAMPS board to Heater Core connector. Connection on our end was loose. Re-crimped.
  13. 12/01/2013 - New MakerGear Extruder mounted
    1. One of the white temp. sensor wires fell out of connector, re-crimped.
  14. 11/24/2013 - Sanguino board replaced
  15. 11/21/2013 - Dead! Heater core has melted out of the extruder barrel.
    1. Parts have been ordered, repairs will be made over the next week / weekend

This bots history

This machine started as a Cupcake with Gen3 electronics and Gen3 Extruder.

DO NOT LEAVE THIS BOT PLUGGED IN WHEN NOT IN USE! If power supply is on, bot is on!

  • 6/10 - Bot received
  • 7/10 - Changed to makergear hot end
  • 1/11 - The X and Y axis were made a low rider and changed to be quiet and more accurate.
  • 5/12 - The DC extruder died during a 3D printing talk at Penguicon 2012. Switched to Stepper extruder
  • 7/12 - Replaced stepper drivers with Pololu
  • 10/12 - Accelerated
  • 11/12 - Converted to RAMPS motherboard. Use pronterface to run
  • 11/13 - New hot end.
  • 12/13 - New RAMPS and stepper drivers

Things this bot has:

What do I need to run Creamcheese?

  • Get Printrun, it comes with pronterface. Grab the newest tested with August 2014 version.
  • Get Slic3r 1.2.0 Experimental -- Updated 10/04/14
  • Get the Creamcheese config files from here: Tyler's repository of cool stuff! - Updated 10/04/14
  • Place the 3 directories (filament, printer, print) and their contents into the Slic3r config directory.
    • Linux: /home/user/.slic3r (hidden)
    • OSX: /Library/Application Support/Slic3r/ (Not tested)
    • Windows 7 : C:\Users\Username\AppData\Roaming\Slic3r\
    • Windows XP: C:\Documents and Settings\edutainment\Application Data\Slic3r
      • You may have to run slic3r once before these directories appear
  • In Pronterface (printrun) options set the following
    • Baudrate: 115200
    • Builtemp_abs: 110
    • Build_dimension: 100x100x100-50-50+0
    • temperature_abs: 215
    • xy_feedrate: 3000
    • z_feedrate: 555

Printing with Slic3r and Pronterface

-- Please use this checklist when using the printer. It helps us track settings and walks you through using the printer. [| Printer Checklist]

  • Get a model in STL format ([Thingiverse.com] or cad program)
  • Start Slic3r and make sure Creamcheese settings are loaded Creamcheese, 3MM ABS, Creamcheese
  • Under Print Settings, change fill density and shells. We recommend .10 fill density and 2-3 shells.
  • Under platter drag your STL files into slic3r or use the Add button. Move things so they will fit.
  • Press export GCode.
  • Save the result.
  • Open Pronterface.py and connect to CreamCheese with baudrate 115000.
  • Load your newly generated GCode file
  • Preheat platform to 110 and head to 215c. Enable "watch" to see it rise.
  • Once at temp, raise the head (either manually or with button) and extrude a little bit of plastic to prime the extruder.
  • Clear plastic, lower head to just touching platform in the center
  • Press print.
  • Bot will check platform temp and raise it if needed.
  • Bot will check nozzle temp and raise it if needed.
  • When at temp a count down will begin in the W:? from W:5 to W:1 and then print will begin.
  • If it doesn't stick, hit pause, re-position everything and hit restart in pronterface. It's also possible to put down blue painters tape, a bit of slurry on top of it, wet it with paint thinner and print on that. See a member for example before you try it yourself. If done incorrectly it can damage the heated print bed.
  • After finish, let print cool on platform. When cool the print should remove easily without deforming. If using slurry, you need to remove the painters tape first.

Changing Filament

Connect to the printer using Replicatorg and open the control panel. Heat the extruder up to 220c (for ABS) and the platform to 110c. When at temp, release the latch on the extruder (blue spring part) and pull the filament upward.

Take the new filament and using wire cutters make sure the end is flat. Feed it down the tube in the extruder and when at the bottom, fasten the latch. Using Replicatorg run the extruder forward until filament comes out. Continue to run it until the color changes to a solid color. Changing from dark to light filament requires significantly more time running the extruder forward to clean it out.

Experimenting with the 3D printer configuration

The firmware for the 3D printer is included with the zip file of configurations found here: Tyler's repository of cool stuff! - Updated 10/04/14

The configuration.h file in the marlin directory includes all the settings necessary to run Creamcheese as it is currently tuned and configured.

If you are curious how we've done the calculations for running it or if you wanted to try out Creamcheese using Skeinforge instead of slic3r, we've done some work in the past. You can find it documented here: Experimental Config

Repetier-Host: A very limited trial was done using repetier host. The bot heated successfully and moved. Slic3r also picked up the config files provided in our zip. We did not try printing and found repetier to be rather resource intensive compared to pronterface. This was performed on 01/04/14 by Tyler W.


Questions? Can you borrow it? Break something? Contact one of the following people!

  • Tyler W.
  • Michael Sh.
  • Josh W.

BlackBottom Cupcake

This bots history

November 2014, installed Ramps1.4/Arduino board. Firmware loaded. New controller cannot move x-y stage, too much drag with original hardware. Need to print a low-rider x-y stage similar to what is installed on Creamcheese.

This machine was confirmed working on December 19th 2013 by Tyler!

This machine started as a Cupcake with Gen3 electronics and Gen5 Extruder. The DC extruder was upgraded by Ox to a Gen5/6+ stepstruder. The bot originally was given a 3G5D board but it never worked well. As a result we did the ugly cable hack.

At some point Ox decided to donate this bot to AHA!

It was renamed from Ox's bot to BlackBottom Cupcake (alternate name for a creamcheese cupcake) on 7/1/12

Things this bot has:

  • Gen3 Electronics + Gen4 stepper for extruder
  • Mk6 Stepstruder
  • Acrylic Platform
  • .40MM Nozzle
  • Sailfish Firmware.

===What do I need to run Blackbottom?=== (this section deprecated)

Tyler's repository of cool stuff! - Updated 10/04/14

  • Put the *.xml files in your ReplicatorG machines directory
  • Place the 3 directories (filament, printer, print) and their contents into the Slic3r config directory.
    • Linux: /home/user/.slic3r (hidden)
    • OSX: /Library/Application Support/Slic3r/ (Not tested)
    • Windows 7 : C:\Users\Username\AppData\Roaming\Slic3r\

===How Do I run BlackBottom Cupcake?=== (this section depricated) Using Slic3r, alter settings and produce gcode file. Use the following config to start: Blackbottom - 3MM ABS - BlackBottom (These show up if your XML files are in the right place!)

  • Open ReplicatorG and connect to CreamCheese with machine type BlackBottom - Slic3r
  • File->Open and pick your newly generated GCode file from Slic3r
  • Pick build to file
  • Save the resulting .x3g to an SD card with a filename no longer than 7 characters.
  • Put the SD card in the bot
  • In ReplicatorG open tools->control panel.
  • Preheat the bot to 220. When it reaches temp, turn on the extruder until plastic comes out.
  • Clear nozzle and lower to center of platform only a very tiny (practically touching) bit above it. You can use the controls in the control panel to do this or manually move it. (If the Z axis moves up when you press down the Axis is reversed and settings need to be changed in ReplicatorG!)
  • Close control panel and pick build from file.
  • Choose your .x3g file from the list.
  • If print doesn't stick at start, hit cancel, clean platform and try again. You can adjust the Z height during the start of the print!
  • After finish let print cool on platform. When cool the print should remove easily without deforming.

To fix warping on corners it is advisable to first put down a layer of blue painters tape or masking tape on the non heated build platform.

===Issues?=== (this section deprecated) If the bot moves from the center of the platform when you start a print make sure you have the following start g code and end gcode in Slic3r!

(**** begin initialization commands ****) M73 P0 (enable build progress) G92 X0 Y0 Z0 A0 (You are now at 0,0,0,0) M104 S220 T0 M109 S110 T0 M6 T0 (Wait for tool to heat up) (**** end initialization commands ****)

(**** begin final commands ****) M73 P100 (end build progress ) M104 S0 G91 G1 Z10.0 F2100.0 G90 (**** end final commands ****)


Questions? Can you borrow it? Break something? Contact one of the following people!

  • Tyler W.
  • Josh W.
  • Michael Sh.


This is a very large delta printer (over 10 cubic feet of build volume) with a new heated bed design and some other new tricks. When we finally finish it, it should be among the biggest deltas and among the fastest DIY printers out there. Perhaps unsurprisingly, it is very hard for people without mechanical design background to design and build such a device. We're working on it!

This Bot's History

The frame is designed and fabricated, motors mounted, heated build platform designed and built. Printed universal joints seeing too much tension from our huge delta geometry and snapping along shear lines, need redesign or sturdier print.

Want to help?

If you want to help, grab a tool and try to put a piece of the design together!

  • (done!) Motor mounts - Pete printed these but the motors need to be mounted and they must be attached to bottom of the frame
  • Electronics mount - The relays, arduino and stepper drivers need to be mounted somewhere along with the power supply.
  • Heated bed - The wire is run but needs to be safely connected with the ceramic connectors to the relays that are controlled by the arduino
  • (in progress!) Arms! The arms are finished and the ends must be press fit on them.
  • U joints - The inner pieces to all the U joints need to be reprinted in better quality. The existing prints had lots of slop in them after sanding and drilling the previous poor prints.
  • (done!) Motor wiring - The motors need to be wired and heat shrunk. Nick bought the connectors but they haven't been added. One of the wires has all connections for each pole of the motor labeled. The coloring on the others is the same. The center wire on each pole doesn't need to be used. This converts a 6 wire stepper to a 4 wire.
  • (in progress!) Tighten and square frame
  • Mount bed somehow squarely to the printer base.
  • (done by Alex?) Redesign belt tensioner mount
  • (in progress!) Document and clean up the OpenSCAD 3D Model file. Contact Nick or Tyler for this file!
  • (in progress!) Extruder - Lots of the parts have been printed, follow misery pusher instructions and assemble.
  • (in progress!) Extruder tube mount - The extruder when complete needs to have an attachment mounted to the bottom to connect to the feed tube. We printed one of these already
  • (in progress!) Extruder mount - The extruder needs to be mounted to the top electronics platform. Ideally we need room for 2-3 extruders here.
  • Hot end - We need to take inventory of parts we have, decide what needs to be ordered and get it setup. Mount for 1 hot end has been lasered and will connect to the center carriage. The tube mount needs to be cleaned up and also attached here
  • (in progress!) Firmware - Take the cupcake firmware, bring it to the version of Marlin 1.1 and enable the Delta option and begin configuration.
  • Design and build table to bolt printer onto, or use the existing Ikea table.


Current Status

  1. 6/2015 - Fully functional prints in ABS. Does not work with TPE (flexible) filament.
  2. 2/2015 - Alex White has been working on a mount for the Kysan geared stepper. Currently working, and appears to be printing fine.
  3. 11/2014 - Bot received thanks to Ox and Larry. Hot end melted off, waiting for replacement.

Things this bot has:

  • Delta printer
  • Bowden Extruder
  • 400 Watt AC Heated bed (Reaches printing temperature in 90 seconds)
  • Arduino + RAMPS 1.4 - Marlin firmware
  • Endstops, automatic bed leveling
  • Mk VB J Head extruder with 0.4mm nozzle for 1.75mm filament
  • ~200x200x200mm print volume

Slic3r Settings

Up to date settings for Slic3r can be found here for all current printers. These settings give good results for most prints, but need to be tweaked for individual projects. It is highly recommended to read through the Slic3r blog and manual to learn what each setting does and how they can help make nice prints.

AHA printers Github repository

Changing Filament

Heat the hot end to 220 Celsius. Unclip the paper clip from the extruder and pull the filament completely out of the tube. To replace, push filament up to hot end and clip extruder lever shut.