Animatronic Wheatley V2.0




About: Currently studying Design Engineering Technology at Weber State University.


Before I jump into my ramblings about this project, let me warn you: This is NOT a step-by-step, exactly detailed, how-to-make-your-own Wheatley Instructable. Over the two years that I worked on this project I only kept track of general progress. I’ve got a few drawings, some notes here and there, lots of pictures and videos, but no definite list of each step. My outlook on it is this: The fun is in doing it on your own! Sure I found reference photos and videos, but no one told me how to put Wheatley together piece by piece. It was a discovery process that yielded more problems, and thus more fun, than I ever imagined. Please! If you are thinking about using this Instructable to help you build your own Wheatley, by all means: Use it! The full extent of all the details of this project can be found on my website:

One of my all-time favorite projects was creating my first Animatronic Wheatley. Be sure to check it out! However, that was quite a while ago. I have re-imagined that project, and it’s bigger and better than ever!

This version of Wheatley includes:

  • 3D printed shell/frame/parts
  • Up/down/left/right face movement
  • Side to side face tilt
  • Independent upper and lower eyelid function
  • Independent upper and lower handle movement
  • Bright blue optic that flashes as he speaks, just like in the game
  • 40+ authentic voice lines
  • Rechargeable/replaceable internal batteries
  • PS3 controller connected via Bluetooth

Note: Wheatley is a fictional character from the video game Portal 2. Voiced by the wonderful British actor and comedian Stephen Merchant, he becomes your character’s sidekick through part of the game.

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

Step 1: Design

Designing Wheatley began with finding a 3D design software. I knew from the start that I wanted to 3D Print Wheatley this time, so I needed to find a software that would let me export my 3D models to printable files. Just by Googling you can find a bunch of different programs. I tried out a few of the popular ones, but nothing seemed to feel right. Many of those I tried had powerful features but were difficult to master. Eventually I happened upon OnShape. It’s an online CAD software that’s easy to use, accessible from anywhere, and allows you to import, export, and even order from 3D Print services directly. Plus, it’s free, which really helped.

Over the next 3 ½ months, I spent a lot of time fleshing out Wheatley’s initial design. I learned as I went along, and slowly I created a Personality Core out of a blank 3D sphere. I also considered different features to include, such as what type of material to use to attach his Sides with, how to make his Handles move, etc. You can see how the design evolved just by clicking through the pictures.

Once the design began to solidify, the next thing that I focused on was the question: How much is this going to cost? My first Wheatley had cost about $350 to make. Since I wanted to double the amount of quality from v1.0 to v2.0, I doubled my budget. I decided that I would be happy if I could complete this version of Wheatley for $700 or less. After determining the budget, I took what 3D files I had and ran them through several different printing services for estimates. Most of the websites or services that I tried quoted $750 to $800. That took a significant chunk out of the budget, but it would still be possible. At this point, I accepted the fact that I would be paying for this whole thing myself.

As the design neared completion, I settled on a great 3D Printing service called 3D Hubs. It connects you quite easily to the closest people who have registered their 3d printers on the site, and you pay the printer, not the website. It’s really genius. Because of the size of my files, I had to print through a hub about 80 miles away. The hub is owned by a man named Carlos, who was very helpful through the whole process. It took some time to get everything situated for the 3D Print, including a break for the Holidays. However, the best news of all was finding out that he was only going to charge me $240 for the parts! I was thrilled! While all of this was going on, a possible setback loomed in the near future: Starting College. I knew that I wouldn’t have as much time as I used to due to the schoolwork. But, I determined that I would finish Wheatley sooner rather than later.

Step 2: 3D Printing

The 3D Printing honestly didn’t take that much time, although it felt like forever. One of the joys of 3D Printing is that you can prototype and create much faster than you’d normally be able to.

The whole printing process went smoothly, except for one mishap with the printer. During the printing of one of the Inner Socket pieces something bumped the printer, causing the rest of the part to get printed misaligned. Carlos fixed it very well though, so no worries there. Once Carlos informed me that the parts were ready to be picked up, I made the 80+ mile drive on a Saturday morning and went and got them. I got to talk with Carlos a bit while we were removing the support material from the prints and fusing some of the parts together. He’s a really neat guy!

Overall, I’m very pleased with the quality of the print. There were several places where the ABS warped while it was cooling, as well as some places that needed to have more detail added to them. There were also several other things that needed to be adjusted, but those will be covered in the next section.

Step 3: Part Processing

