Desktop Game Robot

Recreated and validated the

3D Model (OpenSCAD)


and documented it in Enclosure Build. It includes a 220 × 180 × 78 mm PETG base, removable lid, display/camera head, 260 × 200 mm play zone, and swept clearances for four MG90S servos.
Remaining
  • The validated master asset defaults to the body; separate direct-download assets for the lid, head, and preview still need to be persisted.
  • Purchased display, servo, camera, and module dimensions require physical verification.
  • Further execution is blocked because no ACUs are currently available.
Received notification from "Robot Enclosure Build" that it finished — picking the work back up.
The executor reports the parameterized PETG enclosure complete, with a 220 × 180 × 78 mm base, removable lid, camera/display head, 260 × 200 mm play zone, and four MG90S swept-clearance volumes. The master OpenSCAD source and Enclosure Build document were previously linked.
Still remaining:
  • Persist separate lid, head, and assembly-preview exports.
  • Inspect/compile those exports and verify printability.
  • Confirm final purchased-module dimensions before printing.
I cannot perform those reconciliation steps now because the account has no available ACUs.
List dimensions to confirm
Create measurement checklist
Document validation steps
No schematic yet

Talk to Flux to get started.

Refine this doc
Ask about this doc
Project Specification
Project Overview
  • Product: First prototype of a stationary desktop game-playing robot with an animated face, camera, voice, buttons, moving head, and two expressive arms.
  • Status: Draft for architecture review and staged prototype build.
  • Implementation intent: Off-the-shelf Raspberry Pi and maker modules; jumper-wire/prototyping construction; no custom PCB in V1.
  • Design priorities: Beginner-friendly assembly, robust power distribution, low integration risk, and local operation for games/basic reactions.
Intended Use
  • Indoor, supervised desktop use in a home, studio, classroom, or demo environment.
  • A person interacts using physical buttons, speech, and cards/dice/objects placed in a marked camera area in front of the robot.
  • Local software runs simple games and basic expressive reactions without internet access.
  • Wi-Fi is used for natural cloud-based conversation and optional software/content updates.
  • V1 is a validation prototype, not a child-safe toy, unattended appliance, or production-ready product.
What the Device Should Do
  1. Boot into a friendly animated face and simple menu.
  2. Run tic-tac-toe, quizzes, memory games, and reaction games locally.
  3. Capture the tabletop area and recognize supported cards, dice faces, and trained objects.
  4. Accept four primary physical inputs: select/confirm, back, left, and right.
  5. Capture speech and play synthesized speech, effects, and prompts.
  6. Use Wi-Fi for cloud conversation while degrading gracefully when offline.
  7. Move a pan/tilt head and two small arms for gestures without moving the base.
  8. Enter a safe neutral pose on startup, shutdown, software fault, or undervoltage detection.
Main Features
  • Raspberry Pi-class Linux compute with Wi-Fi and sufficient vision/UI performance.
  • 4-inch touch display used as the animated face.
  • Autofocus camera aimed at a defined play surface.
  • Far-field USB microphone array with echo/noise processing and speaker output.
  • Four independently controlled micro servos through an I2C PWM controller.
  • Four panel buttons, optional illuminated rings, and an accessible power switch.
  • Single external wall adapter feeding fused, separately regulated compute, auxiliary, and servo rails.
  • Removable microSD storage and accessible USB/Ethernet for development.
System Architecture

Diagram


AC wall outlet 12 V desktop adapter Fused 12 V distribution 5 V 5 A Pi USB-C power module 5 V auxiliary regulator 5 V servo regulator Raspberry Pi 5 4 inch DSI face display Camera Module 3 USB microphone array 4 ohm speaker GPIO buttons I2C servo controller Head and arm servos Wi-Fi cloud conversation Local games vision and reactions
Power-note interpretation: The display may receive data through DSI while its 5 V supply is taken from the auxiliary distribution if the selected display revision supports the alternate power header. The USB microphone array normally receives 5 V through USB; use a powered USB path or injected auxiliary supply only with a documented, non-backfeeding method.
This table defines a prototype architecture, not a purchase-locked BOM. Confirm exact regional stock and connector/cable revisions before ordering.

