I find the fan clip Batmetal Returns on Dethklok's song Murmaider a masterpiece.

For some reason I decided that I need the warning light that appears at 1:03. The idea was to put it near the flat's door, so it would flash and play the song whenever someone rings the bell.

Here's the end result:

(in real life it looks much more uniformly lit than on camera)

The project implementation is a bit embarrassing, as I'm still learning electronics. So if you decide to do something similar, there is much room for improvement.

A regular LED lamp is used as the base of the project. Of 12 LEDs initially present in the lamp only 3 are used, while the rest are shorted out, because 9 volt battery could only light up 3 of them and that was enough.

I didn't want to bring external power to the lamp, so I went with batteries. Also I didn't want to bring wires from the bell button to the lamp, so thought initially of non-contact current detection in the wires that are already in the wall and run from the button to the bell. Upon failing to accomplish that (through the lack of knowledge I think), I decided to establish an IR signaling between the button and the lamp.

This is a modified button insides. In the yellow heat shrink are three 1.4V batteries. Mostly hidden from view, below the IR LED, is a 555 timer in astable configuration. So that when the button is pressed, the LED flashes at around 480Hz. The frequency is quite random, but the idea is that the lamp has to distinguish the signal from noise of lamps flashing in the corridor. If I were to reimplement the project I'd select an even higher frequency. The downside of IR route is that I had to be very careful with the wiring cause the button switches mains.

The most tricky part was to make it all work without drawing too much current from the batteries. Here's where my implementation is the most electronically unsound.

Signal from photo-transistor is passed through an op-amp (MCP6001) to an ATtiny85. The MCP6001 is chosen for low quiescent current.

A reasonable question would be, why use ATtiny when there is an ATmega in the system already. The problem was that my Chinese arduino clone has a regulator that draws around 3mA all by itself, even when the ATmega is in power down sleep mode (and yes, that's after the power indication LED is removed). I've used an excellent article Arduino low power - how to run atmega328p for a year on coin cell battery as a guide to power management. I could have replaced the regulator, but another aspect is that there is an SD card in the system and judging by the length of the article Switching off SD cards for Low Power Data Logging I decided not to bother. The net result is that ATtiny waits for the signal and upon detecting one, switches on the arduino, which plays the audio file and flashes the lights.

For music playing I've used as a guide this blog post: How to play WAV audio files with Arduino Uno and MicroSD card. My setup uses a low pass filter on the output pin 9 and a 3W*2 amplifier board based on PAM8403 chip (red one on the photo).

To paint the lamp cover I first did a pencil sketch on it and then painted it with sharpies.