Introduction: A Fully 3D Printable GlaDOS Robotic Ceiling Arm Lamp

About: Engineer from the Netherlands. Projects in 3D printing, electronics, prop making, sewing and whatever interests me. (If you have a pressing question go to my site and ask it there. I am way more likely to an…
In this instructable I will show you how to make a fully 3D printable GlaDOS from Portal (1 and 2), that is also a lamp and can be converted into a robotic arm (how much cooler does it get), With a superled in the eye (this much cooler).

Go watch it immediately:

This was first intended to be an instructable on how to make a fully 3d printable GlaDOS robotic arm lamp that can also move. Due to some shortage in time and other project that I need to continue on (my SLS printer) I will share everything I have thus far that works properly. When I finally figure out how to make this thing moving without all the electronics heating up to 100°C, you will be the first to know.

Because this was first intended to be a fully functioning robot arm, some of the instructions include wiring. If you do not plan to use this as a moving arm, I have also designed parts to replace the servo's and moving parts. With this, you can skip most of the wiring and only use it as a lamp.

To make this lamp you will need a printer that is comfortable printing with a lot of support material. The design isn't supportless and is quite hard to print. I used a UP! 3D printer, that is more than capable enough printing with support material. All of the parts are designed around the maximum build sizes of the UP!.

Also you will need some skills electronics and be comfortable using power from the mains. Also you will need a LOT of time. Printing alone will set you back at least 40 hours.

A special thanks to Almteq in the Netherlands for letting me borrow first one UP!, and letting me borrow 2(!) UP!s when one couldn't get the job done fast enough with just one. Without you guys, this project wouldn't have been possible.

Okay, here's the deal. You seem to want to see this thing moving, and I seem to want to win an UP! printer of my own. This is what we are going to do. You help me win an UP! in the contest, and I will do everything in my power to make this thing move as soon as possible. The deadline for the contest is too soon for me to do it before the contest, so make me win, and I will make this thing move.

Step 1: Updates and Q&A


Lets start by thanking everyone for helping me win the UP! contest. I won... can you believe it. Without your support this would not have been possible.

As promised I have released all of the source files. You can find them on my thingiverse page. If someone wants the schematics and the firmware, I can upload them, but the program is really simple. It measures the potmeters, remaps the values to servo angles and transmits those angles to the servo's.

Now for the sad part. I have completed this project. I will no longer be working on this project. This is where you guys come in. My electronics and programming skills are limited. I have heard you guys talk of some amazing ideas, and I really want to see some of them working. So go modify the parts to your needs, print and make this GlaDOS even more awesome than it already is. Amaze me.

Dragonator out.

end of edit

After all of the interest, I have devoted a page of my instructable for personal updates, comments and answers for some questions.

First things first, Where you can and can't expect me. I am not on reddit, tumblr, twitter, google plus or any other social media. Places where you will find me is here (instructables), thingiverse (also as dragonator) and on youtube (as ytecinventions). Right now, I will not use any other medium to publish or comment on.

Expect some parts to be slightly modified. I am continuing to find small problems is some parts (mainly the base). I have already replaced the base drive train (mostly gears) over four times before I got to a solution that could handle the raw strength.

For everyone that is speculating whatever is wrong with the electronics. I already knew what the problem was way before I posted this. I tried containing everything in the base. There only was a 12V line in the base. I used a 7805 to create the 5V from the 12V. This part dissipates every volt that is above 5V, all the way up to 1A. I slightly underestimated the current that some servo's could draw. The 7805 is the part that heats up to dangerous temperatures in no time at all. For any of you concerned that there are some serious problems, there are not. I am already busy working with (not just on) the solution.

Those of you that wanted all of the electronics to fit in the base, I've got some good news and some bad news. Bad news, I'm postponing any attempts indefinitely. Good news is, I've got a much better solution. By placing the electronics outside of the base, I created a lot more room for them.

Thing I will and won't do:
- I will make this thing move;
- I will make this thing controllable by the controller that you have seen in the final thoughts;
- I might do a tracking system at some point, purely out of curiosity, but such things take tons of time, and I do not have any idea yet how to do it. The idea interests me, but doing it seems like a TON of work;
- I will NOT make her talk, The last thing I want her to do is make fat jokes.

Q & A

Why isn't there a video?
There is a video in the page above dummy, Go watch it right now.

Is there going to be a video if you do not win?
See the question above.

Is this thing for sale?
No it isn't. Also I can't be commissioned to make one, I am way too busy as it is. I might be persuaded to make and sell garage kits if I win, but for that I will need an UP! of my own.

Can I (and with that I mean you guys) post this on shapeways?
Yes. As long as you credit to the original source, you can. I was trying to convert these to a size that would be reasonable for shapeways, but I don't have the time for it.

Will you post the source files?
It's the end of the UP! contest and the closure of the lamps and lighting contest, so there is no reason to hold on to these files any longer. I have put them on my thingiverse page. Happy tinkering.

Why don't you just use a fan to cool the electronics?
Two reasons, One: There simply isn't enough room in the base. Two: Electronics heating up that dramatically is usually a sign of things being wrong.

(PS. to everyone that showed me that glados look like a bound, upside down woman... Thanks for that image, I now have a bound woman on my ceiling. Just great)

Step 2: What Will You Need

To build a complete arm the way I did it, you will need:

- A 3D printer (I used a borrowed UP!);
- Files (the metal ones, not the digital ones);
- Some basic screwdrivers and pliers;
- Soldering iron;

- At least 2kg of 3D printing filament (note that in the picture you see a 1kg spool, trust me that that isn't enough);
- 2 M3 countersunk screw (16mm);
- 2 M3 self locking nut;
- 13 M4 Cylinder head hexagon socket screw (16mm);
- 5? M4 Cylinder head hexagon socket screw (30mm);
- 12 M4 nuts;
- 32 M4 countersunk screw (16mm);
- 4-6 M8 nuts (depending on the type you are making);
- 1 M8 90mm piece of threaded rod;
- 3 M8 washers;
- A bag of scavenged tiny screws from electronics or another source of tiny screws;

- 1 12V power source;
- 2 40mm fans;
- 8 super leds (3W or 1W) in the white of your choice (I used 3W warm white);
- 1 Led driver to match the need for your 8 super Leds
- 8 heatsinks for the leds in the ring;

Optional electronics that might be useful for making it all a bit more awesome
- 3 micro servo's; (2 can be 1kgcm, but one has to be as strong as possible (preferably 2kgcm to 3kgcm)
- 1 normal servo; (3.5kgcm is too little, 6-8kgcm would be better)

All of the servo's need to be digital. Analog is too weak and too shaky;

- 3 608 bearings
- 1 624 bearing
- 1 super led (3W or 1W) in orange for the eye (I used a dialed down 3W to have less heat buildup);
- 1 heatsink for the led in the head;
- Lots and lots and lots of wire, most of it black;

Painting materials:
- Wet and dry sandpaper (around 600 grit size);
- paintbrushes in various sizes;
- Plastic primer;
- Filler primer;
- Paint in satin white and black;
- masking tape
- pieces of iron wire

And most of all, a lot of time.

Step 3: Start Printing

First things first you will need to start printing. You can download all the needed parts from my website:

I have put two zip files in the download, one for a moving arm, and one for a stationary arm.

I have oriented the parts the way that they were designed to be printed. Feel free to rotate the parts if you find a better way to print them. You will need:

4 ring open + top covers
2 ring fan in + top covers
2 ring fan out + top covers
1 base
1 mounting plate
1 helical gear 2M 10T
1 helical gear 2M 17T
1 Main pivot tube
1 Main pivot back
1 Main pivot internals
1 Moving arm
1 rotation
1 Head
1 pushrod head
1 pushrod large
1 servoclamp
1 wireblock top left
1 wireblock top right
2 wireblock small 1
2 wireblock small 2
1 wireblock large 1
1 wireblock large 2

You will need between 40 and 60 (!) hours of printing to get all the parts done. Also you will need between 2kg and 3kg of material to print all of the parts. I had to find out the crummy way that just 1kg of material will not print all of the parts.

Top tip, If a spool is too big to fit on a standard up spool holder, you can use a box and a piece of rod to make your own custom spool holder.

Step 4: (Optional) Sand, Prime and Paint the Parts

To make your own personal GlaDOS look extra awesome, you will need to sand and paint the printed parts. This will remove most of the visible printing lines and give all of the parts the right color

Start by sanding or filing down the lines that a 3D printer makes. This will make it easier to fill the final rough spots with filler primer. At this point you won't need to make the parts perfectly smooth, the filler will do that. All you need to do is get the worst of the rough spots of.

After sanding, you will need to mask all the places where you don't want paint. For primer, it actually doesn´t really matter where your paint goes, But I wanted the inside of my parts to be clean.

Degrease all of the parts and then apply plastic primer to make the following layers stick properly. Filler primer will probably stick to the part anyway, but it is better just to be sure. You will only need a thin coat of plastic primer. The smoothing of the part will happen with the filler primer.

Next you will need to apply several coats of filler primer. you can give spots that are particularly rough an extra layer, so that you will have more filler to smooth the part.

Next you will need to sand the layer of filler smooth. I used wet sanding because it gives a smoother finish. Don't sand off till you see printed material. than you have sanded too deep and it will look rough again.

Repeat filling and sanding until you reach the desired smoothness.

For painting, you will need white paint and black paint. Now GlaDOS is not black, she is an of black color (or a very dark gray for the lighter people among us). To make the gray, mix a large batch of the black paint with a splash of white paint. All you need to do is lighten it a teeny tiny bit. A 1:10 or 1:15 will probably do. Just keep adding tiny splashes of white until the color is right. If you try to make the gray in one try, it will probably end up to light, and making it darker is a lot harder than making it lighter.

I painted the white first because black covers white better than white covers black. I have also added a few renders to the pictures to give you an idea what parts to paint what colors.

Step 5: Assemble the Base

Use a M8 bolt and several washers to pressfit both 608 bearings in the base. You might hear the base crack a little. The bearings need to fit tight, but don't need to jam. If there is too little room, file the holes a bit to make more space.

Assemble driver gear by screwing on the round servo plate to the large drive gear with 4 small screws.

Modify the servo so it fits. Due to some mis-engineering, The normal servo needs to have the wires come out of the bottom. Remove the back cover and file the opening so the wires can exit from the back. The strain relief is not necessary because the servo is stationary.

Place servo in the base. There are holes to mount the servo.

Mount the 40mm fans in the 2 ring pieces with 4 M4 countersunk screws each. The fans I used were self tapping, so no nuts were necessary. The fans will keep the air moving past the leds.

Add ring pieces to the base by putting 8 nuts in the openings of all the ring pieces. 8 M4 cylindrical head screws will keep the ring pieces attached to the base.

Wire the leds in groups of four. The leds need to be wired in series for the driver to power them. 2 groups of 4 leds are wired so that they for a chain of 8 leds, wired in serie. Both groups meet in the base twice, one time to chain them up, and one time to connect them to the power supply.

Place the leds in the ring. I used epoxy glue to glue the leds in place.

Add heatsink to the backs of the leds. Use plenty of thermal plaster to glue the heatsinks to the leds.

Test the leds so you are sure that they work. You don't want to discover that some leds don't work when you have closed up the ring. (actually, this didn't even happen to me)

Put all the top covers in place with M4 countersunk screws. the screws tap themselves in the ring. There is hardly any force on the screws, so no nuts are needed.

Test again. You can never be too sure.

The base is now finished.

Step 6: Assemble the Body of GlaDOS

Glue 2 M8 nuts in the tube. Use plenty of strong glue (such as 2 component epoxy glue) to glue the nuts in the tube. These will hold the full weight of the lamp.

Attach tube to back with 2 M4 nuts, cut exactly to size.

Attach round servo plate to rotation. Be careful not to break the part. you might want to drill the holes so that the screws are barely catching. This part is fragile.

Put wired Led in head (only if you want the eye to light up)

Attach heatsink to the eye led. This is just a precaution. the eye is powered with a fraction of the power of the main lights.

Attach pushrod to head servo. You don't want to attach this pushrod when the servo is already glued in place.

Put (and glue) servo in rotation

attach pushrod large to the bottom servo.

Attach servo to moving arm using the servoclamp

Put other servo in bottom and to hold the rotation in place. The servo needs to be 'up side down' to make the moving arm and the rotation line up.

Attach rotation to bottom with the screw and maybe a dot of glue.

Place the junction box on the rotation to cover up the screw holes an mounting holes junction box

Mount head to rotation with 2 self locking M3 nuts and 2 M3 countersunk screws.

Attach head pushrod to head using a tiny screw.

Step 7: Wire the Assemblies

You could skip this step if you don't want to power any systems below the base.

I do however advice to put wires between the back and the moving arm. In the game, there are clearly wires running there.

To make this arm function, you will need to put wires from the base, through the internals, through the back and to the moving arm. From here it can be spread to the 3 servo's and the eye. In total there need to be 11 wires running from top to bottom. Most of these wires are black, but there are several wires that are a yellow orange color.

I put connectors between the internals and the back. It is also possible to solder the wires there or even better, just use wires that are long enough (everything seems more logical when you are looking back on it).

at this point you can attach the back to the internals and the internals to the moving arm. you now have a complete arm.

Step 8: Putting It All Together

Connect the mains side of the power supply and the led driver to each other. This way the fans will turn on together with the lights.

You where built with a brain, use it. I am not responsible for any harm or damage done to you or others and your surroundings by this lamp/arm. Electricity can kill you if you don't know what you re doing.

!! I strongly advice against modifying power supplies. I needed to do this do make everything fit !! Just try to find a power supply that fits.

put all of the electronics in the base. check if wires can't short.

mount the arm to the base. Put the threaded rod though the base and then put several nuts in place. Depending on the type of arm you printed, you need to add a gear to the top of the threaded rod.

mount the mounting plate to a (preferably your own) ceiling. I modified the design of the mounting plate so that it is physically possible to put in the screws. It took me a good part of two hours to mount my lamp.

Attach wires and then attach the lamp to the mounting plate. You should now have a functioning GlaDOS lamp. Congratulations, your life is now a bit more awesome.

Step 9: Enjoy

Putting all this effort in a project won't do you any good if you can't enjoy it.

Sadly for me, I was hoping by now the arm would be moving properly. But having a fire hazard lighting my room wouldn't really make me comfortable. Safety above all. I still got an amazing lamp out of it.

The lamp is more than sufficient to light my room. It is brighter than my previous store bought lamp. All I'm waiting for is some fat joke to come from the lamp.

Step 10: Final Thoughts

So many thing have not gone the way I planned, that I can fill an entire instructable just with those lessons.

The biggest problem I faced was a giant shortage of time. This project has taken me a month start to finish. I would have had a far better result if I had taken a few months more for it all. The rush was for entering the UP! contest.

Not testing the electronics was one of my bigger mistakes. Finding out that components just can't handle the power really sucks if you have the arm in final assembly and are two days until your deadline. I was never much for making an experimental setup, but these electronics where madness even to my standards.

8x 3W might be a bit of overkill. This will light a room twice as big as my room and still be too bright. 1W would probably have been a better choice. When I rebuild it, I will probably swap the 3W for 1W leds. 1W only produces half of the light.

Using the cheapest of cheap servo's has really been a letdown. All of the parts that did move either had way to little strength, of where shaky. I had no time to order proper servo's, and even if I had, I would have still probably bought cheap servo's. When I do rebuild the arm with proper electronics, I will most certainly upgrade the servo's.

Not planning most thing has caused me to seriously misjudge a lot of thing. If I had simulated the parts, I would have found out that 1kg was not enough, and I would have found out that I needed more than 1 weekend and 1 printer to print the parts. Also I could have figured out that painting would take more than one week if I had planned everything. Things still might not have gone completely as planned, but a lot of the large problems in this project could have been prevented.

Looking back on it all almost makes me regret ever starting it. I don't though cause even if I haven't reached my initial result. I still got one of the coolest lamps in existence. Plus most lessons are learned while making mistakes. You haven't failed if you have made a mistake, you have just found a way how not to do it.

In the pictures below some of the old parts that are useless without a working GlaDOS controller.

Step 11: What I Am Doing to Get It Moving

After all of the interest, and because I already had this time planned for continuing on this lamp. I already started to implement some of the necessary fixes. So don't worry, I haven't given up hope on this and are busy working on making it move.

The problems that needed to be fixed:
  • The 7805 voltage regulator overheated from room temperature to lava faster than... I don't even know a good reference for this;
  • Most (all) of the servo's were too weak;
  • Some parts in the base were too weak;
  • The electronics wouldn't fit in the base.
The 7805 has a simple but impractical fix. Insert PC power supply. PSU's are the sledgehammers of the electronics world. If they don't fix a power supply problem, start screaming and running in circles.

To fix the servo problem, I ordered decedent servo's. Some of these are the kind of thing that were almost used in Godzilla. Here is where I discovered that analog will really not do. Go digital. I still haven't received all of the servo's. But I already tested the ones in the base and the main arm. The main arm now works. The gears in the base needed some work.

In the base, the gears were spreading and skipping. Also the ratio on the gears allowed for a ridiculous speed on the arm. I redesigned the gears so that they have a 1:1 ratio. Also I added parts that keep them from spreading. The gear assembly now requires 3 printed parts, 1 608 bearing, 1 624 bearing and a M4 screw. For the base itself being too weak, don't fear. I slightly reinforced (or will, depending on when you read this) some parts, but most of my fractures were due to wrong printer setting (in my case old firmware for PLA). Other parts were printed stronger.

Also I did a re-redesign of the base, To power and control everything outside of the base. This resolves a ridiculous space problem, allows for better cooling and makes it easier to swap components and electronics, not to mention uploading on the arduino will be a lot easier. Drawback is that there are wires coming from the base, and it isn't self contained anymore.

I did get every axis to move with the controller. Because there is 3 meters of wire on both the controller side and the lamp side, all that the breadboard contains is wires and capacitors. Every wire that goes somewhere is connected to a capacitor. Most of them help.

Lamps & Lighting Contest

First Prize in the
Lamps & Lighting Contest

UP! Contest

Grand Prize in the
UP! Contest