I have lots of ideas for features to include, but think I really need to keep it simple first, then incrementally add new capabilities overtime (In theory from a certain point I won't need to add much hardware and the new features would be from software changes)
At the moment my basic features are:
- Show the time
Play the radio at a certain time and for set duration
Start alarm at a certain time
Snooze the alarm
Clock Display - The Adafruit 1.2" 4-Digit 7-Segment Display looks good for this and they have useful Python scripts already for displaying the time (As this needs 5V I'm assuming I can pull this from the GPIO)
Amplifier - There are a few options here, the JustBoom Amp Zero (If I understand it right) can be stacked on the Pi and if I use the right header I'll still be able to use the GPIO for other components. (Definitely need to understand the do's/don'ts for using the GPIO and stacking)
Speakers - Not too worried about these yet, but will need something to play the radio and alarm noise.
Snooze button - Need someway to snooze the alarm
The one bit I'm struggling with is thinking about hardware/software at the same time, should I really just buy the hardware and get them setup on a breadboard first, then start thinking about the software. I've already done some research in software and some projects are very complicated, should I just start small i.e. get the time to work first, then scale up with additional scripts to control specific features? I'm heading to the bookshop later so will try and find something on learning python for Raspberry Pi.