An Arduino shield providing three RGB LED outputs, three button inputs, a potentiometer and a buzzer. With the matching sketch, it provides a combination nightlight and white-noise generator

The Sleepduino is a relatively simple shield: it's got three RGB LEDs, three buttons, a potentiometer and a piezoelectric buzzer.

What it does, however, is rather clever.

As a new father, I've found it's difficult to convince my little bundle of noise to go to sleep at night. A common method of convincing a baby to sleep is to provide 'white noise,' either through the use of an expensive specialist baby-soother or by detuning a radio. Alternatively, there's the Sleepduino.

The buttons control the LEDs: each LED has its own button, which cycles it through seven different colours before turning it off. Press the button again, and it'll switch on again. The pot controls the volume of the buzzer, which exists to vocalise the output of a pseudorandom bit-shift register to generate a pleasing 'static' sound.

Set the LEDs to provide whatever level and colour of nightlight you think your baby - or, indeed, you - would prefer, adjust the volume of the white noise (apparently, it should be around the same volume as being in the same room as someone taking a shower) and cross your fingers that you're going to enjoy the best night of sleep you've ever had.

The code is crufty, thanks to my cargo-cult approach of melding together two existing projects into one (see the sketch header for details.) The wiring is dodgy, mostly because I have no idea what I'm doing. But it works, damnit.

Take the PCB, solder on the components from the included BOM (all the resistors are the same, so don't worry about what goes where) and you're done.