Introduction: Frankenturret (Portal 2) With Twitching Legs

About: please excuse my english if something is not proper. my mother tungue is german and I know my english is not the best just as my writing skills^^. but I hope it´s intelligible and you are able to learn somthin…

When I played Portal 2 I was so thrilled how cute and evil
(and simply awesome) everything is that I decited to build something from that game.

my favorite thing in the game:
The Frankenturret

it´s a mix of a cube and two sentry turret.

here is a video of the finished product where you can see the legs twitch

my original idea was to make a smaller version of this cute things and to make it walk by itselfe like they do in the game. but I had to cancel that idea becuase I needed too powerfull servos and the servos are pretty much in the middle of the cube. the angle is the problem. a push from the servos would push the turret not forward/ahead but upwards and than it falls backwards.

so I decided to make the legs twitch like they do when they lay on there backs

Step 1: Sketch

for the sketch I used the Portal 2 Authoring Tools (you can download that on steam)

with this tool you can view the 3D models from the game and make them move the way you want.

thsi is very helpfull for making a sketch.

I scrolled the frankenturrent on the screen as big as I wantedt it to be for my model (the measures of my frankenturrent are about 25x23x16 cm). after that I put a piece of paper on the screen and traced the whole thing.

this is the only sketch I needed

Step 2: The Maincube

the maincube is made from cut out PVC foam boards that I glued together with hotglue.

I also used the PVC boards to make the back of the turrets heads

this stuff is pretty easy to handl. you can cut it with a saw or a knief and if you heat it up it becomes flexible.

Step 3: All the White Parts

I modeled the turret heads, the edges and the legs with wax. I made a mold from silicon and casted the heads, edges and legs with smooth cast 65D.

castign with this is pretty simple. you just have to mix the equal amounts of part A and B of the smooth cast together and pour this in the mold and slew it. the smooth cast will slowly become sticky and the layers of this stuff become thicker and thicker if you keep slewing. in the curing process the smooth cast will become white. (sorry, it is very hard for me to discribe in english. I hope I described it understandable) you can see how I cast things with smooth cast 65D in this video (the casting starts at 4:46)

everything is polished to make it look nice.

the edges where pretty hard to put on the cube. because they are handmade they aren´t symmetrically perfect and I needed alot of work to make them fit right to the cube.

this was pretty much the hardes part of the making of the frankenturret. if someone has a printable 3d model of those edges and is so kind to share, please contact me. this would make a rebuild ( a friend want´s to have one too) way easier

a simple LED circuit lights the eyes up

Step 4: Textures

the textures are all screenshots from the portal 2 authoring tools I mentioned before. I printed them on photo paper and glued them to the franken turret

Step 5: Make the Legs Move

the legs move with an Arduino and 2 servos.

a friend helped me write a simple code for the servos and he soldered something he calls a shield. I thing it was for the powering of the servos. because I didn´t want some cable come out of the frankenturret. I wanted it to be powered by a batterie I can hide in the frankenturret

here is a testvideo showing the servos move servo test

they actually move like in the game, it´s not random

the code:


#include
Servo ServoLinks; Servo ServoRechts;

int AusgangPosition = 10; int EndPosition = 70;

void setup() { ServoLinks.attach(6); // Linker Servo an Pin 9 GelbesKabel ServoRechts.attach(7); // Rechter Servo an Pin 10 GelbesKabel

ServoLinks.write(AusgangPosition); ServoRechts.write(AusgangPosition); }

void loop() { ServoLinks.write(EndPosition); delay(75); ServoLinks.write(AusgangPosition); delay(300); ServoRechts.write(AusgangPosition); delay(75); ServoRechts.write(EndPosition); delay(500); ServoLinks.write(EndPosition); ServoRechts.write(AusgangPosition); delay(75); ServoLinks.write(AusgangPosition); ServoRechts.write(EndPosition); delay(500); ServoLinks.write(EndPosition); ServoRechts.write(AusgangPosition); delay(75); ServoLinks.write(AusgangPosition); ServoRechts.write(EndPosition); delay(1000); ServoRechts.write(AusgangPosition); delay(75); ServoRechts.write(EndPosition); delay(300); ServoLinks.write(EndPosition); delay(75); ServoLinks.write(AusgangPosition); delay(300); ServoRechts.write(AusgangPosition); delay(75); ServoRechts.write(EndPosition); delay(2000); ServoLinks.write(EndPosition); delay(75); ServoLinks.write(AusgangPosition); delay(100); ServoRechts.write(AusgangPosition); delay(75); ServoRechts.write(EndPosition); delay(100); ServoLinks.write(EndPosition); delay(75); ServoLinks.write(AusgangPosition); delay(100); ServoRechts.write(AusgangPosition); delay(75); ServoRechts.write(EndPosition); delay(100); ServoLinks.write(EndPosition); delay(75); ServoLinks.write(AusgangPosition); delay(100); ServoRechts.write(AusgangPosition); delay(75); ServoRechts.write(EndPosition); delay(100); ServoLinks.write(EndPosition); delay(75); ServoLinks.write(AusgangPosition); delay(100); ServoRechts.write(AusgangPosition); delay(75); ServoRechts.write(EndPosition); delay(1000); }

Make it Glow!

Participated in the
Make it Glow!

Enchanted Objects

Participated in the
Enchanted Objects

Formlabs Contest

Participated in the
Formlabs Contest