GAMER GUARDIAN
Product Speedrun · Episode 002

Gamer Guardian

A design proposal for a monitor-top robot that keeps you in peak performance with helpful reminders.

It notices when you sit down, then nudges you to take a break, drink some water, grab a snack or sit up straight. It uses a puff of air and a friendly voice, so you never have to look away from the game.

ActFan / airflow UserGamer FormTiny robot TwistUsable without looking
Render of a matte charcoal robot with angular cat ears tipped in green, two cyan arc eyes on a black face panel around a white sensor dome, and a round side grille ringed in green, clipped onto the top of a monitor with a glowing keyboard behind it.
eyes stay dark until it needs you

An AI render of the CAD model. This is a concept, designed down to the circuit board but not yet built.

71 × 73 × 53 mm2.8 × 2.9 × 2.1 in, ears to feet
USB-C, 5 VNo battery to charge
No cameraPIR presence sensing only
On-device voiceESP32-S3 · nothing uploaded
Who it's for

Two people, one desk

Concept sketch: a teen in headphones plays a fantasy game while the robot on top of the monitor says 'Time for a break!'
The user · 12 to 15

The gamer

Headphones on and eyes locked on the screen. Three hours vanish, the water bottle is still full and their back is a question mark. A chibi robot that looks like it belongs next to their RGB keyboard is something they'll actually leave on the monitor.

The buyer

The parent

They've asked nicely through the door four times. Gamer Guardian repeats those reminders from inside the kid's own setup, in a voice that isn't Mum's or Dad's, and it doesn't need a camera in the bedroom to do it.

The moment: 90 minutes into a ranked match, a cool breeze hits your face and a small voice says "Grab some water. You've got this."

Try it

A nudge you feel, not one you watch

Pick a reminder. The robot's eyes light up in that reminder's colour, it speaks one short line and then the breeze kicks in. Turn voice on to hear it in your browser's own speech voice. The real robot plays recorded phrases.

PIR · you're here Eyes · off Fan · off

Trigger a reminder

Each reminder has its own eye colour, so a glance from the corner of your eye is enough.

On the real robot, saying "done", "snooze" or "I drank water" is heard by a wake word and fixed-command model that runs on the chip. No audio leaves the device.

A sample evening

0:00Sits down
0:45Hydrate
1:00Break
1:30Sit up
2:00Break
2:15Snack
3:00Leaves

This is an example schedule, not a tested one. The timers pause whenever the PIR sees no one at the desk, and the robot goes back to sleep.

Usable without looking at it

Three cues, ranked by how rude they are

01 · AIR

A breeze on your face

A 30 mm blower behind the mouth grille puffs a cool breeze at you for a few seconds. You feel it through a headset, mid-fight, without it covering any game audio. It runs at a low PWM duty so it whispers rather than whines.

02 · VOICE

One short line

A 28 mm speaker on the side plays one stored phrase: "Time for a break! Stretch your body." It's loud enough to get past headphones at speech level, and short enough not to break your concentration.

03 · LIGHT

Eyes, only when needed

Two RGB LEDs behind the smoked visor stay dark the rest of the time. When a reminder fires they glow in its colour, so peripheral vision tells you which one it was. They never blink on just to look pretty.

Privacy is part of the design. Presence comes from a passive infrared sensor, the same kind used in a hallway light, so it knows someone is there but not who. The microphone listens for a wake word and a short list of commands, all on the ESP32-S3 itself. There's no camera, no cloud account and no recordings.

Stage 4 · SolidCraft

The real enclosure

This is the first-pass CAD model, with every dimension taken from real, cheap parts. Drag to spin it. It has a face cap and a rear shell, a smoked PMMA visor, neon side rings, TPU feet and a hinged clip that hooks down the back of the monitor.

71 × 73 × 53 MM16 PARTS

What you're looking at

  1. Face capIt holds the board, the visor window, the PIR hole, the mic port and three breeze slots (the "mouth").
  2. Rear shell with earsIt carries the blower intake underneath, the speaker grille on the right, vents on the left and USB-C at the back.
  3. Smoked visorA 44 × 24 mm PMMA lens with cyan eye inlays. It has a hole for the PIR dome, because acrylic blocks infrared.
  4. Neon side ringsGreen PC rings pressed into grooves. The right-hand ring frames the speaker.
  5. Feet and rear clipThe front feet have a lip over the bezel, and a friction-hinged arm grips the back of the monitor. The feet leave an 8 mm gap underneath for the fan's air intake.
Stage 5 · KiCad

What's inside

One 54 × 31 mm two-layer board stands upright behind the face. The front of the board is what sees out through the visor: the PIR and the two eye LEDs. The back carries the ESP32-S3, the audio and the power parts. The blower, the speaker and the USB-C socket connect with short JST-SH leads.

The board in 3D

routed · ERC + DRC clean

Side section, roughly to scale

MONITOR TOP EAR VISOR PIR BOARD ESP32-S3 BLOWER BREEZE AIR IN USB-C

The speaker sits on the right wall, out of this plane. Every gap is a first-pass guess that needs checking on a print.

