All I want for Christmas is a drum kit ballpit

At EMFCamp in 2016 there was a musical ballpit, and ever since having a go in it (which was my first ever ballpit experience) I have wanted to build one.

This has become something of an ongoing project. First, I contacted some soft-play suppliers to find out about the cost of balls, and it turns out that soft-play balls (proper ones for use in commercial soft-play facilities) cost quite a lot. 15p+VAT each. Which doesn’t sound like a lot, but to fill a large paddling pool that was going to be something like £2,000, and even if I tried to bodge it with a smaller paddling pool it was going to be really very expensive indeed.

So plan B was formed. I figured that 5p a ball was OK, and I wasn’t bothered with quality. So for the last 18 months or so, every time I’ve seen kids play balls on special offer (in the supermarket, in B&M, in Lidl…) I’ve bought them as long as they’re £5 or less for 100. They pile up. Slowly, but they pile up.

There’s more to the problem of building a drum-kit-ballpit than just having a lot of balls though. You need to make the balls do something – in particular, motion in the ballpit needs to trigger sounds. I did this through a mixture of OpenCV and pygame, in Python, and if you’re interested you can see my hacky code here: on github. Basically the program runs the webcam and plays a drum sound if it sees motion in specified parts of the image. The readme on that project describes in more depth how the code works, if you’re interested in the details. Point the webcam at a ballpit, set the program running, bang the drums.

At the BCS Mid Wales show and tell last week I put the components together – paddling pool, balls, tripod, and motion detection. I hadn’t actually tested it all together before the evening, although I had got Helen to agree to sit in it. As you can probably guess from this slightly giggly video (thanks Colin):

Ballpits are fun.

One thought on “All I want for Christmas is a drum kit ballpit

Leave a Reply

Your email address will not be published. Required fields are marked *