3D Printer Enclosure With Arduino LED Display

by Marker1024 in Workshop > 3D Printing

11459 Views, 66 Favorites, 0 Comments

3D Printer Enclosure With Arduino LED Display

20140105_223135.jpg
20140105_223107.jpg
20140105_222909.jpg
Hello, recently acquired a 3d printer, and ever since then I've been printing almost non stop. However when I brought the printer to school it became a challenge to print safely in my tiny dorm room without breathing abs fumes. Its next to a window so I tried using fans, sealing off part of the room, and only printing when while wasn't in there, but it became more of a hassle than it was worth. I looked up printer enclosures that filter fumes and I only found one by Octave, but it is $200+ bucks for a box with a filter, fan, and a few lights.

Immediately I became challenged to build my own! Once finals were over, a friend and I knocked it out in a few days. In the end my Enclosure only costed me 92$

THIS IS NOT FINISHED, UPDATES ARE COMING!
  • 50$- acrylic plexiglas 
  • 10$- 100 RGB 4 prong leds
  • 20$- PIR sensor
  • 5$ hook up wire
  • 8$ - 4x carbon filter(you only need1)
you will also need
  • Arduino
  • computer fan
  • router
    • 1/2" flush trim bit
    • 1/2 double fluted bit
  • Forstner bit 
  • drill press
  • drill
  • miter saw
  • torch
  • soldering iron
  • hot glue
  • brad nails
  • baby hinges
  • latch
  • silicon sealent

Cut Wood to Size

IMG_1988.jpg
IMG_1991.jpg
IMG_1992.JPG
IMG_2010.JPG
IMG_1994.jpg
  1. The baseplate is made out of 3/4" cherry ply was cut to 12.5" x 14.5", and has slots cut 1/4" in from the edge to accommodate the 5/16" thick acrylic (requires 2 cuts which is also 5/16" deep". Make passes on a table saw if you don't have a router.
  2. the second slot is for the plywood which was just under 13/16" and took many passes (should have used my router)
  3.  Cut back panel at 12.5"x 15.5" and make slots the same as step 1.

Cut Front Frame