I started by digging out my trusty dremel and sanding a few of the parts. In doing so I discovered two things: First, that ABS sands very quickly with a dremel. Second, sanding ABS gets particles of the stuff EVERYWHERE! The amount of plastic dust that sanding Wheatley’s parts created is ridiculous. I had to vacuum the area I was working in every week. I also used the dremel to drill out most of the screw holes. Most of the parts assembled quite nicely and allowed free range of motion (after a lot of sanding).

Step 4: Mishap & Redesign

An accident with some expanding superglue left the largest part of Wheatley’s body disfigured and irreparable, so his major parts had to be reprinted. However, this mishap gave way to a much-needed redesign of his inner workings. I also took this time to redesign the robotic assembly that makes him move to allow more range-of-motion and easier maintenance.

I used the time I spent waiting for the new parts to solidify the circuitry for Wheatley’s brain. The first half is the Arduino UNO, which takes the inputs from the PS3 controller and outputs signals for the servos and triggers for the soundboard. The second half is a circuit I’ve been working on that includes connections for the servos, the sound-to-light circuit with speaker connections, and the soundboard itself. I made many different plans for how it would all come together. Most of those plans changed and evolved, but it was always for the better.

Step 5: New Parts and Electronic Development

After receiving the new 3D printed parts, I began processing them with my dremel, sandpaper, and whatever else was needed to make them fit comfortably. Carlos surprised me again with a discount on the printed parts, which I am extremely grateful for.

I completed the rudimentary wiring for the power system with little problems. I tested what electronics I had assembled up to this point, and everything was working wonderfully! However, I had issues with the mechanical aspect of making Wheatley’s Handles move. After trying a few different solutions, I settled for putting the servos in the Handles themselves instead of inside his body.

Step 6: Setbacks & Successes

A few weeks went by without any significant developments. But then, disaster struck: Wheatley’s sound board was dead. I had been using the Adafruit Audio FX Sound Board with no problems previously. However, I either damaged it accidentally or a fluctuation in the battery power overloaded part of the sound board. I’m not sure which one caused the destruction, but one of the onboard components fell off and the board stopped working. After a painfully slow interaction with Adafruit Support, I finally received a replacement board.

In the time waiting for the sound board to arrive I worked on various parts of Wheatley, improving and processing parts and functionality. Each day was one step closer to being finished, but there was still a long way to go. After troubleshooting the audio system I decided to make a change: Independent batteries. There was so much electrical noise in my circuitry that it was affecting Wheatley’s sound quality, so I wired the sound system to its own batteries. It was a small price to pay for functionality.

My curiosity also led me to try the OGG audio format and allowed me to triple Wheatley’s voice line capacity! I was no longer limited by the size of the audio files (but still limited by other hardware). This made it so that Wheatley can have up to 40+ voice lines programmed in at a single time! A New Year arrived and with it came more progress, changes, and adjustments. Wheatley blinked for the first time and, shortly after, moved and spoke! His Handles were improved upon and the battery system got reworked. College took up a lot of my time through this project, so things progressed slower than I would’ve liked. However, I was determined to finish Wheatley, whatever the cost.

Step 7: Paint Job & Troubleshooting

Spring finally came, but I didn’t accomplish nearly as much as I wanted to. I worked on the lens and decals for Wheatley’s eye, got frustrated with my local store’s lack of inventory, ordered more parts from the Internet, and had more parts reprinted to fix a few issues.

The most significant thing accomplished at this time was my artist neighbor painting Wheatley’s face! It turned out amazing and filled me with hope! Once Summer came, my free time increased and I was able to make more progress on Wheatley. I troubleshooted the sound system and found a configuration of amps and speakers that provided the smallest and loudest solution in my budget. I also sanded, primed, and painted a basecoat on the rest of the parts, tested the Handle servos, finished all of the internal wiring, and found strong but super-thin Velcro to mount the Sides with.

After this, the rest of Wheatley’s parts were being painted by my artist friend and not much more was left to do until Wheatley was completed!

Step 8: Code Tweaking & Finished Wheatley

Once everything was painted and the troubleshooting was finished, it was only a matter of tweaking his code so everything functioned properly. I received help from Kristian Lauszus, one of the original creators of the PS3 Bluetooth Library for Arduino, to compile Wheatley's code. Special thanks to him for his help!

Once Wheatley's code was working properly and his voice lines were loaded into the sound board, he was complete!

  • Total Cost of the materials that went into Wheatley: $1,097.06
  • Total Cost with estimated Tax & Shipping: $1,274.95
  • Total Cost of whole project (including Wasted Materials): $1,533.90
  • Total Cost of whole project with estimated Tax & Shipping: $1,742.80

Be sure to check out the website documenting the project for the full Work Log, all of the details, and more interesting Portal content:

Step 9: Make Your Own Wheatley

