I made this internet radio from a Raspberry Pi B+, a GrovePi shield, the case from a BrickPi, some Grove sensors and a cheap phone speaker. The buttons are homemade by soldering switches to a Grove cable with a 10k pull-down resistor.
It currently has a temperature sensor and light sensor. I plan to add an air quality sensor and a loudness sensor. The sensor values are published to MQTT and can be displayed on the screen.
It has a buzzer for the alarm.
The software to drive it is in python. I will publish it when I have tidied it up a bit.