Busy Box v1

Our daugther, like many kids, enjoys pressing buttons and flipping switches. I attempted to build her a "busy box" to satisfy her button-pushing tendencies.

I would love to build something like a Mission Control Desk, but that's a beyond me at this point.

I started simple: a couple of light-up buttons and some LEDs. The Trinket M0 from Adafruit, was my starting point. I chose it because it was small and could run Circuit Python.

Here is an incomplete list of other parts:

I already had some other supplies from earlier attempts at getting in to Arduino, including a soldering iron, solder and an assortment of resistors.

The first step was to get the latest version of Circuit Python onto the board. The directions and software were pretty straightforward. One bit of trouble I ran into was that the Trinket M0 does not have a lot of space for libraries, so I had to pick and choose only the ones I needed, and I had to make sure to remove the extra metadata files that are created by macOS.

The M0 has five GPIO pins, four of which were taken by the buttons; two pins to read the buttons and two pins to control their LEDs. Fortunately, the NeoPixel ring only needs one data pin.

Once I got everything working on a breadboard, it was time to figure out the enclosure. I found some simple project boxes on Amazon. One of the more difficult tasks was prepping the box. I don't have the best tools for this, but I was able to drill 24 holes roughly in line with NeoPixels and using a combination of Dremel bits get holes close to the size and shape for the buttons.

The box has a few different modes, or patterns, for the lights. The blue triangle button selects the mode and the orange button changes the color.

Appendix: Source code