One of my all-time favorite projects was creating my first Animatronic Wheatley. Be sure to check it out! However, that was a long time 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
The general progress of Wheatley v2.0 is recorded on this page. Check out the full Work Log for more particular details of the process. The latest content is added to the bottom of that page. To view the images larger than they are presented here, Right-Click on them and select “Open image in New Tab”.
Note: I do not intend to make and sell any animatronic puppets. That would infringe on Valve’s copyright(s) and intellectual property. However, I am willing to correspond with you about the build and offer advice for building your own! To learn more about the help I can offer you, Click Here.
Design: Oct 1st 2016 – Jan 14th 2017
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. It was created by the same person who made SolidWorks, and because I had used SolidWorks before, using OnShape felt natural and right. 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.
To try and help cover the cost of the printing, I set up a GoFundMe.
Turns out it was a big waste of time. I only had one family that I’m friends with donate $20. Thanks Askew Family! 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. (They have since changed their business model and no longer offer contact with local people.)
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.
It also turned out that he and his family are Portal fans as well! They built a Portal gun and a mini GLaDOS with motion, IR detection, and sound (Video here)! 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.
3D Printing: Jan 15th 2017 – Jan 28th 2017
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! I also got to see his small-scale animatronic GLaDOS (link to the video is posted above). When he turned it on She lunged at me and said one of Her intimidating lines (I forget which one it was). She honestly scared me though. Even though She’s a miniature, I imagined what it would be like to be in the presence of a 1 to 1 scale model: Very frightening.
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.
Part Processing: Jan 29th 2017 – May 1st 2017
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 creates is ridiculous. I’ve had to vacuum the area I’m working in every week. I’ve also used the dremel to drill out most of the screw holes. Most of the parts assemble quite nicely and allow free range of motion (after a lot of sanding).
Mishap and Redesign: May 1st 2017 – June 20th 2017
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.
New Parts and Electronic Development: June 21st 2017 – Sept 29th 2017
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.
Sound Board Setback: Sept 30th 2017 – Nov 28th 2017
A few weeks went by without any significant developments. But then, disaster struck: Wheatley’s sound board was dead. 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. The dead soundboard turned into a 2+ week fiasco. I got the replacement board and started using it, but part of the main chip’s output amplifier was defective. 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.
Christmas Miracles and New Year’s Progress: Nov 28th 2017 – Mar 1st 2018
As Christmas approached, I made a change to the sound system: 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.
The real Christmas Miracle came the day after Christmas. My curiosity 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 60 voice lines programmed in at a single time!
The 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.
Spring Break and Summer Freedom: Mar 1st 2018 – Aug 25th 2018
Spring Break 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 that came from Spring Break 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.
The rest of Wheatley’s parts are currently being painted by my artist friend, and not much more is left to do until Wheatley is completed!
Aug 25th 2018
Once everything was painted and the troubleshooting was finished, it was only a matter of tweaking his code so everything functioned properly. Once that was done and his voice lines were loaded into the sound board, he was complete!
Below you will find the costs of this project as well as the Bill of Materials that went into Wheatley.
- 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
- (LWS) = Lowes
- (WM) = Walmart
- (RS) = RadioShack
- (ARC) = Local RC Store
- (Ebay) = Ebay
- (HD) = Home Depot
- (ADA) = Adafruit.com
- (AB) = All-Battery.com
- (DT) = Dollar Tree
- (AMZ) = Amazon.com
- (HBF) = Harbor Freight
- (LTS) = Local Thrift Store
- (DGK) = DigiKey.com
- (3DH) = 3DHubs.com
- (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) 1×20 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