If you'd like to make your own Wheatley, you'll find attached the latest version of his code and my Bill of Materials below. If you'd like to ask me any questions about how I built my Wheatley or need some advice on building your own, email me at Best of luck!

Item Source

  • (LWS) = Lowes
  • (WM) = Walmart
  • (RS) = RadioShack
  • (ARC) = Local RC Store
  • (Ebay) = Ebay
  • (HD) = Home Depot
  • (ADA) =
  • (AB) =
  • (DT) = Dollar Tree
  • (AMZ) =
  • (HBF) = Harbor Freight
  • (LTS) = Local Thrift Store
  • (DGK) =
  • (3DH) =
  • (JOA) = Joann's Crafts
  • (AO) = Already Owned


  • (LWS) Servo Screws and Washers- 1 @ $ 0.99
  • (LWS) Machine Screws #8-32 x 1in (8 Pcs)- 1 @ $1.24
  • (LWS) Machine Screws Flat #8-32 x 3/4in (8 Pcs)- 1 @ $1.24
  • (LWS) Machine Screws #8-32 x 1.5in (6 Pcs)- 1 @ $1.24
  • (LWS) Machine Screws Flat #8-32 x 1in (8 Pcs)- 1 @ $1.24
  • (LWS) 3M 0.94" Blue Painters Tape- 1 @ $3.98
  • (LWS) Rustoleum Flat Black & White Spray Paint- 2 @ $3.98
  • (LWS) Rustoleum Filler Primer 2-in-1- 2 @ $4.98
  • (WM) 1/8th Yard Stretchy Black Fabric- 1 @ $0.59
  • (WM) 9 LED Flashlight- 1 @ $1.00
  • (WM) Onn Amplified Speakers- 1 @ $8.00
  • (RS) TIP31 Transistor- 1 @ $1.99
  • (RS) 2.1mm Barrel Jack (2 Pcs)- 1 @ $3.49
  • (RS) XLR Male Connection- 1 @ $6.99
  • (RS) Half-Watt Amp Kit- 1 @ $10.00
  • (RS) Micro Servo- 4 @ $12.99
  • (RS) Arduino Uno R3- 1 @ $24.99
  • (ARC) 12in Servo Extension- 4 @ $3.49
  • (ARC) Rage Standard Metal Gear Servo RGRS104-16-6vm- 7 @ $12.99
  • (Ebay) 1x20 Pin Male Headers- 3 @ $0.82
  • (Ebay) DPST Slide Switch- 2 @ $1.25
  • (Ebay) 4xAA Battery Holder- 1 @ $2.29
  • (Ebay) Male to Male Jumper Cables (40 Pcs)- 1 @ $3.75
  • (Ebay) Kinivo BT USB Adapter BTD-300- 1 @ $10.00
  • (Ebay) SMD LED 76mm Halo, White- 1 @ $11.75
  • (Ebay) Keyes USB Host Shield- 1 @ $17.95
  • (Ebay) Castle Creations 10A 6S BEC- 1 $19.99
  • (Ebay) White PS3 Controller- 1 @ $29.94
  • (HD) Defiant Motion Security Light 1000 050 242- 1 @ $29.97
  • (ADA) Audio FX Mini Soundboard 16MB- 1 @ $19.95
  • (AB) Tenergy 9.6V 2000mAh NiMH Battery- 1 @ $14.99
  • (AMZ) Avery Sticker Paper, White (5 Pcs)- 1 @ $5.46
  • (AMZ) Avery Sticker Paper, Clear (3 Pcs)- 1 @ $5.46
  • (AMZ) XT60 Connectors (6 Pairs)- 2 @ $6.80
  • (AMZ) Apoxie Sculpt Color Kit: NEUTRAL- 1 @ $8.39
  • (AMZ) Floureon 9.6V 1800mAh NiMH Battery- 3 @ $11.99
  • (AMZ) 6X3mm Brushed Nickel Magnets- 2 @ $0.12
  • (AMZ) OceanLoong Smart Charger- 1 @ $12.98
  • (LTS) 6 Ohm 10 Watt Speaker- 1 @ $2.00
  • (DGK) 1K Ohm Resistor- 6 @ $0.04
  • (DGK) 470 Ohm Resistor- 6 @ $0.04
  • (DGK) Transistor NPN 45V 0.1A- 6 @ $0.20
  • (3DH) Wheatley's 3D Printed Parts- 1 @ $600.00
  • (JOA) Velcro Thin Clear Fasteners- 1 @ $3.99
Game Life Contest

Participated in the
Game Life Contest

