This is the firmware for my butterfly nightlight.
You'll need to install the Arduino IDE, the Adafruit NeoPixel library, and support for the ATtiny microcontroller. The version of the ATtiny support for the Arduino 1.6.x IDE also seems to work fine with Arduino IDE 1.8.5.
I recommend using the Tiny AVR Programmer from SparkFun, but in theory, any AVR programmer should work, if it's hooked up properly.
In the "Tools" menu, "Board" should be set to "ATtiny25/45/85", "Processor" should be set to "ATtiny85", and "Clock" should be set to "Internal 16 MHz". If using the Tiny AVR Programmer, then "Programmer" should be set to "USBtinyISP".
After setting the above settings, and before uploading the sketch, be sure to run "Burn Bootloader" from the "Tools" menu. In the case of the ATtiny, this does not actually burn a bootloader. Instead, it just burns the fuses. This is necessary to get the ATtiny85 to run at 16 MHz. This only needs to be done once per chip; it does not need to be done every time you upload a sketch.