Table


FunctionPrimary recommendationRationaleSensible alternative
ComputeRaspberry Pi 5, 4 GB + official Active CoolerCurrent platform; quad-core Cortex-A76; dual-band 802.11ac Wi-Fi; enough margin for UI, OpenCV, audio, and local game logic. 4 GB is adequate for V1.Raspberry Pi 5, 8 GB for heavier local models; Raspberry Pi 4 Model B, 4 GB for lower cost/power with slower vision.
Storage64 GB high-endurance A2 microSD from SanDisk or SamsungFast enough for Raspberry Pi OS and logs; endurance grade reduces corruption risk.USB 3 SSD after the basic prototype is stable.
Face displayWaveshare 4inch DSI LCD, 480 x 800 capacitive touchCompact 4-inch IPS face; DSI avoids HDMI/USB cable clutter; Pi 5 compatible.Waveshare 4.3inch DSI LCD; official Raspberry Pi Touch Display 2 if a larger face is acceptable.
CameraRaspberry Pi Camera Module 3, StandardOfficial 12 MP IMX708 module with autofocus; standard field of view is easier to frame and calibrate for tabletop objects.Camera Module 3 Wide for a very shallow enclosure or larger play area; USB UVC camera for easier long cable routing.
Voice input/outputSeeed Studio ReSpeaker XVF3800 USB 4-Mic Array plus compatible 4 ohm, up-to-5 W speakerUSB Audio Class device; AEC, beamforming, VAD, AGC, noise suppression, and documented speaker interface reduce audio integration work.A conventional USB conference speakerphone; or USB microphone plus Adafruit MAX98357A I2S 3 W amplifier and 4 ohm speaker.
Servo controllerAdafruit 16-Channel 12-bit PWM/Servo Driver, PCA9685, Product 815Stable I2C timing, mature Python support, separate logic and servo-power inputs, large channel margin.Waveshare PCA9685 Servo Driver HAT; Pololu Maestro 6-channel USB servo controller for USB-based control and stronger motion tooling.
Motion actuators4 x genuine TowerPro MG90S metal-gear micro servo: two for pan/tilt head, one per armWidely available, compact, inexpensive, and mechanically adequate for lightweight printed parts.Hitec HS-65HB/HS-65MG for better consistency; SG90 for cheapest low-load mock-up only.
Buttons4 x Adafruit 16 mm panel-mount momentary pushbuttons wired active-low to GPIOLarge, understandable user controls with simple wiring and easy replacement.Pimoroni Button SHIM for rapid bench testing; arcade buttons for a larger base.
Pi power conversionGeekworm Pi5-5V5APD 5 V/5 A PD power module, 9-24 V input versionConverts the shared 12 V bus to the Pi 5's 5 V/5 A USB-C power profile without powering the Pi through the GPIO header.Official Raspberry Pi 27 W USB-C supply as a separate compute supply during early bring-up; Electrokit EKM002 Power Supply HAT if USB-C is not required.
Servo regulatorPololu D42V55F5, 5 V/6 A step-down regulatorDedicated high-current rail with adequate current for four micro servos and isolation from compute transients.Pololu D24V90F5, 5 V/9 A for larger servos/future expansion; quality 5 V/6 A UBEC with verified ripple.
Auxiliary regulatorPololu D24V50F5, 5 V/5 A step-down regulatorPowers display/audio/accessories without consuming the Pi USB-C budget; oversized for cool operation and expansion.Pololu 5 V/3 A regulator or a documented powered USB hub when measured auxiliary peaks are below 2 A.
Wall adapterMean Well GST90A12-P1M, 12 V, 6.67 A, 80 W desktop adapterCertified desktop supply with substantial transient and future-expansion margin; standard IEC mains lead and low-voltage barrel output.Reputable 12 V/6 A to 12 V/8 A desktop adapter with safety approvals and matching connector polarity.
Distribution/protectionInline blade-fuse block, locking DC jack/pigtail, lever terminals, master DC switchStar distribution is easy to inspect and keeps motor current out of Pi wiring.DIN-style miniature distribution block inside a larger base.
Mechanical/prototypingPi 5 standoffs, camera mount, pan/tilt micro-servo bracket, M2/M2.5/M3 screw kit, heat-set inserts, servo extensions, JST-XH/locking connectors, ferrules, braided sleeving, rubber feetReduces strain and accidental disconnection; supports iterative 3D-printed or laser-cut body construction.Aluminum hobby-servo brackets and foam-board/acrylic enclosure for the first bench prototype.
Confirmed Versus Estimated Data
  • Datasheet/product-confirmed: Raspberry Pi 5 accepts 5 V/5 A over USB-C; it has two MIPI camera/display transceivers. Camera Module 3 uses a 12 MP IMX708 sensor with autofocus. Waveshare's 4-inch DSI display is 480 x 800, capacitive-touch, and Pi 5 compatible. The Geekworm module is specified for 5 V/5 A output from a 9-24 V version. The Mean Well adapter is rated 12 V, 6.67 A, 80 W. The Pololu regulators are rated 5 V/6 A and 5 V/5 A respectively. Adafruit requires servo power to be separate from controller logic power.
  • Engineering estimates pending measurement: Raspberry Pi workload current, display current, XVF3800 current/audio peaks, Camera Module 3 current, and MG90S moving/stall current. The power design intentionally uses conservative rounded estimates because module revisions, servo clones, mechanical load, volume, and software workload materially change consumption.
