กลับไปหน้ารวมไฟล์
squid-games-doll-build-using-arduino-uno-a873b2-en.md

Built a fully functional squid games doll. She plays the red-light-green-light game with you. Complete with rotating head, colored eyes, and she talks! She uses ultra-sonic and motion detection to determine if you win or lose. But don't worry, if you lose she just asks if you want to play again.

Watch the video and let me know what you think.

The build video

I used every pin on the Arduino UNO! Which I've never done before so this was an achievement for myself. This project took me 3 weeks to build with 1 week dedicated entirely to printing! It took me 6 days to print this doll. 1 week for the build and another week to edit the video.

ELEGOO sent me a free UNO kit if I make them a video so this is why I built the doll. It was either this or build an escape room. I'm happy they chose this project. I hope people enjoy it because it was fun build that came out looking really nice and creeps out a bunch of people. But more importantly, it works.

Project Overview

"Squid-Bot" is a rigorous implementation of Thematic Robotics Forensics and Multi-Sensor Logic Synchronization. Inspired by the global "Red-Light, Green-Light" phenomenon, this project pushes the Arduino Uno to its absolute I/O limit. By orchestrating a rotating servo-head, PIR motion detection, and ultrasonic distance telemetry, Squid-Bot creates a high-fidelity interactive game environment. The build demonstrates how to manage complex Temporal Multiplexing for LED displays while simultaneously handling asynchronous audio and sensor-polling routines.

Here are all the parts I will use for this build.

Technical Deep-Dive

  • Servo-Kinematic Forensics:
    • Timer1 Logic-Bypass: To maintain a 4-digit display refresh without the standard Servo.h library (which conflicts with Timer1), the project implements a Manual Pulse-Width Modulation (PWM) Forensics. By precisely timing the HIGH state of the signal pin $(\text{0.5ms to 2.5ms})$, the head achieves a deterministic $180^\circ$ rotation with high-torque stability, ensuring the doll’s "Scan" phase is perfectly synchronized with the game’s acoustic triggers.
    • Structural-Hybrid Fabrication: The doll’s chassis is a custom 3D-printed assembly, optimized for mechatronic integration. Forensics into the "Chest Plate" design allows for recessed mounting of the HC-SR04 and SG90, protecting the sensitive logic-nodes from mechanical stress during high-velocity head pivots.
  • Detection-Logic Diagnostics:
    • PIR Infrared Forensics: The PIR sensor requires a specific Warm-up Calibration Period (approx. 60 seconds) to equalize with ambient thermal noise. The firmware includes a deterministic "Stabilization Delay" to prevent false-triggering.
    • Ultrasonic Proximity Analytics: The HC-SR04 pulses at $40\text{kHz}$, calculating player distance via Time-of-Flight (ToF) forensics. In the "Green-Light" phase, the system identifies a "Win" state when the distance falls below a $50\text{cm}$ threshold, demonstrating high-precision spatial awareness.

Engineering & Implementation

  • I/O Pin-Expansion Bus:
    • 74HC595 Multiplexing Diagnostics: To drive the 4-digit display while preserving Uno pins for sensors, a serial-in/parallel-out shift register is utilized. The forensics involves a $2\text{ms}$ refresh cycle to prevent flickering, proving that human persistence-of-vision can be exploited for complex visual HMIs.
    • Analog-Ladder Button Logic: Multiple pushbuttons are collapsed into a single analog pin using a resistor-divider ladder $(1\text{k}, 2\text{k}, 5\text{k }\Omega)$. This diagnostics approach allows for multi-button menu navigation without exhausting the Uno's digital GPIO resources.
  • Acoustic Telemetry Orchestration:
    • DFPlayer Serial Handshaking: The sound module interfaces via a dedicated UART bus. 1k Ohm resistors are critical to prevent signal-contention during firmware uploads, ensuring the "Busy-State" pin accurately pauses logic-flow until the signature "Mugunghwa" audio-track is completed.