IMG_1995.jpg
IMG_2016.jpg
  1. Cut 2 5/16" slots in the 1x2" hard wood (make sure that it is at least 35"+). This will yield both verticals however you will need a second slightly different piece for the top panel.
  2. Cut a 5/16" section out of the end (see image)
  3. once the verticals are cut 45 the pieces at

Route Channels for LED's and Arduino

IMG_1997.jpg
IMG_1996.jpg
IMG_1998.jpg
IMG_2044.jpg
IMG_2006.jpg
  1. Use a 1/2 fluted carbide bit and the fence to make channels for wire and easy soldering. Also trace the Arduino remove enough wood so it is out of the way.
  2. trace the fan and cut out a section slightly larger than the traced lines.

Build Frame for Fan

IMG_2012.jpg
IMG_2011.JPG
IMG_2010.JPG
IMG_2007.jpg
we got this fan from a broken computer and it is perfect for the task
  1. The frame is made with some scrap 5/16" plywood
  2. measure the fan and cut pieces to size(leave room for a fan grill between it and the carbon filter)
  3. Drill hole for wire
  4. clamp and glue around fan
  5. sand
  6. cut filter to size
  7. make grill

Glue and Tack Frame With Brads

IMG_2014.jpg
IMG_2013.jpg
  1. Use a framing vice or alligator clips to hold joint.
  2. drill holes and drive brads in for strength
  3. chisel out corner section, or cut with japanese blade. (see image)

Cut the Plexi!

20140105_221316.jpg
IMG_2053.jpg
Measure the height and width of the slots and cut away!

Remember plexiglass is very toxic to breath so always work in a well ventilated place. Also if you have some left over carbon filter like I did you can upgrade your basic dusk mask to a carbon filtered one! It makes cutting the acrylic less stinky, and might even be safeā€¦ don't hold me to to this I am no responsible for your illness/death.

Routing Out Front Panel and Hole for Door

IMG_2034.jpg
IMG_2038.jpg
IMG_2041.jpg
IMG_2036.jpg
IMG_2042.jpg
IMG_2046.jpg
IMG_2039.JPG
IMG_2045.jpg
IMG_2043.jpg
  1. Draw desired locations and mark square.
  2. Drill a hole for access
  3. Use jig to cut four sides, scrap the middle
  • it usually takes at least two passes to achieve a clean edge

Cut Out Door

IMG_2050.jpg
IMG_2054.jpg
IMG_2052.jpg
IMG_2049.jpg
  1. use an extra piece and rip to size on the table saw or use the trim router on a desk corner to make perfect.
  2. sand edges round, and test fit constantly
  3. once you are happy tape in place

Mount the Door With Hinges

IMG_2055.jpg
Blue masking tape keeps the plexiglass from scratching while threading. Use heat to thread the hole after drilling a 1/16 pilot. see
video:

Drill Holes for LEDs

IMG_1999.jpg
IMG_2001.jpg
IMG_2004.JPG
IMG_2002.JPG
Holes were made every inch within the slot with a 1/4" bit

Connect the Single LEDs Together

IMG_2017.jpg
IMG_2026.jpg
IMG_2021.JPG
IMG_2023.JPG
IMG_2018.jpg
IMG_2030.JPG
IMG_2020.jpg
Attach hookup wire to each led, I've found that using strips is much easier. Making and prepairing the strips takes longer than anything else. You will notice that as we go along some of the lines are just naked copper.

Even though it is cheaper and more customizable I Highly Recommend that you purchase a rgb LEDs in a strip instead of soldering each and every one. But hey if you enjoy soldering and need a therapeutic escape for 5 hours then have at it

The Circuit

IMG_2027.jpg
20140105_223100.jpg
arduio plug- RGB into 8 9 10 and ground pin goes into 5 volt,

PIR sensor is plug into brown, live, and pin 7

This code is for the PIR sensor and will control the brightness of the lights as the build platform gets lower and lower:
In the next week we will upload the full code and circuit including the LED sequences.

PIR CODE:
int pingPin7 = 7;
const int redPin = 8;
const int greenPin = 9;
const int bluePin = 10;
int light;//define the spead of motor

void setup()
{
// initialize serial:
Serial.begin(9600);
// make the pins outputs:
pinMode(redPin, OUTPUT);
pinMode(greenPin, OUTPUT);
pinMode(bluePin, OUTPUT);
}
void loop()
{


// establish variables for duration of the ping,
// and the distance result in inches and centimeters:
long d2= light;

// The PING))) is triggered by a HIGH pulse of 2 or more microseconds.
// Give a short LOW pulse beforehand to ensure a clean HIGH pulse:
pinMode(pingPin6, OUTPUT);
digitalWrite(pingPin6, LOW);
delayMicroseconds(2);
digitalWrite(pingPin6, HIGH);
delayMicroseconds(5);
digitalWrite(pingPin6, LOW);

// The same pin is used to read the signal from the PING))): a HIGH
// pulse whose duration is the time (in microseconds) from the sending
// of the ping to the reception of its echo off of an object.
pinMode(pingPin6, INPUT);
d2 = pulseIn(pingPin6, HIGH)/ 29 / .25;

delay(75);
int light = d2;//define the spead of motor


if (light >255)
{
light =255 ;
}
// look for the next valid integer in the incoming serial stream:
int red;
int green;
int blue;


red = (light);
green = ( light);
blue = (light);

// fade the red, green, and blue legs of the LED:
analogWrite(redPin, light);
analogWrite(greenPin, light);
analogWrite(bluePin, light);
}

Updates

20140105_222914.jpg
20140105_221223.jpg
20140105_222958.jpg
This project was rushed for a contest and I am currently out of town, in a few days this will be finished and updated.
some things to look forward to:
  • better documentation
    • a video showing printer working with the setup
    • Beautiful pictures
  • Finish circuit and programing
    • adding switches
    • PIN sensor intagration
    • rgb light display
  • adding trim molding
  • sealing the joints with silicone
  • spool holder
  • proper feet for enclosure
Stay tuned.