U2 · ESP32-S3-WROOM-1-N16R8

The brain: ESP32-S3, 16 MB flash + 8 MB PSRAM

We picked the S3 because it's the ESP32 that can run Espressif's ESP-SR speech stack (a wake word plus about 200 fixed commands) on the chip itself. It also has two I²S ports, one for the mic and one for the amp, and native USB, so it flashes over the same cable that powers it.

U5 · AM312

Presence

A tiny 3 V PIR draws about 15 µA. Its dome pokes through the visor, and it gets its own RC-filtered supply so fan and Wi-Fi noise don't cause false triggers.

U4 · ICS-43434

Ears

A digital I²S MEMS mic, ported through a 1 mm hole in the board to a pinhole in the face.

U3 · MAX98357A + LS1

Voice

A class-D I²S amp on 5 V drives a 28 mm, 8 Ω, 1 W speaker. It needs no codec and no filter.

Q1 · AO3400A + 3010 blower

Breeze

A low-side MOSFET switches the blower at 25 kHz PWM, which is too high to hear. A flyback diode protects it, and a pull-down keeps the fan off at boot.

LED1–2 · WS2812B-2020

Eyes

Two 2 mm RGB LEDs on one data line. One diode drops their supply to about 4.3 V, so the 3.3 V data signal reads reliably and no level shifter is needed.

U1 · AP2112K-3.3

Power

USB-C 5 V in, with a 600 mA LDO for the 3.3 V rail. There's no battery, so nothing ever needs charging.

Power budget on 5 V

The green bar is typical draw and the pale bar is peak. The orange line marks the 500 mA a USB 2.0 port promises.

If everything peaked at once it would draw about 870 mA, so the firmware takes turns: speech first, then the breeze, with Wi-Fi off. On a USB-C charger, the 5.1 kΩ CC resistors unlock 1.5 A anyway.

Full bill of materials · 22 lines
RefQtyPartWhat it doesMPN
How we got here

One episode, four stages

What's next

What we still don't know

This is a speedrun first pass. Here's what we'd want to answer before anyone orders a board or cuts a mould.

Board

Routed and clean, but never built

The two-layer board passes ERC and DRC with nothing left unconnected, after we widened it to 54 mm to give the autorouter room. Nobody has ordered or soldered one yet. The first prototype has to confirm the AM312's pin order, the mic hole lining up with the face port, and the fit on the enclosure's posts.

Voice

Free-form speech needs a bigger chip

Whisper-style speech-to-text is out of reach on this board, because even Whisper-tiny needs more RAM than the S3 has. A wake word plus fixed commands covers "snooze", "done" and "I drank water". One of our hosts reports running Whisper on an ESP32-P4 dev board, which we haven't reproduced yet. That's the upgrade path, but the P4 has no Wi-Fi, so it needs an ESP32-C6 alongside it. That means a bigger board, a slightly bigger head and more power.

Feel

Can you feel the breeze at arm's length?

3010 blowers move very little air. We need to test whether it's noticeable at 50–70 cm on a low, quiet duty cycle. If it isn't, the fix is a 40 mm axial fan and a bigger head.

Sensing

Does the PIR see a still, seated gamer?

PIRs detect movement, and a focused player barely moves. The field of view also needs testing from 50–80 cm, with the user sitting below the sensor's axis.

Power

Staying under 500 mA

Peak draw can pass what a PC's USB 2.0 port allows. The firmware has to take turns between loads, and we haven't measured real currents yet.

Product

How do parents set it up?

The schedule, the phrases and the volume all need a setup flow. That could be a phone page over Wi-Fi or USB. None of it is designed yet, and it has to work without cloud accounts.

Product

Will a 14-year-old keep it plugged in?

It has to be annoying enough to work and charming enough not to end up in a drawer. Snooze limits, a "streak" reward and the tone of the voice lines are all untested.

Mechanical

Fastening, ears and the mic seal

The face cap and rear shell need screw bosses or snaps. The solid ears need coring out for moulding, and the rubber boot between the mic and the face port is a guess.

Electrical

No ESD or fuse on USB yet

A kid's desk is a hostile place. Add a USBLC6 and a PTC fuse, re-terminate the blower's lead to JST-SH, and confirm the AM312's pin order and the mic's stock.

Drawing

The GA drawing lags the model

Rev A shows a 25 mm blower, a 23 mm speaker and an INMP441 mic. The model and board moved to a 3010 blower, a 28 mm speaker and the ICS-43434. The drawing needs a rev B.

Build on it

Everything behind Gamer Guardian is open: the 3D design, the KiCad boards and the notes. Download it, change it, make it, even sell it. All we ask is a credit and a link back.

Open the project on GitHubThe build tools

Continue it with an AI agent

Paste this into Claude Code, Codex, Cursor or any agent that can run commands. It fetches just this project and the tools, reads the notes in the right order, and asks you before it changes anything.

Hardware under CERN-OHL-P v2, words and images under CC BY 4.0, code under MIT.

Get each run by email

A short diary of every episode: the roll, the turns the idea took, and the board at the end. One email per episode.