Features
✔ Automatic time synchronization with German atomic clock. No user action required
✔ Automatic switch over to daylight savings time.
✔ Sunrise simulation with rotary encoder to configure the final brightness. During alarms the light will begin lighting gradually starting 30mins before the scheduled alarm. The COB-LED array is mounted on the back of the housing to avoid shining the bright light on the sleeping people. The indirect light of the wall produces a more enjoyable light.
✔ Large LED display : readable without glasses.
✔ Auto brightness for displays and buttons.
- The brightness of the displays and LEDs is adjusted according the the ambient light.
- When dark, the displays and LEDs will turn off after 15s so that you can sleep in complete darkness.
- Movement detection : display will turn on again when movement is detected, which is helpful to find the way to the bathroom and back.
✔ Rubber feet (so it doesn't slide from your closet)
✔ Weekdays setting : the alarm can be configured for separate days of the week. So there's no longer a need to turn your alarm off on Fridays to avoid being woken on Saturday mornings.
✔ Wake-up sound from MP3 (2.5W in a 4ohm speaker) : song selection and volume button controlled by rotary encoder.
✔ One-handed configuration
❌ USB charge port output : It should be discouraged to take a smartphone or tablet to your bedroom. Give your mind some rest.
❌ Backup supply in case of power outage, powerful enough to sound the alarm. The provisions are there in hardware. Some peripherals can be switched off to save power, but there's no firmware support for it.
✔ USB-B Connector power input.
- allows for use of decent USB-cables (at least AWG24 for the power pair is required.)
- Even my grandma will be able to plug this in. The same can not be said from a USB micro connector, used on the Blaupunkt BT16CLOCK (that's not the only reason to avoid this clock. Try to turn on the FM radio without using the manual. Good luck... The UI is not very intuitive.) Update (Feb 12 2019) : Micro USB of BT16CLOCK has bad connection.
Apparently Craig Bonsignore had about the same annoyances with standard clocks, that's why he built his own version. I'll start off from that design: adding features I miss and scraping off costs where needed.
✔ Modular design in hardware as well as software. Several components can easily be reused in other projects.
Block diagram
There has been chosen for a modular approach. The individual modules are small, cheap (<€1/pce) and can be reused in other projects.
Let's dig a little deeper into the different custom modules:
Electronics ready for mounting
Future extensions (unplanned)
- Wake up module, to be placed under the pillow. Its vibrations will wake you, even if you're deaf. It's a nice alternative to a very loud alarm which you're bed partner is not likely to appreciate.
- Wireless functionality to sync slave clocks around the house. Bluetooth GATT CTS (Current Time Service) may be of some use here.
Hi Christoph,
Your clock looks great! The Nextion display was a good idea as an HMI. It reduced the complexity for the firmware in as much that you were able to use a Arduino Micro to control it. It's great to see how much features can be set up on the display. Personally, I would limit the number of settings or hide some of them in an "advanced" menu. Many users won't need them, but that's personal taste.
The bulk of the development time on my project was spent on developing the UI. If I had to do it again, I would use an ESP32, clock sync through NTP and parameter setup through web pages with the ESP32 as webserver. This limits hardware costs and development time, but the user needs a smartphone, wifi and knowledge of how to access a webpage. This easy-alarm-clock can be setup by a 6 year old kid. When taking the ESP32 approach, the intended audience would be different.