Hardware Subsystems
Compute and Storage
  • Raspberry Pi 5, 4 GB, Raspberry Pi OS 64-bit, official Active Cooler, and 64 GB A2 microSD.
  • Reserve one MIPI connector for DSI and one for CSI camera. Confirm the correct Pi 5 22-pin cables are included.
  • Keep USB 3 and Ethernet physically accessible for setup and recovery.
Display and User Interface
  • Display a full-screen animated face in portrait orientation at 480 x 800.
  • Touch is optional for V1 game control; physical buttons remain the required accessible controls.
  • Use four active-low GPIO buttons with internal pull-ups and software debounce. Add external 100 nF debounce capacitors only if testing shows cable-noise problems.
Vision
  • Camera Module 3 Standard mounted above or within the head, looking downward toward a marked play zone.
  • Provide adjustable tilt and rigid mounting; camera movement during recognition should be disabled or compensated.
  • Start with controlled lighting, fixed background, fiducial markers, and known card/dice sets before attempting general object recognition.
Audio and Voice
  • Mount the microphone array away from the speaker, servo gearboxes, fan exhaust, and loose panels.
  • Use the XVF3800 processing features and keep speaker volume below acoustic-feedback onset.
  • Cloud speech/conversation must have timeout, retry, mute, and offline fallback behavior.
Motion
  • Four servos: head pan, head tilt, left arm, right arm.
  • PCA9685 logic connects to the Pi I2C bus; servo V+ connects only to the dedicated 5 V servo rail.
  • Software limits must be established before attaching limbs. Start near 90 degrees and expand travel slowly.
  • Lightweight arms/head are required; do not design joints so a servo carries enclosure weight continuously.
Power and Protection
  • One 12 V desktop adapter enters the base through a locking or strain-relieved connector and master DC switch.
  • Use star distribution and separate regulators for compute, auxiliary/audio/display, and servos.
  • Do not power servos from the Raspberry Pi 5 V header, USB ports, or Pi power module output.
  • All low-voltage grounds must join at the power-distribution star point so I2C/PWM signals have a common reference.
Interfaces and Connections

Table


