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.

AbuLou SmartLED firmwareFirmware and prototype work
Prototype SmartLED modules illuminated blue, red and green
Photographs of illuminated prototype modules.

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

  1. Receive an I2C commandRead the requested colour, script or action.
  2. Interpret the requestSelect the corresponding firmware function.
  3. Update state and timingCoordinate fades, scripts and patterns.
  4. 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.

All projectsArchive record

Project enquiries

Discuss your project.

Tell us what you’re developing and where you need engineering support.

Discuss your project