Pink Noise Machine for Baby Fred and Other Tiny Humans

Bryan Boyer
6 min readJan 25, 2021


Needing a distraction from the idle thoughts that come with global pandemic and democratic collapse, I started working last year on a pink noise machine to help our then-expected child. We welcomed Fred in December and he’s enjoying the lullaby block—Lullablock—on a daily basis, so I’m sharing the files in case it’s useful to others (link below).

It started with an innocent search for a noisemaker with a minimal appearance and no internet connection. Since the minute we told friends and family that a child was coming we have been fighting a war against the lazy aesthetic of baby things. Why does a noise machine need to look like Anish Kapoor’s bean? More importantly, why does it have so many buttons?

L: One of hundreds of noise machines on Amazon. R: Photo of Anish Kapoor’s Bean from Alan Light on Flickr

Baby devices face an additional challenge, which is that so many of them are controlled by the cloud for no particularly good reason. I do not want our child to become someone else’s data source any more than necessary—it was jarring enough that literally the first thing the baby experienced after birth was a full accounting of his measures. We do not need to train artificial intelligence on our growing bundle of natural intelligence. Having one less device that requires a connection to the open internet also feels like a good thing.

All of that and a spare Raspberry Pi Zero was enough to inspire Lullablock, which is a RPIzero-powered pink noise maker. It’s a little blue box with a big yellow button. Bop the button to start the noise; give the dial a spin to turn it up or down. Noise will play until the user-configurable timer runs out.

The device runs python (overkill, I know) so there’s a simple web app built in that allows it to be controlled from another room—or the sofa when your arms are filled with baby. The app also allows a few more controls to be snuck in, like the ability to select a different audio file to play on loop.

Originally my partner and I thought it would be a “great idea” if we trained the baby to sleep with cafe noises. Think how well the child will sleep while we’re out and about, we naively speculated. Turns out babies don’t work like that, and this country’s response to COVID was bungled enough that spending afternoons in busy cafes is not happening any time soon either.

Blue box, yellow button, red app

The device is plain. A cube that sits with a slim reveal atop whatever surface it is placed. Two sides are perforated to allow the sound from internal speakers to escape. Those same holes are used to secure the speakers in place. A large dial/button on top is set into a semi-spherical depression and the shape of the dial itself looks a little like the Chamber of Deputies that sits atop Oscar Niemeyer’s National Congress. This results in a pleasing shadow gap around the dial. The yellow piece is printed solid, giving it a tactile weight when spun around. The bottom of the device shows four thumbscrews that attach the top of the case to its base. Four smaller screws keep the RPI in place and grid lines act as embedded beams to provide structural support to an otherwise thinly-printed plate. A single corner is held back to let the power cable escape.

Lullablock started out as a hodgepodge of cardboard and too-stiff wires that I had laying around. Once the speakers arrived, I upgraded it to a foamcore enclosure to test fit before creating a 3d print. Originally I hoped for an object smaller than the roughly 5"x5"x5" that it came to be, but accommodating the components internally (especially the speakers) made Lullablock difficult to shrink.

Yes, that is Jenny Holzer washi tape

In late autumn we traveled to upstate New York for a weeklong retreat, during which time I refactored the web app display code to use SVG instead of canvas (because it antialiases better and is generally just nicer). Without a baby or the baby’s room, taking photos got a little weird. Standing by itself, Lullablock even looks a little ominous…. boo!

The app is a responsive web page with vanilla javascript and css that is no-frills, just like the physical form of the device. If you squint, you may see a robot face with volume buttons for eyes and a snakey countdown timer for mouth. The markers along the bottom provide a scale for the timer. Tapping the mouth/timer starts the countdown. If it’s already running, tapping will advance to the next marker, so when Lullablock is running a couple taps and it will click into silent mode again. This all runs locally and has no need to connect to anything outside your network. Lullablock may also be used without any app at all.

Screencaptures of the Lullablock web interface

For those who would like to build your own Lullablock, the files (including 3d print) can be found on Github, including a bill of materials for the hardware in use. Variations or forks are welcome, and please send me a link if you use this to build something of your own. That being said, Lullablock is provided as-is. Don’t expect any response to questions because despite having a functional noisemaker I also have a fully operational newborn.

Works on babies, does not work on cats