InterfaceConnectionNotes
AC inputIEC mains lead to external Mean Well adapterKeep mains outside the robot enclosure.
Main DC12 V barrel/pigtail to switch and main fuseConfirm center-positive polarity before connection.
Pi powerGeekworm module USB-C output to Pi 5 USB-C inputUse the supplied/verified 5 A-capable cable.
DisplayPi 5 MIPI/DSI connectorConfirm 22-pin Pi 5 cable and display power mode.
CameraSecond Pi 5 MIPI/CSI connectorConfirm cable orientation before power-on.
Microphone/audioUSB 2.0 plus speaker cablePrefer a short shielded USB cable; keep speaker leads twisted.
Servo controlI2C SDA/SCL and logic supply to PCA9685Default address normally 0x40; verify board jumpers.
Servo powerDedicated 5 V/6 A rail to PCA9685 V+ terminalUse short 18-20 AWG feed wires.
ButtonsFour GPIO inputs and groundActive-low; no 5 V on GPIO.
DevelopmentWi-Fi, Ethernet, USB keyboard/mouse as neededKeep ports accessible in prototype enclosure.
Power and Runtime Expectations
  • Power source: Wall power only; no battery, charging, or runtime target in V1.
  • Input: 12 V nominal from an 80 W desktop adapter.
  • Expected typical input: approximately 1.5-2.0 A at 12 V during active games and ordinary motion, or roughly 18-24 W from the adapter before small conversion losses/variation.
  • Calculated simultaneous peak estimate: approximately 4.2 A at 12 V before design margin, based on about 45 W of 5 V-rail load and 90% conversion efficiency.
  • Sizing target with 25% transient margin: approximately 5.2 A at 12 V. The recommended 12 V/6.67 A adapter exceeds this target.
  • Servo hard-stall must be treated as a brief fault/transient, not a continuous operating state. Motion software should detect repeated position commands/current symptoms and relax or disable affected servos.
Power Tree and Power Budget

Diagram


12 V 6.67 A adapter Main 7.5 A fuse and switch 3 A branch fuse 3 A branch fuse 1.5 A branch fuse 5 V 5 A Pi USB-C module 5 V 6 A servo regulator 5 V 5 A auxiliary regulator Pi 5 camera and USB mic Four micro servos Display audio and controller
Estimated Load by Operating State
All currents below are engineering estimates at the named output rail, not guaranteed module specifications. Measure the assembled prototype with a USB-C power meter and DC clamp/multimeter before enclosure finalization.

Table


Rail/load groupIdle/listeningActive game, no motionTypical motionShort peak/design case
5.1 V compute: Pi 5 + cooler + camera + USB mic1.2 A2.3 A2.6 A3.95 A
5.0 V auxiliary: display + audio + controller/buttons0.40 A0.59 A0.69 A1.76 A
5.0 V servo: 4 x MG90S0.25 A0.25 A1.0 A3.2 A estimated simultaneous stall
Approximate downstream power9.4 W15.9 W21.7 W45.0 W
12 V input at 90% conversion efficiency0.9 A1.5 A2.0 A4.2 A
12 V sizing current with 25% peak margin---5.2 A
Protection, Wiring, and Decoupling
  • Main input fuse: 7.5 A automotive blade fuse after the DC inlet and before the distribution split. This protects wiring; the certified adapter retains its own internal protection.
  • Suggested 12 V branch fuses: 3 A compute, 3 A servo, and 1.5 A auxiliary. Validate against regulator inrush and revise only after measurement.
  • Servo output fuse: approximately 5 A; use a holder and wiring rated above the fuse current.
  • Servo bulk capacitance: begin with 2200-4700 uF, 10 V or higher, low-ESR electrolytic at the PCA9685 V+ terminal, plus the board's local ceramics. Adafruit's minimum rule of thumb is about 100 uF per servo; the larger value addresses four-servo transients and wiring inductance.
  • Auxiliary rail: add 470-1000 uF near the audio/display split if measured dips or audio artifacts occur.
  • Use 18 AWG for the main 12 V and servo-power trunk, 20-22 AWG for regulated power branches, and 24-26 AWG for short signals/buttons.
  • Route servo power/ground as a pair and keep it separate from camera, MIPI, microphone, and speaker wiring. Join grounds at the distribution star, not through the Pi header.
  • Check voltage at the load under motion. Target no lower than the connected module's documented minimum; investigate any Pi undervoltage warning immediately.