Build Steps

  1. Start Printing Printing is going to take a long time. It took me 6 days to print the entire doll out. I also used different color filament so that I can reduce the amount of painting.

I remixed a model I found on thingiverse.com, hollowed out the center, and added access holes for the electronics. I also modified the chest plate for the Servo and Ultra Sonic to be mounted.

  1. Nobody like painting Time to paint. I used generic spray paint for this. I painted the inside of the dolls head (masked off the eyes) so that the LEDs for the eyes will not make the entire face glow. Although this might be the effect you are looking for. I wanted just the eyes to glow.
  1. Magnets attract but glue sticks One way to attach all of the doll's limbs is to melt magnets into the plastic. This is if you want to be able to take her apart. If I were to do this project again I would probably just glue all the limbs on her. As I see it now, there is little advantage to use magnets aside from she can fit into a smaller box for storage if you want. Only thing you should not attach is the head at this point.
Using Magnets
  1. Easy on the eyes Start with the easiest step, the eyes. I used tri-color LEDs for the eyes. As you know, you can mix and match RGB colors to get basic any color you'd like. I stuck with primary and secondary colors so I didn't have to PWM the signals. But you can if you are looking for that.

The longest pin is the ground, that will be pin 2.

Connect the LED as pictured using 220ohm resistors for each lead aside from the ground.

For mounting, I simply hot glued the LEDs as close to the center of the eyes as I could get but on the reverse side. Be sure to long enough wire to pass down the neck and into the lower part of her body.

  1. LCD Menu The next easiest component is the 16x2 LCD screen. You should use the LCD screen with an I2C adapter. It will make your life much easier and reduces the IO count from 6 to 2. Once this is connected, the LCD should startup with "Welcome to the squid games!" on the display.

For mounting, I printed out a 1mm thick circle. I make this thin so that I can mold it to the dolls back with a heat gun. This is much easier than figuring out the contours of her back ( at least for me ). I installed threaded inserts for the display with nuts on the revers side to secure the display and the display mount to the body.

  1. Only owl heads rotate 180 degrees The servo was difficult for one main reason, I don't use the servo library. I know that sounds weird but I had to use the timer1 for the 4 digit display update and the servo library also uses this. Luckily, the servo is either 0 degrees or 180 degrees and there is no in between making this a lot easier.

Timer1 is setup for.5ms intervals, 2000hz. The servo period is 20ms. At 0 degrees the pin only need to be high for 2 counts and low the rest of the period. For 180 degrees the pin needs to be high for 4 counts and low the rest of the time.

There is a nice mount on the chest plate for the servo. You can screw it into place or glue it into place. I used epoxy to secure the servo to the chest plate because it will also add strength to the chest plate and hopefully prevent it from damage.

  1. Sounds like a bat Next we will install the ultra sonic distance module. I have this updating every 250ms. It also has a nice mounting location on the chest plate. There are only 2 wires for this module.

I used epoxy to mount the ultra sonic to the chest plate.

  1. No strings attached The IR sensor for the remote is only needed if you want to control the game play. I thought this would be fun but don't really use this mode, automatic game play is fun enough.

I chose to mount the IR sensor inside a clip on the doll's hair. You can obviously choose to place it somewhere else. I was trying to hid it but maybe there is a better place because the IR doesn't always see the remote when she turns her head and the sensor is on the other side.

  1. Time to Time Next we will setup the timer display. This is a lot of work for a 4 digit display. I will include the connection diagram from ELEGOO. The game play is only up to 5 minutes so I also removed the use of the most significant digit. But you an decide to keep it if you have the IO pin available. To update the display you have to cycle the LED very quickly because you can only have one digit active at a time. This is why they seem to flicker when watched through a camera. I used a 2ms refresh rate which is fast enough that you can not see the flicker. At 5ms I can start to see it flicker when looking at the display in your peripheral vision. In addition, you will need the shift register 74HC595.

