If you want to impress somebody on Valentine’s day this is a great opportunity, make a DIY led heart, the project comes along with all the source code schematics and even a tutorial to explain the software.
Beside the obvious, lets take a deeper look at the project, the leds are twinkling at random speed and pattern, and yes there are fading not just turning on and off, and there are 20 of them, so how do they do it? No there isn’t a large micro controller with 20 channel pwm, they emulate it in the firmware, and use random numbers to set each leds twinkle. Its worth looking at the solution since in many application, especially with leds you will need to fade more channels than your pwm hardware can handle.
The project also comes with schematic, if you build this kit, place at least a series resistor of 100 Ohm value with PC5 pin, just in case you start to improve the software and forget that the pins can handle only 25mA.
Random twinkling LED heart: [Link]