Assembly Expectations
  1. Build on an open baseplate before making the final enclosure.
  2. Use crimped or screw-clamped power wiring; do not use solderless breadboard contacts for servo or main power.
  3. Add strain relief to the DC input, USB-C lead, MIPI cables, and moving-head wiring.
  4. Label both ends of every cable and use keyed connectors where possible.
  5. Cover exposed distribution terminals and regulator undersides with insulating mounts/covers.
  6. Keep the certified AC/DC adapter external; only SELV 12 V and lower enter the robot.
  7. Use an accessible master power switch and retain access to the Pi power button, microSD, and recovery ports.
Firmware-Relevant Hardware Requirements
  • Raspberry Pi OS 64-bit with Python 3.
  • UI/animation: Pygame, Qt, Kivy, or browser kiosk; target stable 30 fps at 480 x 800.
  • Vision: libcamera/Picamera2 and OpenCV; begin with fiducial/card templates and controlled dice recognition.
  • GPIO: gpiozero or libgpiod for active-low buttons; software debounce of approximately 30-80 ms.
  • Servo control: Adafruit CircuitPython PCA9685/ServoKit or equivalent; configurable center, direction, minimum, maximum, speed, and acceleration per joint.
  • Audio: ALSA/PipeWire-compatible USB Audio Class device; echo-cancellation settings validated with the final speaker position.
  • Networking: stored Wi-Fi credentials, NTP, TLS certificate validation, cloud API timeout, retry/backoff, and explicit offline state.
  • Safety behavior: neutral pose at service start, motion inhibit during camera calibration, per-joint travel limits, rate limiting, watchdog, and clean shutdown.
  • Data: local game assets and state must not require cloud access; cloud credentials stored outside source control.
  • Diagnostics: log CPU temperature, undervoltage/throttling flags, camera/audio availability, servo-command faults, and cloud latency.
Staged Implementation and Acceptance Criteria
Stage 1 - Compute and Face UI
Build: Pi 5, Active Cooler, microSD, display, keyboard/network setup, and four buttons. Use the official Pi USB-C supply initially if desired.
Acceptance criteria:
  • Boots reliably 10 consecutive times without undervoltage or filesystem errors.
  • Animated face runs at at least 30 fps for 30 minutes without thermal throttling.
  • All four buttons register one event per press with no false events during idle.
  • Tic-tac-toe and one quiz/memory game run fully offline.
Stage 2 - Vision and Audio
Build: Add Camera Module 3, XVF3800, and speaker; keep servos disconnected.
Acceptance criteria:
  • Camera recognizes the selected card set and all six dice faces in controlled lighting with at least 90% accuracy over a documented 50-sample test per class/set condition.
  • Voice capture works from approximately 1 m in a quiet room.
  • Robot plays prompts and speech without clipping at the intended volume.
  • Cloud conversation completes a 10-turn test with graceful timeout/error feedback; games continue when Wi-Fi is disabled.
Stage 3 - Power Distribution and Motion
Build: Add the 12 V adapter, fuse block, three regulated branches, PCA9685, one servo, then the remaining servos and mechanics.
Acceptance criteria:
  • Each rail is within its module's allowed voltage before loads are connected.
  • No Pi undervoltage/throttling event occurs during 100 repeated gesture cycles with display, camera, microphone, and audio active.
  • Head and arms remain inside calibrated software/mechanical limits and return to neutral after restart or controlled fault.
  • A deliberately obstructed joint does not reset the Pi; firmware stops or relaxes motion promptly.
  • Main and branch wiring, connectors, regulators, and fuses remain below an agreed touch-safe temperature after 30 minutes of worst normal use.
Stage 4 - Integrated Enclosure Trial
Acceptance criteria:
  • Camera play zone, face visibility, button access, speaker clarity, microphone pickup, and full servo travel are unobstructed.
  • Cables do not rub, pinch, or enter servo linkages through the complete motion range.
  • The robot completes a 2-hour mixed game/voice/motion soak test without crash, reset, thermal throttling, or loose connections.
