Animatronic Face of Freddy Fazbear
by hgodil2 in Circuits > Arduino
25 Views, 0 Favorites, 0 Comments
Animatronic Face of Freddy Fazbear
The picture above shows a custom-built animatronic head of Freddy Fazbear, the antagonist from Five Nights at Freddy’s. In the game, a security guard is terrified by animatronics possessed by supernatural forces. My build brings this character's head to life using an Arduino Uno.
It features two main interactions: when an ultrasonic sensor detects an object within one foot, Freddy emits a menacing laugh. Additionally, touching his forehead triggers a photoresistor, making him to speak a famous line from the movie. The system is powered by five servo motors and a joystick that controls the eyeballs.
Supplies
Bill of Materials
1x 5V 1A Power Supply (USB) — $6.99 (Amazon)
1x 5V 3A Power Supply (USB) — $5.34 (Amazon)
2x USB Male to Female Cable — $12.00 (Amazon)
1x USB Terminal Strip — $9.00 (Amazon)
1x Arduino UNO R3 — $27.60 (Amazon)
1x Photoresistor — $0.80 (DigiKey)
1x Joystick — $6.29 (Amazon)
1x HC SR04 Ultrasonic Sensor — $6.99 (Amazon)
5x Servo Motor — $7.99 (Amazon)
2x 10kOhm Resistor — $0.16 (RS)
1x Speaker — $9.99 (Amazon)
1x MicroSD Card — $9.99 (Amazon)
1x Breadboard — $8.99 (Amazon)
1x DFMini Player — $9.90 (Amazon)
100x M2M, M2F Jumper Wires — $6.98 (Amazon)
2x 3D Printed Parts — N/A (YouTube)
1x Scrap Materials — N/A
Supporting Structure
The main frame was constructed using leftover 1" × ¾" aluminum bar stock. Because the scrap material contained surface imperfections, all pieces were milled to uniform dimensions. The bars were drilled and tapped with 4-20 button head screw holes for assembly.
A sheet of plexiglass was mounted to the frame to provide a clean surface for attaching the breadboard, Arduino, and wire management components.
3D-Printed Eyes
The eyeballs (3.5 inches in diameter) required 26 hours of printing in total. The design was inspired by the animatronic eye system shown in the video below:
Inspiration Video:
https://m.youtube.com/watch?v=pRF0nXyms0k&pp=ygUQQW5pbWF0cm9uaWMgZXllcw%3D%3D
Each eye can move horizontally, while a separate servo opens and closes the eyelids.
Mouth Joint
The mouth mechanism is based loosely on human jaw anatomy — specifically the action of the masseter muscle. Rubber bands were used as restoring elements, pulling the jaw back to a neutral closed position when the servo releases tension. The mouth structure is supported by a simple cardboard frame.
Actuators
Five servo motors were used to control Freddy’s facial movements for their precise angular movement:
- 2 servos — horizontal eye movement
- 2 servos — eyelid open/close
- 1 servo — mouth movement
Because each servo draws up to 300 mA, the Arduino alone cannot supply sufficient power. A 5V 3A auxiliary supply was used, connected through a USB-A terminal strip and distributed via the breadboard.
Servo Pin Assignments
Left Eye Horizontal - Digital Pin 3
Right Eye Horizontal - Digital Pin 5
Left Eyelid - Digital Pin 6
Right Eyelid - Digital Pin 9
Jaw / Mouth - Digital Pin 10
Paperclips were used as lightweight mechanical linkages between servo horns and the 3D-printed parts.
Ultrasonic Sensor
The ultrasonic sensor detects approaching objects and triggers the laugh audio. The trigger was set to 30cm for this project.
Pin Wiring
- Trig → Pin 12
- Echo → Pin 11
- VCC / GND → Arduino
The sensor was mounted below the jaw on the plexiglass panel.
Photoresistor (LDR) Touch Sensor
A photoresistor was embedded behind the cardboard forehead. Covering it significantly drops light levels, acting like a touch sensor. The LDR was tuned to trigger at very low light, which successfully simulates “touch” but also causes activation in a dark room — a tradeoff noted during the build.
The LDR’s voltage divider output is wired to Analog Pin A0.
Audio System - DFPlayer + Speaker
A small speaker mounted to the plexiglass plays two MP3 files stored on a 16GB MicroSD card:
- 0001.mp3 — Freddy’s laugh
- 0002.mp3 — Movie line: “Now would be a good time to hold your breath.”
The DFPlayer Mini communicates with the Arduino via serial. The Audio files can be found on YouTube and converted into an MP3 file. They then need to be transferred to the SD Card via a computer.
Pin Wiring
- DFPlayer RX → Arduino Pin 8
- DFPlayer TX → Arduino Pin 7
Joystick Control
A simple joystick allows the user to move Freddy’s eyes horizontally. Only the X-axis (VRx) was used to reduce wiring complexity.
Wiring
- VRx → Analog Pin A1
- Vertical axis and pushbutton were left unwired and can be ignored in the figure below.
Mounting & Wire Management
The plexiglass frame provided a convenient and clean way to mount all wiring. Hot glue, screws, and zip ties were used to secure:
- Arduino
- Breadboard
- DFPlayer
- Wiring bundles
- Speaker
Careful routing ensured nothing interfered with servo motion.
Carboard Face Overlay
A printed image of Freddy Fazbear’s face was attached to cardboard and mounted over the frame to complete the character’s appearance.
Final Code
The code in the following file should be uploaded to the Arduino. The following edits in line may have to change according to the room conditions the animatronic will be used:
Line 21 & 22 - LDR Sensitivity
Final Video
https://youtube.com/shorts/QuA9YH9sE-w
Lessons Learned
- Reduce eye diameter to simplify integration with the cardboard mask.
- Create CAD models early to understand where everything will be mounted and secured.
- Program autonomous eye movement and blinking for more lifelike behavior.
- Synchronize jaw movement with the laughing audio playback.
- Redesign the eyes to support vertical movement in addition to horizontal.
- Use fully 3D-printed components for improved strength and aesthetics.