I decided I wanted to have a simple switch for power, and push button to cycle between modes. I also wanted it to be battery powered. I didn't want to use an entire Arduino for this project, so I grabbed an ATtiny85 - which looked like it would suite my needs perfectly - 5v/8Mhz is plenty to drive the LEDs, and at those speeds it doesn't require an external clock or any other hardware.

For the program, I settled on using the FastLED library over the Adafruit Neopixel library because it let me set up several color palettes using very little memory, and with only 8Kb of memory for a program I was going to need every byte.

The code was a challenge for me - this was the first time I've worked with addressable RGB LEDs, and this was the first time I'd had to write code that was constrained to 8Kb. My initial attempt on the MakeyMakey clocked in at around 12Kb - and after much trimming and optimizing (though admittedly I imagine it could get smaller) I manged to get it down to 8,126 bytes - just under the 8.192 bytes I had available using 6 different 16 bit color palettes, along with software debounce and variable delays in the color changes.

After getting the program down to size and loaded on the ATtiny85 - I prototyped the circuit on a breadboard and ensured that everything worked.