Skip to content

Latest commit

 

History

History

clock

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 

Programmable LED strip mood lamp and clock

Features

  • display consisting of 1 meter SK6812 LED strip (control code based on WS2812B_STM32_Libmaple)
  • linear clock
  • alarm with RTTTL Nokia ringtones (main 'play' function taken from here)
  • IR remote control (NEC decoder inspired by here)
  • sunrise simulator
  • white light lamp
  • fire effect (borrowed from WS2812FX)
  • plasma effect (parts borrowed from FastLED)

Real-world example demonstrating superiority of communicating state machine approach to embedded system design. Without an preemptive OS it's possible to achieve a high degree of concurrency while maintaining footprint only slightly larger than required by bare-metal code. Code structure is isomorphic to UML state diagrams and therefore self documenting. With the traditional implicit global state sharing approach I wouldn't even think of implementing a system like this, specially in limited free time I have.

STM32F103C8 pinout: stm32_pinout