The Boot That Feels Pain
A rubber boot wrapped in aluminium foil, stuffed with an Arduino, a speaker, and a pressure sensor. It screams when you step on it. It was a hit at Science Week.
My son Vicente is 3. His school asked each kid to bring a "crazy shoe" for Science Week. Most parents glued some googly eyes on a sneaker and called it a day.
I soldered a pressure sensor into a rubber boot.
The Original Plan
The idea was educational: a shoe that teaches kids about gravity. Every step triggers a fun fact, recorded in Vicente's voice. "On the Moon you could jump over a house!" "In Jupiter you'd weigh double!" Twelve facts, one per step, looping through a playlist on a micro SD card.
We wrote the facts. We planned the circuit. Then we sat down to record.
Vicente is 3. He can barely finish a sentence. The gravity facts were way too long for him. After a few failed takes of him trying to say "gravity makes your heart beat," we pivoted.
The boot would simply complain every time it touched the ground.
"Ai!" "Ui!" "Estás a pisar-me!"
Eleven short recordings. His voice, his expressions, his giggling between takes. Much better than any science lesson.
The Circuit

The hardware is the same stack as I Feel Good (the cupboard prank I'm building with Vasco): Arduino Uno, DFPlayer Mini, and a speaker. The difference is the trigger. Instead of a light sensor detecting a cupboard door, this one uses a pressure sensor (FSR406) under the heel.
Step on it, the Arduino reads the pressure spike, tells the DFPlayer to play the next MP3. Release, reset. Step again, next sound.
FSR (pressure sensor) → A0 + 10kΩ pull-down → GND
DFPlayer Mini: RX ← 1kΩ ← D10 | TX → D11
Speaker: SPK_1 / SPK_2 → Velleman MLS3 (8Ω 2W)
Power: 9V battery → VIN
The Vasco connection: he helped me build and test the breadboard prototype. At 10, he's getting comfortable with the wiring. Vicente, at 3, was not invited to the breadboard session.
The Bugs
The DFPlayer's BUSY pin was supposed to tell the Arduino "I'm still playing, don't trigger the next sound yet." It didn't work. Read LOW constantly regardless of state. We replaced it with a simple timer: ignore any new step within 3 seconds of the last one.
The other surprise: play(n) didn't work reliably for track selection. The fix was playFolder(1, n) with the MP3s inside a folder named 01/ on the SD card, files named 001.mp3, 002.mp3, and so on. The DFPlayer cares about the order files are copied to the card, not the filenames. Format to FAT32, copy in sequence, don't touch them after.
The Assembly
We had designed a 3D-printed enclosure in OpenSCAD: three levels (battery, Arduino, speaker on top), clean cable routing, proper mounting. The Anycubic was ready.
We ran out of time. Science Week was in two days.
So we wrapped the rubber boot in aluminium foil for a space-age look, strapped the Arduino and breadboard to the outside with red tape, and ran the wires along the boot. The pressure sensor went under the insole at the heel. The speaker sat on top pointing outward. The 9V battery hung off the side.
It looked like a bomb. But it was just a cute little boot.
The original plan called for Nike Cosmic Runners. We switched to old rubber rain boots because nobody was going to miss them if something went wrong. Smart call. Hot glue doesn't come off rubber gracefully.
The Demo
Vicente loved the idea. He laughed every time he heard his own voice coming from the boot during testing. Then something shifted: he felt sorry for the boot. It was in pain every time he stepped. He didn't want to wear it anymore.
We convinced him. Eventually.
At Science Week, he walked the boot in a parade with his classmates. Every step: "Ai!" "Ui!" "Estás a pisar-me!" The other kids lost it. The teachers lost it. Three-year-olds don't need gravity facts. They need a boot that screams.

What I Learned
Building for a 3-year-old is different from building for yourself. The pivot from science facts to screaming was the right call, but I only saw it because Vicente was in the room failing to record the original script. If I'd built this alone, I'd have synthesized the audio with TTS and shipped twelve gravity facts that no 3-year-old would care about.
The 3D enclosure would have been better. The foil-and-tape assembly was fragile and looked unhinged. But it worked, it shipped on time, and Vicente walked a parade in it. That's enough.
Some projects need polish. This one needed to exist by Thursday.