• ActHaptic motor
  • UserNew parent
  • Form factorWearable
  • VibeY2K

Baby Monitor Monitor

A design proposal for a baby monitor accessory. You feel the crying instead of hearing it, so you can sleep with earplugs in.

The idea: a pearl-white sensor sits next to your monitor and listens to its speaker. When the baby whimpers, the watch on your wrist glows. When the baby cries, it buzzes, and buzzes harder the longer nobody gets up. To tell it you're on your way, tap the glowing bar on top of the sensor, like the snooze bar on an alarm clock.

Any monitor
Designed to listen to the speaker, so there's nothing to connect
No app
Sensor and watch talk straight to each other: no Wi-Fi, no account
Glow, pulse, buzz
Stronger the more upset the baby is
One big bar
Glows in the dark, so you can find it half-asleep
Render: on a bedside table, a pearl-white teardrop sensor with a dark round grille in a chrome ring, a green bean-shaped light, a lavender lower half and a clear bar on top, next to a square white watch on a lavender woven band with a glowing magenta face
An AI render of the CAD model. This is a concept, designed down to circuit boards and firmware but not yet built. The real watch is sealed, so the side buttons in this render aren't on it.

Two parents, one bed, one on duty

The one on duty wears it. The one off duty gets to sleep.

The parent on night duty

Earplugs in, and still listening

The monitor's hiss, a snoring partner or the street outside keeps them awake, but earplugs feel like neglect. With the watch on, they could block out the room and still be the first to know when the baby actually needs them. A whimper would only make the watch glow. Crying would buzz it, harder the longer nobody gets up.

The same parent, at 3 am

Can't find a tiny button in the dark

A small button is hard to find at 3 am. So the design gives the sensor a snooze bar, the one thing on an alarm clock you can hit without opening your eyes. It's 30 mm long, works wherever you press it, and always glows faintly so you can see where it is. Tap it and the watch goes quiet.

Concept art: the pearl-white mic sensor on a bedside table, its green light on, while the purple watch buzzes on a raised wrist
"Bzz-bzz-bzz. … BZZZ."3:12 am. Three firm pulses, then a full buzz. A hand finds the amber glow on the nightstand, taps the bar, and the watch flashes green and goes quiet.

Tap the bar, stop the buzz

Try it here. This runs the devices' real firmware rules, ported line for line to your browser. Pick what the monitor is playing and watch the sensor sort it into quiet, fussing, crying or screaming. Then tap the snooze bar on the sensor to stop the watch, or hold it for 3 seconds to send a test buzz.

Sensor · press the bar on top
The watch, from above: a pearl pillow case with a recessed lens that glows in the alert's colour, and a green link dot at 6 o'clock
Watch · on the wrist

The monitor is playing

White-noise machine

Clock

Last 20 s on screen. Line: what the sensor hears (dB SPL). Dashed: its noise floor. Faint lines: the fussing, crying and screaming thresholds. Bottom strip: the watch motor.

All quiet