Mounting the display what not fun. I decided it was best to integrate the display into her belt. The original doll in Squid Games does not have a belt of course, but sacrifices had to be made to get this display on her. If you choose this route too, mask off a square the same size of the display then cut out with a Dremel. I then used epoxy putty to add a gradual transition to the display. But this was not needed, I just thought it looked better this way.

I mounted the 74HC595 to the prototype shield, otherwise you will have wires going all over the place. An alternative solution is to use a different timer display that has a more convenient communication with less pins.

  1. I saw you move The motion detector is a weird little guy. This thing uses infrared to detect movement. One thing I learned is that this sensor needs time to warm up. On startup it needs 1 minute to warm up. That is why there is a 1 minute startup time for the doll. Another annoyance with this module is that the fastest it can update a movement detection is about 5 seconds. The last annoyance is how sensitive this sensor is. Even with the sensitivity turned all the way down, it still can see the smallest of movements and sometimes movement that I don't even know what it is talking about. To help prevent these "false positives" I mounted the sensor inside a horse blinder box. The box has a small hole (7mm) for the motion detector to look out. As a bonus, this prevents you from having to mount this giant sensor on the outside of the doll. The motion sensor only has one binary wire for feedback, motion or not.

To mount the sensor, I printed out the horse blinder and glued it to the inside of the doll. I then drilled a hole through the body. I used threaded insert on the blinder box to secure the motion sensor.

  1. Don't push my buttons Finally, we are at the buttons. If you have the

ข้อมูล Frontmatter ดั้งเดิม

apps:
  - "1x Arduino IDE"
author: "codemakesitgo"
category: "Gadgets, Games & Toys"
components:
  - "1x Arduino Uno (Central Logic Orchestrator)"
  - "1x SG90 Micro-Servo (Head Rotation End-Effector)"
  - "1x HC-SR04 Ultrasonic Sensor (Proximity Forensics)"
  - "1x PIR Motion Sensor (Infrared Displacement Node)"
  - "1x DFPlayer Mini (Acoustic Telemetry Engine)"
  - "1x 74HC595 Shift Register (I/O Pin-Expansion Bus)"
  - "1x 4-Digit 7-Segment Display (Temporal Countdown Hub)"
  - "1x 16x2 LCD with I2C Backpack (System Status HMI)"
  - "1x IR Receiver (Remote Logic Interface)"
description: "A professional-grade thematic robotic node featuring high-fidelity servo synchronization, PIR motion forensics, and HC-SR04 ultrasonic distance diagnostics."
difficulty: "Intermediate"
documentationLinks: []
downloadableFiles:
  - "https://github.com/CodeMakesItGo/SquidGamesDoll"
  - "https://github.com/CodeMakesItGo/SquidGamesDoll"
  - "https://projects.arduinocontent.cc/231310fb-7a96-4152-9cdb-b5a1096a966f.ino"
encryptedPayload: "U2FsdGVkX1+POhV2gxrVIJe8iVyU2GN055dl+YoK8WEIr+DtQ/si4ZImycFN3+03SenHFyTbm6TLfvA/MMeilBlKiPXgXAMpv+sXrG1bYxY="
heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/squid-games-doll-build-using-arduino-uno-a873b2_cover.jpg"
lang: "en"
likes: 13
passwordHash: "076081d072c1acde8e240bb09e581710cd628476381e6b28a27086e20fd7bd00"
price: 1499
seoDescription: "Build a functional Squid Games Doll using Arduino UNO. Create a red-light-green-light game with this step-by-step DIY guide."
tags:
  - "robotics-forensics"
  - "servo-kinematics"
  - "pir-motion-diagnostics"
  - "thematic-orchestration"
  - "squid-games-logic"
  - "arduino-uno"
title: "Squid-Bot: Servo-Kinematic Forensics & Multi-Sensor HMI"
tools:
  - "3D Printer (for structural hybrid fabrication)"
videoLinks:
  - "https://www.youtube.com/embed/jd_4a4x3uCw"
  - "https://www.youtube.com/embed/jd_4a4x3uCw"
views: 11052