Intel Edison Based Heated 3d Printer Enclosure (use an Arduino, Edison Sucks, Froze Every Time!)

Introduction: Intel Edison Based Heated 3d Printer Enclosure (use an Arduino, Edison Sucks, Froze Every Time!)

About: lost my arm at 18, now I'm hacking stuff for disabled people (or animals)

**WARNING** This Instructable involves working with 120V current. If you are not comfortable working with high voltage, a 12v Hair dryer and relay MIGHT work ( I don't have one to test out, If someone does, Please send me a link to a YouTube Video of it working, over 50C and I will update this).

**// I have tested this to 50C and it is suitable like in this picture to print PLA, but NOT ABS! I will be updating this as I add improvements to print ABS. I was worried that the cold-zone on the hot end would require water cooling, but I contacted Brook and it shouldn't be a problem at 70C. So, I'm getting a better heater now. //**

I suggest using an Arduino, the Edison is still too Beta. It froze every single time!

From testing, I have discovered that the extruder itself will need cooling. The insulation worked too good! The printers heated bed is more than enough to heat this small of a box to way over 60C. It will print small prints, until the metal heats up to 50C (Brook mentioned something about but now I know what he meant).

So, I recommend making the box bigger. Don't worry version 2 is coming soon. Gathering parts now!

Step 1: Gather Everything You Will Need


1) 4 - 20'' Angle Aluminum

2) 4 - 18" Angle Aluminum

3) 4 - 16" Angle Aluminum

4) 2 - 18" x 20" Acrylic Sheet

5) 2 - 16" x 18" Acrylic Sheet

6) 2 - 16" x 20" Acrylic Sheet

7) 1/16'' Air Tube (stiff)


1) Intel Edison

2) Grove Starter Kit

3) Hair Dryer 120V (12V might work, I don't have one to test)

4) Electrical Outlet

5) Electrical Cord


1) Drill

2) Dremel

3) Hacksaw

4) Files

Step 2: Cut Aluminum to Lenghth

1) cut aluminum to length

4 - 20''

4 - 18''

4 - 16''

Step 3: Drill Holes for Corner Rivets and Rivet the Top and Bottom

Now we are drilling holes and riveting the top and bottom 18'' x 20''

2 - 20'' + 2 - 18'' Pieces angle aluminum (Top)

2 - 20'' + 2 - 18'' Pieces angle aluminum (Bottom)

Carefully drill the corner's for the rivets and repeat on all the beams. Line up the holes of 2 of the beams(1-18'' & 1-20'') to form a 90 degree angle (like in the photo above). Repeat, then connect the two halves to form a square. This will form the top.

Now repeat the entire process for the bottom. They should look like the last photo when finished.

Step 4: Add Sides

4 - 16'' Angle Aluminum

Add the sides by drilling a hole and adding a rivet at the top and bottom of each side.

Step 5: Measure and Cut the Acrylic

I used the frame as a template to cut the side panels. I used a Dremel with a cutting wheel to cut the sides. I used a flat file to trim a few burs.

You will need;

2 - 18'' x 20''

2 - 18'' x 16''

1 - 20'' x 16''

1 - 20'' x 16'' (w/ 14'' x 10'' cut from one corner for the door)

Step 6: Adding the Bottom

I used a 18'' x 20'' piece of sheet metal (mainly for weight and stability). It isn't necessary, an acrylic sheet would work, but it's really light.

Step 7: Add 3 Side Panels and Top

The side panels are held on with rivets. There are some spacers added to close the gaps between the panels and the frame. It wouldn't hurt to buy some extra aluminum to put into the gaps.

Lets add the 3 sides (2 - 16'' x 18'' & 1 - 16'' x 20''), all 3 are acrylic sheets. I drilled out relief holes for the rivets holding the frame together. I Dremeled the hole for the rivet to hold the acrylic on. The drill went through the acrylic and aluminum but cracked one time (it never cracked with the Dremel). I added between 4 and 6 rivets to hold on each acrylic panel.

Now, add a 20'' x 18'' acrylic panel for the top. Drill relief's for frame rivets and drill through the acrylic panel and aluminum frame for rivets to hold on the acrylic top.

Step 8: Add the Door (and Support Frame)