This is a simulation in your browser, not the device, and the sounds are made up. The thresholds, attack and release, 45 s escalation, 3 min snooze and the buzz patterns are the firmware's real numbers, all still waiting for bench tuning. The light colours are brightened for the screen; the real bar's "armed" glow is a dim night-light. The phone in your hand doesn't buzz: there's no ERM in it. The white-noise machine shows a bug we found while building this page, now fixed in the firmware: switch it on, then let 20 s pass (see what we still don't know).

43D model in Solidcraft

A teardrop that listens, a pillow that buzzes

Both devices, modelled from the concept art and built around the real circuit boards inside. Drag to spin it.

  1. A teardrop, not a boxThe sensor is lofted through 14 spline cross-sections: a round nose, the crown just behind it, then one long fall to the back. Its −y side is fuller, with a rounder shoulder, so it isn't symmetric. 64 × 44.3 × 29.8 mm, sized by the 2000 mAh cell inside.
  2. Grille nose and green beanA 24 mm chrome bezel ring fills the nose, holding a shallow honeycomb dome over the mic. The status light is a kidney-bean window on the cheek, lit through a light pipe from an LED on the board.
  3. S-curve swooshThe lavender side panels sit below an S-curve that starts under the bezel and rises toward the back, a different curve on each side, with a bright trim band along the top.
  4. The snooze barA 30 × 12 mm clear acrylic bar along the crown, 1 mm proud. A flange keeps it in, two plunger legs sit on two switches, and a light leg carries an RGB LED's glow up into it.
  5. A pillow watchThe watch case is lofted too: its sides bulge to 38.6 mm a third of the way up and roll into a flat bezel. The lens sits in a stepped recess, with a magenta ring round a paler centre. The lugs are smaller, so the band tucks under. It's still sealed, with no buttons and no port.
5Electronics in KiCad

Two boards, one link, one big button

Each device has its own routed two-layer board with an ESP32-C6 module, and the two talk directly over ESP-NOW, with no Wi-Fi network in between.

0 / 0DRC violations and unrouted connections, on both boards
PASSFit check of each real routed board in its case, 0 overlaps
63Components across the two boards
~13 hThe watch on 150 mAh: an estimate, the tightest number in the project

Sensor board52 × 24 mm

Routed in KiCad with Freerouting

Watch board30 × 30 mm

Routed in KiCad with Freerouting
SW1 + SW3 · 6 × 6 tacts

Press it anywhere

A long bar would rock on one switch, so two switches 12 mm apart sit in parallel on the same pin. A press at either end registers, and either one wakes the chip.

LED2 · WS2812B-2020 + D2

The bar's glow

A 2 mm RGB LED between the switches, under the bar's light leg. It runs from the power switch's output through a Schottky diode, so 3.3 V data still reads high, and it draws nothing when the sensor is off.

U3 × 2 · ESP32-C6-MINI-1-N4

Two brains, no router

ESP-NOW links the two ESP32s directly, with no Wi-Fi network, no app and no account. The sensor decides everything and the watch just follows, so the two can never disagree about whether to buzz.

U4 · ICS-43434

Ears

A digital I2S MEMS mic behind the grille. The firmware filters it to roughly the band a cry occupies through a small speaker (~330 Hz to 3.7 kHz) and measures the level every 250 ms.

M1 + Q1 · coin ERM + AO3400A

The buzz

A Ø10 mm coin motor on a 20 kHz PWM. The firmware divides by the battery voltage, so a buzz feels the same on a full cell as on a tired one and the 3 V motor is never over-driven.

J1 · USB-C, SW2 · PCM12, BT1 · 103450

Sensor power

USB-C runs the sensor beside the monitor and charges a 2000 mAh cell for nights away. The hosts kept the long cell on purpose: about three nights unplugged is a bonus for parents.

Sensor bill of materials (23 lines)
Loading the parts list…
Watch bill of materials (19 lines)
Loading the parts list…
7Firmware in PlatformIO

The firmware

One PlatformIO project per device, sharing a radio protocol. Both build cleanly, but neither has run on real hardware yet.

Hearing

A level from 0 to 3, not just "loud"

The sensor learns the room's noise floor and needs sound well above it before it calls fussing, crying or screaming. It needs 1 s of sound within 2 s, so a door slam doesn't count, and it steps down one level per 6 s, so the breaths between cries don't end an alert. A sound that stays within 4 dB for 20 s, like a white-noise machine, becomes the new background.

Feeling

Glow, pulse, buzz

Fussing only glows soft pink (the hosts' call). Crying gives three firm pulses every 2.5 s. Screaming gives an almost continuous full buzz. A crying alert nobody answers steps up to screaming after 45 s. A tap on the bar stops it for 3 min, unless the crying gets louder.

Builds clean

ESP-IDF 5.5, 0 warnings

Not Arduino: the pinned platform's Arduino core can't target the ESP32-C6. Each device builds to ~815 KB of a 1.875 MB slot, with room for over-the-air updates later. A host test runs the real detector and buzz code on a computer (26 checks pass).

Pins from the board

Code and board can't disagree

pins.h is generated from each board's KiCad design script before every build, and the build stops if a net or pull-up the code relies on disappears.

How we got here

Baby Monitor Monitor started as a random roll on Product Speedrun, a show where two hosts take a randomly rolled product idea from brainstorm to a showcase-ready concept. Episode 003 rolled "haptic motor, new parent, wearable, Y2K", and Jordan Bunker and Donald Bell talked it into a monitor for the baby monitor.

The brainstorm. Episode 003, where the idea was rolled and talked through. Pressing play loads the video from YouTube. Watch it on YouTube

The episode ended with a first version, Rev A: concept art, a CAD model and two routed boards. The hosts voted to keep building, and set one goal for the second version, Rev B (this page): make the enclosures match the concept art, with its curves, asymmetry and details. Along the way, the sensor's small button became the snooze bar, and both devices got their first firmware.

  1. Rev A CAD model: a rounded-box sensor with a ball grille, next to a square watch
    Rev A · Episode 003 · Nov 2026

    Hear it, feel it

    • Mic sensor next to the monitor, buzzing watch on the wrist, linked by ESP-NOW
    • 63 × 43 × 33 mm "gamer mouse" sensor with an SM58-style ball grille
    • Sealed 38 mm watch: no button, no port, charged on a magnetic clip
    • Two routed ESP32-C6 boards, DRC 0 / 0

    Verdict: keep building. See the Rev A page

  2. Rev B CAD model: the teardrop sensor with the swoosh and snooze bar, next to the pillow watch
    Rev B · This page · Nov 2026

    Closer to the concept, easier at 3 am

    • Sensor re-lofted through spline sections: a low, asymmetric teardrop
    • Chrome-ringed grille nose, kidney-bean status light, S-curve swoosh with a trim band
    • Pillow watch with a recessed two-tone lens and smaller lugs
    • Glowing 30 mm snooze bar on two switches, replacing the 12 mm button
    • Sensor board re-routed (DRC 0 / 0), and both boards pass the fit check
    • First firmware for both devices: builds clean, not yet on hardware
Side by side: Rev A's hero render, the concept art board, and the Rev B CAD model
The goal in one picture: Rev A's render, the concept art, and the Rev B model.
  1. Close-up of the clear snooze bar on the sensor's crown, with the grille nose and green bean
    Snooze barThe clear bar on the crown
  2. Section along the snooze bar: its legs over two switches and its light leg over the LED, the board above the cell
    InsideA section along the bar: two legs, two switches, one light
  3. The back of the sensor with its inset panel, USB-C and slide switch, next to the watch
    The backInset panel, USB-C and slider (before the bar)
  4. The real routed sensor board placed inside the enclosure for the fit check
    Fit checkThe real sensor board in its case: pass

What we still don't know

The design is complete on paper. Here's what we'd still answer before anyone orders a board or cuts a mould.

  • Prototype

    Designed, checked, never built

    Both boards are DRC-clean and fit their cases, and the firmware compiles, but nothing has been made or flashed. Every sound threshold and buzz strength is a first guess, waiting for a real board, a real monitor and recorded crying.

  • Hearing

    Is crying ever as steady as white noise?

    While building the demo above we found that a white-noise machine switched on after the sensor was never learned as background: the watch glowed or buzzed all night. That's fixed. A sound that stays within 4 dB for 20 s now becomes the background, up to 62 dB, so an unbroken scream never does. It rests on crying through a monitor swinging 10–20 dB with breaths and sobs, which still needs checking against recordings of real crying. It has two costs: when a machine switches on, the watch alerts for about 20 s before the sensor learns it, and over the noise, crying has to be 10 dB louder to glow and 18 dB louder to buzz.

  • Battery

    Does 150 mAh last a whole night?

    The watch listens 50 ms in every 200 ms, so the estimate is ~11 mA, or about 13 h. That's untested. The glow LED also draws up to 1 mA when dark. A switch to cut its power is posted as a request for the board, along with a charger sense, so a full watch on its clip stops buzzing "link lost".

  • Shape

    Still a little long for a pebble

    The sensor reads longer and more tube-like than the concept, because its 50 mm cell sets the length (the hosts chose to keep it), and the inset back panel is too big. A second pass with a steeper fall to the back is written but not built: it ran over an hour without finishing.

  • Watch

    12.7 mm thick, not 10

    The concept's watch is about 10 mm thick. Ours is set by the cell and board stack. A 1.0 mm board and a 3 mm cell would win back about 1.5 mm.

  • Light

    Is a 22 mm light pipe bright enough?

    The status bean moved to the cheek, but its LED didn't move on the board, so the light travels about 22 mm to get there. If it looks dim on a real part, the LED moves toward the front of the board.

  • Security

    No encryption yet

    ESP-NOW packets aren't encrypted, so a nearby device could pretend to be the sensor and say "all quiet". A key set at pairing is the next step. Over-the-air updates for the sealed watch are planned in the partition table, but not written.

  • Finish

    Chrome that doesn't block the radio

    Real metal plating on the bezel and trim would shield the 2.4 GHz antennas, so the chrome look has to be non-conductive vacuum metallising or pearl paint.

Build on it

Everything behind Baby Monitor Monitor Rev B is open: the 3D design, the KiCad boards, the firmware 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 GitHubRev A (the episode)The 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.