Physical Design Expectations
  • Stationary weighted base with rubber feet; no drive motors in V1.
  • Approximate target envelope: 180-250 mm wide, 150-220 mm deep, and 250-400 mm tall, to be refined after module mock-up.
  • Face display: 3-4 inch visible area, near vertical, readable from seated desktop distance.
  • Camera: centered above/below the face or in the forehead, with an unobstructed view of a marked play zone roughly 200-400 mm in front of the base.
  • Arms and head must be lightweight, rounded, and mechanically limited so linkages cannot over-rotate.
  • Provide ventilation around the Pi cooler, regulators, and audio amplifier; do not vent directly into the microphone.
  • Keep the adapter external and prevent user access to live electrical terminals.
Important Design Decisions
  • Use Raspberry Pi 5, 4 GB as the primary compute platform; performance margin is favored over the lower power of Pi 4.
  • Use one MIPI port for DSI display and the second for Camera Module 3, avoiding HDMI/USB video clutter.
  • Use a processed USB microphone array with speaker support to minimize acoustic/driver integration risk.
  • Use PCA9685 rather than software-generated servo PWM.
  • Use a 12 V external adapter and three separately fused 5 V branches; the Pi remains powered through USB-C and the servos never use Pi 5 V.
  • Keep local games, core UI, and basic reactions independent of cloud availability.
  • Defer custom PCB, battery, locomotion, large local language models, and production enclosure engineering.
Assumptions and Unresolved Risks
  • Four MG90S-class servos are sufficient if the head and arms are lightweight. Actual stall current and torque vary significantly among genuine units and clones; buy from a reputable source and measure one sample before finalizing fuses/mechanics.
  • Display and XVF3800 peak currents are not stated in the reviewed public product pages; estimates must be replaced by bench measurements.
  • The XVF3800 speaker interface and exact speaker impedance/power wiring must be confirmed against the purchased board revision before connection.
  • The auxiliary-power method must not backfeed the Pi through DSI or USB. Use only documented power paths; otherwise keep the display/microphone on the Pi rail and remeasure compute-rail margin.
  • Servo noise may reduce microphone and vision performance. Mechanical isolation, motion scheduling, and acoustic tuning may be required.
  • Cloud provider, speech/LLM API, privacy policy, ongoing cost, and latency targets remain undecided.
  • Vision acceptance depends on defined cards, dice style, object classes, play-zone geometry, and lighting; unconstrained general recognition is outside V1.
  • The final enclosure must be checked for tip stability and pinch points before use around children or the public.
Reference Sources
Change Notes
  • 2026-08-15 - Initial draft: Captured confirmed product behavior, selected a current Raspberry Pi 5 module architecture, added alternatives, defined a separately fused three-rail power system, calculated typical/peak input needs, documented staged implementation, and added measurable acceptance criteria.
  • Project Overview

  • Intended Use

  • What the Device Should Do

  • Main Features

  • System Architecture

  • Recommended Module and Parts Architecture

  • Confirmed Versus Estimated Data

  • Hardware Subsystems

  • Compute and Storage

  • Display and User Interface

  • Vision

  • Audio and Voice

  • Motion

  • Power and Protection

  • Interfaces and Connections

  • Power and Runtime Expectations

  • Power Tree and Power Budget

  • Estimated Load by Operating State

  • Protection, Wiring, and Decoupling

  • Assembly Expectations

  • Firmware-Relevant Hardware Requirements

  • Staged Implementation and Acceptance Criteria

  • Stage 1 - Compute and Face UI

  • Stage 2 - Vision and Audio

  • Stage 3 - Power Distribution and Motion

  • Stage 4 - Integrated Enclosure Trial

  • Physical Design Expectations

  • Important Design Decisions

  • Assumptions and Unresolved Risks

  • Reference Sources

  • Change Notes

Assets

Desktop Game Robot parametric enclosure: body, lid, head, and preview

Desktop Game Robot parametric enclosure: body, lid, head, and preview

desktop-game-robot-enclosure.scad3D Model

Desktop Game Robot

Desktop Game Robot thumbnail
Beginner-friendly Raspberry Pi desktop robot prototype with local games and vision, cloud conversation, animated face display, buttons, audio, and expressive servo motion. V1 is wall-powered and uses off-the-shelf modules with no custom PCB.

Properties

Properties describe core aspects of the project.

Pricing & Availability

See prices from popular manufacturers for your project.

Controls