Become Your Own 3D Printer
Become Your Own 3D Printer

Have you ever wanted to 3D print anywhere and with any material? Now you can, all you have to do is program yourself to read and follow machine instructions and use your own personal fabricators par excellence - your hands! But Laura, you may ask, how do I program myself? I made a laser guide using easy to find parts that makes acting like a 3D printer much like connect the dots. This Instructable will show you how to make the guide and give you some ideas of what you might be able to make.

Step 1: The Gist

Become Your Own 3D Printer

I created an Arduino controlled laser guide that walks you though the process of building something like a 3D printer. The Arduino code translates G-Code (the language of 3D printers) into coordinates that can be drawn by a laser connected to two servo motors. If you follow the dot with your hand while laying down material, eventually you'll end with something that's more or less like your 3D model.

It's a bit easier to understand how to follow the laser if you watch the process in 2D. When the light turns on, you put the pencil down. When the dot moves, you move your pencil to the dot. When the light turns off, you pick the pencil up, ending the line you were drawing. When the light turns on again, you put your pen down again and follow it, and so on and so on. Eventually the dot will just stop moving and you'll be done.

In 3D, you do the same thing but you replace a pencil with something with volume and form. Like pipe cleaners. The code controlling the laser adjusts for the height of the model and will draw on top of the layer that you already put down. So, instead of drawing lines on a single plane, you'll start laying materials on top of each other and build something in 3D. Each time you move up a level the systems will make a sort of video game "level up" sound letting you know that you've finished a layer.

Step 2: Build It

Become Your Own 3D Printer
Become Your Own 3D Printer
Become Your Own 3D Printer
Become Your Own 3D Printer

Here's what you'll need to make the laser guide - I included links to the parts I used:

Electronics

  • 1 Arduino (I used Uno and Micro)
  • 1 Breadboard
  • 2 HiTec HS-55 Servo motors
  • 1 Laser Diode
  • 1 Piezo Speaker
  • 1 RF Key Fob Transmitter (with 4 buttons)
  • 1 RF Momentary Receiver
  • 1 9V Battery
  • 1 9V Battery Connector
  • 1 Switch
  • 1/4" 20 Hex Nut

    Assembly

  • Custom 3D Printed Pan Tilt Bracket
  • you could also try using any other pre-fab servo driven pan tilt bracket but you'll have to hack a few things
  • 4 Screws (to attach servos to bracket)
  • 4 Hex Nuts (to attach servos to bracket)

    Optional but Really Helpful

  • Multimeter
  • Breakaway Male Headers
  • Solder and Soldering Iron
  • Magic Arm Tripod Mount with Clamp
  • Long Clamp

    Step 3: Get the Parts for the Laser Guide

    Become Your Own 3D Printer
    Become Your Own 3D Printer
    Become Your Own 3D Printer

    First we'll assemble the servo bracket so grab these parts:

  • 3D printed bracket parts
  • 2 servos
  • laser module
  • tiny hex nuts and screws
  • 1/4" 20 hex nut
  • tiny screw driver

    Step 4: Start Assembling

    Become Your Own 3D Printer

    Press the 1/4" 20 Hex nut into the base.

    Step 5: Remove Servo Horns

    Become Your Own 3D Printer

    Use the tiny screw driver to remove the default horns from the servo. Hold on to the screw that has holding the horn on.

    Step 6: Place Hex Nuts

    Become Your Own 3D Printer

    Press the 4 tiny hex nuts into the corresponding holes in the mount.

    Step 7: Screw the Servos into the Mount

    Become Your Own 3D Printer
    Become Your Own 3D Printer
    Become Your Own 3D Printer
    Become Your Own 3D Printer

    Place the servos into the mount. I've included photos of the servos from several vantage points. It's important to get them aligned in the correct way, so make sure they are attached just like the photos.

    Once you have the servo placed in the right orientation, use the tiny screws (not the ones from the servo horn, the other tiny screws) to fasten the servos into place.

    Step 8: Cut Wires

    Become Your Own 3D Printer
    Become Your Own 3D Printer

    Cut wires to connect the servos to the Arduino. Also grab some male headers and break them into

  • 1 x 4 pin blocks
  • 3 x 3 pin blocks

    I also cut some heat shrinking tubing to keep the joints secure.

    Step 9: Solder Connections

    Become Your Own 3D Printer
    Become Your Own 3D Printer
    Become Your Own 3D Printer

    Place a little solder on the tips of your short red and black wires. Also put a little solder on the end of your longer red and black wires. Then, solder the 3 short wires to the 1 long wire of the same color. When you solder all the wires together, the little solder you added to the tips will help keep them joined.

    This will provide power and ground to all of the components while only using one pin on the Arduino. I used the shrink tubing to seal the joints.

    Step 10: Solder More Connections

    Become Your Own 3D Printer
    Become Your Own 3D Printer
    Become Your Own 3D Printer
    Become Your Own 3D Printer

    Grab a long green, blue and yellow wire and place then with the red and black wires you just soldered.

    Grab one small red, small black, and the long blue wire. Solder them to a 3 pin male header to connect to your servo. The order matters so make sure you match the ground (black) and power (red) to the appropriate pins on the servos.

    Repeat this with one red, black, and green cables. This will connect to your other servo.

    Step 11: Keep Soldering!

    Become Your Own 3D Printer

    The laser has four wires connected to it but you only need to use 3 to control it red, black and white. I use a 4 pin male header so it's easer to clip them in and out. Just solder the red, and black to the corresponding spots on the header and then skip a pin and solder yellow last pin on the header.

    Step 12: You Guessed It, Soldering!

    Become Your Own 3D Printer
    Become Your Own 3D Printer

    Turn the wires around and grab the yellow, blue and green wire ends that are not already soldered to headers.

    Solder them to your last 3 pin header in the order: yellow - blue - green. This is going to make it easy for you to just plug your chords into the breadboard.

    Step 13: Center the Servos

    Become Your Own 3D Printer
    Become Your Own 3D Printer

    Before we go ahead, we'll need to power up our servos and get them centered.

    Place the Arduino in your breadboard. Connect the black-red-blue pin header to the servo closest to the base, connect the black-red-green header to the other servo. Connect the red wire to 5V and the black to GND. Connect the yellow-blue-green pin header to pins 8-9-10.

    Power up your Arduino and upload this Arduino Sketch. Make sure you have the correct port and board selected in Arduino. Sometimes the Micros act funny and will give you errors when you upload. Try two or three time and see if the error persists. If so, just hit reset on the board and try a few more times. I know it sounds terrible but it generally works for me on the second or third try.

    Once the sketch is uploaded and your servos are centered, unplug the Arduino.

    Step 14: Assemble Mount

    Become Your Own 3D Printer
    Become Your Own 3D Printer
    Become Your Own 3D Printer
    Become Your Own 3D Printer
    Become Your Own 3D Printer
    Become Your Own 3D Printer

    Without moving the servo heads, gently place the base and laser holder into place. Use the tiny screws that you saved from the servo horns to screw them into place. Make sure there isn't power running when you do this, it might break your servos.

    The screw is difficult to get into the laser mount, if you can't do it, don't worry, it still works fine!

    Step 15: Place the Laser

    Become Your Own 3D Printer
    Become Your Own 3D Printer
    Become Your Own 3D Printer

    Slip the laser into the laser holder and reconnect your wires. Remember black-red-blue goes to the servo near the base, black-red-green goes to the servo by the mount. Line up the red and black wires on the laser with the red and black wires on the header.

    Step 16: Add RF Components

    Become Your Own 3D Printer
    Become Your Own 3D Printer
    Become Your Own 3D Printer
    Become Your Own 3D Printer

    The RF transmitter and receiver allow you to control the speed at which the laser draws the instructions for printing. Place the receiver somewhere on your breadboard and connect the pins to the appropriate locations on the arduino.

    I soldered four wires to a 4 pin male header block on both sides to make connecting the wires easier. I connect 5V and GND to the appropriate locations on the board. And then connect D0 to pin 2, D1 to 3, D2 to 4 and D3 to 5.

    I added stickers to the keys to make the function of each key more clear. I'll describe the functions when we talk about actually using the system.

    Step 17: Add Piezo Speaker

    Become Your Own 3D Printer

    Connect the black wire of the Piezo to GND and the red wire to Pin 7.

    Step 18: Add Battery & Switch

    Become Your Own 3D Printer
    Become Your Own 3D Printer
    Become Your Own 3D Printer
    Become Your Own 3D Printer

    I add the switch in series to the battery voltage output so that I can turn power to the board on and off with the switch. First, I solder the end of the red batter connection wire to one pin on the switch. Then I solder a red wire to the other pin on the switch.

    I clip the battery into the switch and make sure it works correctly. When the switch is open, voltage should be close to 0, when closed, it should be close to 9V.

    Once I know it's working, I open the switch (so power isn't coming through) and connect the leads to GND and Vin on my Arduino.

    Step 19: Wrap it Up all Pretty-Like

    Become Your Own 3D Printer
    Become Your Own 3D Printer
    Become Your Own 3D Printer

    I laser cut a little box for my system which I'll add the files for shortly, it's not beautiful but it gets the job done. I place the battery in first, then put the breadboard with Arduino on top. I tape the Piezo in place and tape the switch somewhere to the box. When traveling, I disconnect the servo mount from the wires and pack it in with everything else. This keeps things nice and compact and makes sure I don't break anything when I carry it from place to place.

    Step 20: Use It!

    So now that you've build the guide system, you're ready to actually use it. The next few steps will guide you through building from getting a file, to uploading it, to running the system.

    Step 21: Download an STL

    Become Your Own 3D Printer

    Find an STL Model online that you would like to build. I've had good luck finding things on Thingiverse but you can go anywhere you please to fine STLs, you can even make them yourself in 123D Design or other CAD programs.

    For my first construction, I used this hand on Thingiverse.

    Step 22: Drag your STL into Slic3r

    Become Your Own 3D Printer

    Slic3r is an open source G-Code generator that has a nice interface and was the easiest g-code generator for me to use. Download it for free at slicr3r.org

    Drag your model into Slic3r and you should see something like the first image above. The 3D model doesn't show by default but click the "view" icon in the top banner to open the viewing window.

    The "info" panel on the bottom right will tell you the size of your model (in mm). If you want something larger or smaller, use the scale feature to resize.

    Step 23: Measure your Material

    This is the part where you have to use your brain a bit. You're going to be converting your model into paths that you'll draw with your materials. You need to tell your model how big your material is. For the most accurate results, choose a relatively small materials (< 10mm) that has a uniform size. Good n' Plenties, BB's, yarn, spaghetti, would all work great.

    For sake of example, I'll pretend I'm making the hand out of pipe cleaners which are about 8mm across. Err on the side of too small if you're not sure how big you material is.

    Step 24: Enter Fields in Slic3r

    Become Your Own 3D Printer
    Become Your Own 3D Printer
    Become Your Own 3D Printer
    Become Your Own 3D Printer
    Become Your Own 3D Printer
    Become Your Own 3D Printer
    Become Your Own 3D Printer
    Become Your Own 3D Printer
    Become Your Own 3D Printer
    Become Your Own 3D Printer
    Show All 10 Items
  • Select "Print Settings" in the top tab bar
  • Select "Layers and Perimeters" form the left side panel
  • Change Layer Height & First Layer Height to your material size
  • Change the "Perimeters (minimum)" value to whatever you think you'll need for your model. You can think of "perimeters" as outlines. If you're model angles in or out a lot as you travel up and down the model (like in a hand) you'll want more perimeters so that each new layer has something to build atop
  • Leave all the other parameters the same (or play with them to see what happens)
  • Select "Infill" from the left side panel
  • Change "fill density" to your desired value. 0 will give you a hollow model (only perimeters will be drawn) and 1 will give you a solid model. Any value between 0 and 1 will add some support between complete hollow and completely solid.
  • Leave all the other parameters the same (or play with them to see what happens)
  • Select "Advanced" from the left side panel
  • Change "Default extrusion width" to your material size
  • Select Filament Settings from the top tab bar
  • Select "Filament" from left side panel
  • Change "Diameter" to your material width
  • Select Printer Settings from the top tab panel
  • Select "General" form left side panel
  • Make sure G-code flavor is set to "RepRap (Marlin/Sprinter/Repetier)
  • Optional: You can change the bed size as you please. For instance, if you scaled your model larger than the bed, make the bed bigger. If your model looks tiny on the bed, make the bed smaller
  • Select "Extruder 1" from left side panel
  • Change Nozzel Diameter to your material length

    When you're done changing the parameters go back to the Plater tab and hit "Export G-Code" on the far right, bottom of the interface.

    Note to the tech savvy: Slic3r can also be downloaded and run from the command line. That would save you tons of time entering each value in on the interface.

    Step 25: Preview your Model

    Become Your Own 3D Printer
    Become Your Own 3D Printer
    Become Your Own 3D Printer
    Become Your Own 3D Printer

    Drag your file into the G-Code visualizer I built at: artfordorks.com/btm

    You can also fork the entire project on GitHub if you so desire: https://github.com/Devendork/BeingTheMachine

    This interface lets you see exactly what you'll be drawing. You can use the forward and back keys to go through the instructions and see how the laser point will move. Use the up and down keys to move through the layers.

    Options

    At this point, ask yourself if you think you're materials can work in this structure. If it is large enough, if you think they'll have enough support etc. If it looks like it won't work, go back to Slic3r fiddle with some parameters and visualize again. In a perfect world, this wouldn't require so many chained programs but I am but one small artist and couldn't find the time to make it seamless (a tear drops).

    Use the options panel to set custom parameters. You can specify if you are building in 3D (making a model) or 2D (making a drawing). This option will change the way the angles for the servo are calculated since 3D models will change height and the laser point will account for that and 2D models will have constant height.

    You can also change the view of the simulation. Arduino doesn't have the same resolution of the screen so checking the box for Arduino view will update the visualization to what the laser will actually draw. It will probably be a bit more rasterized than the original.

    The last option will let you override the layer height used in G-Code. Sometimes you need the resolution on each layer to be higher than the actual width of your material. So, you could say the width is small than reality and then change the layer height in the interface to account for the actual height of the model.

    Step 26: Download the Arduino Code

    Become Your Own 3D Printer

    Click the link that says "Download Code for Arduino" to open up a window with the Aruduino code. Copy that code and paste it into an Arduino window, then upload it to your Arduino.

    Write down the value on the bottom right of the screen that says, "Distance from Base to Laser." You'll use this to set up your system to build.

    Step 27: Prep the Build Platform

    Become Your Own 3D Printer
    Become Your Own 3D Printer
    Become Your Own 3D Printer
    Become Your Own 3D Printer

    I used an Irwin clamp to clamp to the side of a table and a magic arm tripod mount to extend out from the clamp.

    I fasten the laser mount onto the end of the magic arm and then hang the rest of the equipment from the based of the magic arm. Alternatively, you could tape the Arduino and components to the clamp.

    Turn the Arduino on and both the servos will point towards the center. Adjust your laser to make sure it's pointing directly downward. Once pointing downward, measure the distance from the laser to the base and make sure it matches the value on the interface for "Distance from base to laser."

    Step 28: Build!

    Become Your Own 3D Printer

    Use the key fob to control the laser.

    Here's how the buttons work (in the image above, I covered the buttons with stickers indicating their function):

  • A: move the laser to the last position (i.e. last G1 instruction)
  • B: move the laser to the next position (i.e. next G1 instruction)
  • C: draw the bounding box or footprint of the model - this works well to position whatever you are building on.
  • D: play - this will cycle through "next" instructions automatically. It does the same thing as holding down B.

    The attached video shows how I follow the laser in 2D. I'm following the laser as it runs on "play" mode.

    Step 29: Some Things I Built?

    Become Your Own 3D Printer
    Become Your Own 3D Printer
    Become Your Own 3D Printer
    Become Your Own 3D Printer
    Become Your Own 3D Printer
    Become Your Own 3D Printer
    Become Your Own 3D Printer
    Become Your Own 3D Printer
    Show All 9 Items

    When I thought of this project, I liked the idea of bringing high-tech and low-tech into close proximity. I asked the other artists-in-residence what they thought the most annoying craft supply was and they said: pipe cleaners! As it turns out, pipe cleaners lend themselves well to layered paths so I tried them out and I made this hand on my first try! It took about 3 hours and since I did it on the floor, my back was killing me.

    I then decided to play with natural materials, something 3D printers currently can't work with. I made a vase for flowers from flowers. My favorite part of this design is the way the entire structure decays. 3D printing objects are so permanent and I liked the idea of making them ephemeral.

    Then, I tried a gun - because 3D printed guns are the end of the world, right? Turns out guns made of Good'n'Plenty's aren't quite as threatening. However, they are quite heavy and the model is the size of a real gun and fits nicely in your hand.

    My big finale is going to be a Stanford bunny made from balloons, a way to take this iconic test-bench model and transform it into a new domain. I made some scale mock ups for planning purposes. The first out of jelly beans (which I made on my living room table while watching Twin Peaks) and the second out of pellet gun pellets. The balloon construction hit a snag when my only laser guide fell from 15" and shattered. I'll be trying it again in the next few weeks.

    And after all the hype of 3D printing, I think the 2D drawings of tool paths are beautiful on their own. I bought some charcoal and archival paper and I'm excited to make some more.

    Step 30: Some Things that Failied

    Become Your Own 3D Printer
    Become Your Own 3D Printer
    Become Your Own 3D Printer

    As it turns out, these materials don't just lay around waiting for you to mold them into paths and some things didn't work so well.

    I tried to make a kitten from cheese and I ended up with a pile of easy cheese and the desire to never eat easy cheese...ever. That stuff holds its form way to well to digest but not well enough to support the overhangs on a kitten model.

    I made two failed Mobius rings, one from gum drops and the other from good ol' good n plentys, both failed.

    I made the Stanford bunny from glue gun and glitter and the glitter reflected the laser all over the place and the bunny looked a lot like the cat.

    I shouldn't call these failures since they can be valuable experiences in themselves. There is something rewarding about materials that tell you what they want to be and I suppose life outside of ABS is just a little more unpredictable.

    Step 31: What would you make?

    So you have this portable system that lets you upload a model and print it by hand with any material you wish to try. You can print at scale if you find a way to mount the laser far enough away from the base.

    Add a comment and tell me what you would want to make! What materials, what model, what size and where. I really would like to know!

    You can also fork the entire project on GitHub if you so desire: https://github.com/Devendork/BeingTheMachine

    If you want to know more about the background of this project, I created a "process" Instructable that describes the generation of this project from idea to implementation and the future vision of human 3D printing: http://www.instructables.com/id/Becoming-a-Human-3D-Printer/

    Thanks to:

  • Kimiko Ryokai - my advisor and collaborator
  • Paolo Salvagione - brilliant pan-tilt design director!

  •  
     

    Tag cloud

    make build easy simple arduino making homemade solar laser printed portable cheap mini building custom cardboard wooden create super lego turn paracord chocolate your paper light intel