The photos show a mix of the initial, fully-custom version and the currently implemented one.

The initial/final one is based on the Arduino Leonardo reference design around an atmega32u4. The microcontroller part is on the back and the LEDs on the front of the custom PCB. It uses a LiPoly battery and has USB charging circuitry.

The temporary version is based on a Pro Trinket powered by 3 AA cells.

As currently implemented it

  • can show a few different animations
  • has a bright white flashlight mode
  • has a brightness adjustment mode

The "UI" consists of a single button that is overloaded with all these functions, which leads to some interesting bits like state machines and software-debouncing in the code.

The code and eagle files are on github. The CNC parts were modeled in Autodesk Fusion 360 and you can see and download the original model at http://a360.co/1XhXi5B.