Back to engineering work
Embedded firmware + prototype work
SmartLED firmware for ATtiny85
AbuLou SmartLED implements colour fades, stored scripts and motor patterns on an ATtiny85, controlled through a compact I2C command interface.

Engineering scope
- BlinkM-style I2C command parsing
- RGB and HSV fades with EEPROM-backed scripts
- Motor patterns and nonblocking timing
System flow
From command to output
- Receive an I2C commandRead the requested colour, script or action.
- Interpret the requestSelect the corresponding firmware function.
- Update state and timingCoordinate fades, scripts and patterns.
- Drive the outputUpdate the LED or motor pattern.
Compact command interface
BlinkM-style I2C commands select RGB and HSV fades. Packed command parsing supports these functions within the ATtiny85’s memory and timing constraints.
Stored sequences
EEPROM-backed scripts retain programmed sequences between sessions, so an external application does not need to resend each step.
Nonblocking execution
Animation and motor updates run without long blocking delays, allowing the controller to continue accepting commands during a fade or sequence.
Project enquiries
Discuss your project.
Tell us what you’re developing and where you need engineering support.