Lies flat on the shelf
It sits on its big flat side, face up. When the door swings open and a warm arm reaches in, the purple dome sees it and the alarm goes off. If it's the owner, one slap of the big button shuts it up.
A design proposal for a fun motion-activated alarm that guards a kid's backpack or locker.
School-age kids, roughly 6 to 12. It's a toy, not a security system: a cute guard with a loud, silly voice that makes a sneaky hand think twice, and makes the owner grin.
It sits on its big flat side, face up. When the door swings open and a warm arm reaches in, the purple dome sees it and the alarm goes off. If it's the owner, one slap of the big button shuts it up.
A charm loop on one end takes a keyring, a carabiner or a zip tie. The face looks out, and anyone unzipping the front pocket gets a robot shouting "INTRUDER" at them.
The silence button is huge on purpose, so anyone can see how to stop it. For a full disarm, pop the battery door and take out a AAA. No app, no tools, no password.
This is the Stage 4 CAD model, not a render of the art. It's a soft pebble in mint, butter and lavender, sized around real, cheap parts. Drag to rotate, pinch or scroll to zoom.
The face is flush inlays (plum eyes, pink cheeks) and could become a pad print or a sticker in production.
Hold the big button while you put the batteries in. Backpack Defender starts its own little Wi-Fi network with a settings page, so there's no app and no account. Pick a voice, hear a preview, save it.
Try it: play a voice on the phone, then hit the button. These previews come from your browser's synthesiser. On the real thing they play through a 12 mm piezo, which sounds buzzier.
Mock-up of the setup page the device serves. Nothing here leaves your browser.
The firmware plan from Stage 5. Deep sleep is what lets two AAA cells last most of a school year.
The ESP32-C3 sleeps at about 5 µA. The PIR or the button can wake it, and Wi-Fi stays off.
Motion wakes it. It turns the amp on, streams the chosen voice for about 10 s, then goes back to sleep.
One press stops the sound and ignores motion for a cool-down (about 60 s) so the owner can get their stuff.
Hold the button at power-on to start the hotspot and settings page. The choice is saved to flash.
A 70 × 45 mm two-layer board sits on four posts above the batteries. All 43 parts are on top, because the battery holder is just 0.5 mm below the board. It's fully routed, with zero ERC errors and zero DRC violations in KiCad 10.
Schematic side view, not to exact scale for every part. Heights in mm above the floor.
Hosts the hotspot settings page, plays tones over I2S, and wakes from deep sleep on a GPIO with no extra parts. It has native USB, so there's no serial chip.
~$1.90A filterless class-D amp takes the digital audio and drives a Ø12 mm TDK piezo, loudest near 4 kHz. Two 100 Ω resistors tame the edges.
~$1.45Near-field (3–5 m) with a digital output, drawing about 15 µA. An RC filter stops boost and Wi-Fi ripple from setting it off. Radar was rejected because it sees through locker walls.
~$0.80Two AAAs sag from 3.2 V to 2.0 V. The boost holds a steady 3.3 V and copes with 650 mA Wi-Fi peaks.
~$0.45Kids will put batteries in backwards. This one-cent P-FET shrugs it off and costs only ~40 mV of drop.
~$0.01Sits under the coral cap. A 0.4 mm pocket in the cap keeps it from pressing the switch all the time.
~$0.08| Ref | Qty | Value | Description | MPN |
|---|---|---|---|---|
| U2 | 1 | ESP32-C3-WROOM-02-N4 | ESP32-C3 Wi-Fi/BLE module, 4 MB flash, PCB antenna | ESP32-C3-WROOM-02-N4 |
| U3 | 1 | MAX98357A | I2S class-D mono amplifier, TQFN-16 3 × 3 mm | MAX98357AETE+T |
| U1 | 1 | TPS61023 | Synchronous boost converter, 0.5–5.5 V in, 3.7 A switch, SOT-563 | TPS61023DRLR |
| U4 | 1 | AM312 | Mini PIR motion sensor, Fresnel dome through the lid | AM312 |
| BZ1 | 1 | PS1240P02BT | Piezo transducer, 12.2 mm, ~4 kHz resonance | PS1240P02BT |
| SW1 | 1 | SILENCE | Tactile switch 12 × 12 × 7.3 mm THT, under the big button | TS-1212-7.3 |
| Q1 | 1 | AO3401A | P-MOSFET −30 V −4 A SOT-23, reverse-battery guard | AO3401A |
| L1 | 1 | 1 µH | Power inductor, 9 A sat, 7 × 6.6 mm | FXL0624-1R0-M |
| C1 C5 C8 C9 | 4 | 10 µF | Ceramic, 25 V X5R 0805 | CL21A106KAYNNNE |
| C2 C3 | 2 | 22 µF | Ceramic, 25 V X5R 0805 | CL21A226MAQNNNE |
| C4 C6 C10 | 3 | 100 nF | Ceramic, 50 V X7R 0603 | CC0603KRX7R9BB104 |
| C7 | 1 | 1 µF | Ceramic, 50 V X5R 0603 | CL10A105KB8NNNC |
| R1 R3 R4 | 3 | 1 M | Resistor 1 % 0603 | 0603WAF1004T5E |
| R2 | 1 | 220 k | Resistor 1 % 0603 | 0603WAF2203T5E |
| R5–R8 | 4 | 10 k | Resistor 1 % 0603 | 0603WAF1002T5E |
| R9 R11 | 2 | 100 k | Resistor 1 % 0603 | 0603WAF1003T5E |
| R10 R12 R13 | 3 | 100 Ω | Resistor 1 % 0603 | 0603WAF1000T5E |
| BT1 | 1 | 2 × AAA holder | Side-by-side, wire leads (~52 × 25 × 12 mm), soldered to J1 | generic |