Be the First to Share


    • Made with Math Contest

      Made with Math Contest
    • Multi-Discipline Contest

      Multi-Discipline Contest
    • Robotics Contest

      Robotics Contest

    30 Discussions


    8 months ago

    Actually, the project is pretty cool. keep forward ...


    1 year ago

    I'm not sure what my robot has to do with a camper, but thanks anyway!


    1 year ago

    We're not worthy, We're not worthy!!!

    Wow, what an amazing build and project! Nice going!

    You sir could be in the special effects industry.

    I am just continually floored by the creativity I see on this site.

    1 reply

    1 year ago

    hmm, what’s a wheatie? Is it a robot?

    I’m going to try and find what it is but without being able to watch the videos, I am assuming animatronic = robotic in this case. Can someone add some info. I’m heading to google to see what wheatie turns up. Thanks

    Update... I went back and reread the article again and below the specifications I found a little note I missed before

    Note: Wheatley is a fictional character from the video game Portal 2. Voiced by the wonderful British actor and comedian Stephen Merchant, he becomes your character’s sidekick through part of the game.

    So now I know what a wheatie is, useless lol. I’m sure it’s a great project and learning tool so keep tinkering this one is nice, just not for me...

    5 replies

    Reply 1 year ago

    I like to give people the benefit of a doubt, but I'm not convinced you're not just a troll who thinks they're being cheeky.

    The purposeful misspelling of Wheatley (even after spelling it correct). The name is in print, how would you get that wrong?

    Your quote "...and seeing your wheatie dance!" seems to be telling, unless you had seen the video, why would you have said that? Doing research on Wheatley, there's nothing about his form or description that would imply "dancing".

    Your words imply you are a Russian who's English is not a first language.

    Yet your profile suggests you are an American, and one of note in the circles of two-wheeled racing... confusing.


    Reply 1 year ago

    Sorry you weren't able to watch the videos. Thanks for your thoughts though!


    Reply 1 year ago

    Internet is ok but the video streaming is horrible at Mirny. I’ll watch it when I get back to Vostok station! Oh, btw I’m wintering over in the Antarctic and everything goes to crap when it gets cold I’m lucky I can get text through. It’s currently -93 F, -70 C and it’s 30 in the radio room! lol. It should be a few deg warmer at Vostok because there’s a real climate system there.

    Anyway, looking forward to watching your video, and seeing your wheatie dance!


    Reply 1 year ago

    Sounds like your radio room could use a robotic companion to keep y'all company through the cold.


    Question 1 year ago

    Why won't you share the files with the public? Its a great project all around, and you did an amazing job, but why not share the 3D design plans, and everything else? There's no gain from not sharing it, there is definitely loss of not sharing it for people that do not have access or knowledge of any CAD program, plus the fact that Onshape does cost (Unless you are a student, in which case you get the most BASIC version of the software). Would you please share your creation, instructions, and 3D files with the world?

    3 answers

    Alex, the reason I am not sharing the 3d files is because they, by themselves, would not allow a functional robot to be made. There are many things I did to modify the design physically after printing, such as sanding, drilling holes, adding other features with new material, etc. As a Maker, I don't feel comfortable releasing files that would need more work to get them finished.

    OnShape is free for anyone, especially hobbyists such as ourselves, to use publicly:
    The paid version of the software allow access to features used in industry, corporations, and project management.

    I don't have specific step-by-step instructions because this was a 2 year long hobby project. I simply kept track of how the project evolved. I'm not sure I'd even be capable of making step-by-step instructions at this point.

    Finally, I believe that greater joy comes from making things yourself! Being able to say that you made something from scratch brings a lot more satisfaction than saying that you made something that someone else designed. I do share the Code and the Bill of Materials with this Instructable, as well as my willingness to provide advice via email, in hopes that it inspires someone to make their own Wheatley, and not a copy of mine.

    I understand and thank you for clarifying, you have inspired me to start my own Wheatley project, so thank you for sharing what you could. I understand that the process was elongated now than I though previously. I started ordering parts now, I am planning on programming first, then building the shell to spec with the game as well. This will definitely be a great project to show to my coding class as well

    That's great to hear! Shoot me an email if you'd like advice on something, and let me know when you finish; I'd love to see it when it's done! Best of luck to you!


    1 year ago

    Jesus, the detail is impeccable! Great job! You've really captured Wheatley here.
    But OMG that price tag. But Worth it when you are doing DIY.
    Now if only you were a ventriloquist and could mimic Wheatley's voice.

    3 replies

    Thanks! A friend of mine is looking into making a text to speech voice that sounds like Wheatley. Hopefully it works!


    Reply 1 year ago

    He can try going through the Ricky Jervais XFM radio show archive- Merchant is one of the hosts and he's always talking. You could make a franken-voice by piecing together individual words.

    It'll sound terrifying, but you can just blame it on robo core corruption.