Hasty Briefsbeta

Temporal Dithering of NeoPixels on an ATtiny412

10 days ago
  • #ATtiny412
  • #NeoPixels
  • #TemporalDithering
  • Creation of a physical neurodiversity rainbow infinity symbol using 27 WS2812B addressable RGB LEDs driven by an ATtiny412.
  • Implementation of temporal dithering to enhance perceived color resolution due to low color resolution of LEDs at reasonable brightness levels.
  • Comparison between ordered dither and error diffusion methods for temporal dithering, with error diffusion chosen for better results.
  • Optimization of code for a microcontroller with limited resources, including switching from floating-point to 16-bit unsigned integers for faster calculations.
  • Use of gamma correction approximations to save flash space, with the project defaulting to a normalized cube function.
  • Efficient handling of button inputs using interrupts instead of digitalRead() for better performance.
  • Removal of the Arduino millis() function to save flash space, relying on the consistency of cyclic animations for timing.
  • Update on ordered dither implementation, noting its simplicity but inferior visual results compared to error diffusion.