The vibe: a pastel pebble, a kawaii face, a playfully huge button.

Views, a 76 × 51 × 25 mm envelope, batteries under a board.

Parametric CAD, 11 parts, clearance-checked with no overlaps.

KiCad schematic and routed board, fitted back into the shell.
This is a first pass from a speedrun. It's credible and buildable, but nothing has been printed, ordered or heard by an actual kid yet. Here's the honest list.
A 12 mm piezo is loud near 4 kHz, but "musical" and "goofy" will come out thin and buzzy. A 20–28 mm micro-speaker fits the same pads for the same cost. We need an A/B test with real kids' ears.
The dome looks straight up. It should trip on a door opening and a warm arm, but not when the locker warms up. Firmware could require two triggers within a few seconds.
Check the AM312 pin order (it varies by vendor), the MAX98357A TQFN pinout and every LCSC number. Clean up the autorouted boost loop by hand, and confirm the fab can drill the 0.2 mm thermal vias.
The enclosure is sized for a 7.3 mm tact switch, but the KiCad 3D model is an 8.5 mm part. Order the right one, or the plunger will dig 1.2 mm into the button.
The lid, base and bottom plate aren't fastened yet (snap lip or screws?), and the battery door has no latch. Both matter for something that lives on a backpack.
The face is printed as flush colour inlays for the prototype. Pad printing or a sticker would be much cheaper at volume.
Pulling a battery disarms it, as the brief asked. A $0.05 slide switch on the end is easy to add if teachers want one.
We chose AAA so teachers can disarm it and nothing needs charging. Swapping the amp for an NS4168 saves about $1. A chip-down ESP32-C3 saves more, but needs RF work.
Everything behind Backpack Defender 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 GitHubLater revisionsThe build tools
Enclosure, ready to edit or print
KiCad project, schematic and BOM. Saved with KiCad 10: open it in 10 or newer.
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.
A short diary of every episode: the roll, the turns the idea took, and the board at the end. One email per episode.