Let's add the front panel, door, and support frame for the door. The front is a 16'' x 20'' acrylic sheet with a 13'' x 10'' corner cut out. Cut another 16'' & 13'' pieces of aluminum for the door frame, and a 10'' x 13'' piece of acrylic for the door. Attach the 16'' piece in the middle of the vertical cut for the door and add the 13'' piece about 10'' on the 16'' piece (along the horizontal cut for the door). Everything was attached with rivets. The holes were made with a Dremel and drill. I positioned the hole for the door in the upper left corner of the front panel, about 5'' down the top of the left corner add the hinge. I used a small acrylic scrap for a spacer, between the hinge and frame. Now attach the 10'' x 13'' door I used a 2'' piece of flat aluminum for the hinge's rivets to brace against so I didn't crack the acrylic. I added a 3'' piece of angle aluminum at the top right corner for a spacer and added a hole for a pin to hold the door shut (I just used an unused rivet).

Step 9: Mount the Electronics

We will need;

1- Intel Edison

1- Grove Shield

1- Grove Relay

1- Grove Temperature Module

1- Printrboard (removed from Printrbot)

1- Electrical Outlet

1- Electrical Cord

1- Hair Dryer

3- Zip Ties

This part is really up to you. I used some scrap aluminum and acrylic to make a frame and mounted the boards to the acrylic pieces. Each board is mounted on it's own small piece of acrylic a little bigger than the boards. The hair dryer is mounted to another few scraps of aluminum and a few zip ties the hole for it was made with a Dremel. Hook up a small piece of wire, between the relay and the one screw terminal on the outlet. Now connect the power wire from the electrical cord to the other screw terminal on the relay. Hook up the ground wire to the other screw terminal of the outlet. Hook up the Grove Temperature Module to A0 on the Grove Shield.

Step 10: Filament Tube

Just Dremel a small hole that is barely big enough to fit the 3'' length of hose. Seal it with some Sugru or hot glue if it is too big.

Step 11: Intel Edison Arduino Code


#include "rgb_lcd.h"

//setting var's

const int pinTemp = A0; // pin of temperature sensor

float temperature;

int B=3975; // B value of the thermistor

float resistance;

rgb_lcd lcd;

const int relaypin = 4; //the Relay is attached to D4

// the setup part

void setup()


pinMode(relaypin, OUTPUT); //sets relay to output

lcd.begin(16, 2); // lets the main loop know that the lcd is 16 by 2


// the main loop of code

void loop()


int val = analogRead(pinTemp); // get analog value

resistance=(float)(1023-val)*10000/val; // get resistance temperature=1/(log(resistance/10000)/B+1/298.15)-273.15; // calc temperature

// Print out to the LCD

lcd.print("It is ");

lcd.print(temperature); //print the output of the above calculations

lcd.print(" *C");

delay(1000); // delay 1 second, adjust this to affect the rate that the device polls the temp

lcd.clear(); // refreshes the LCD

//If temperature is over 25 degrees then enable relay

if (temperature > 25)


digitalWrite(relaypin, HIGH); // turns on the relay if temp above 25


if (temperature > 50) // if it is over 50 then keep the relay off


digitalWrite(relaypin, LOW); //turn the relay off



The code was entered with the Arduino IDE. The Grove RGB LCD Library was needed. Upload and Enjoy your new heated build chamber!

Step 12: Adding Extras

I added a camera mount I made for a recycled laptop camera that I converted to USB. It also happens to hold my cell phone I use for timelapse.

I added a power switch on my desk (close to my seat).

Step 13: Insulating

Insulating to help hit 70C. Make sure you leave enough room for the full range of the printer's movements.

Intel® IoT Invitational

Participated in the
Intel® IoT Invitational

Be the First to Share


    • For the Home Contest

      For the Home Contest
    • Game Design: Student Design Challenge

      Game Design: Student Design Challenge
    • Make It Bridge

      Make It Bridge



    7 years ago

    What happens if the room temp is 20 degrees at startup?


    Reply 7 years ago

    You have to adjust the one line of code, it really depends on what temp sensor you use and how cold it is in the box. I can't really guess what it will be for others, so I just uploaded my code how it was when it was working properly at room temperature.