Close

Alarm display

christoph-tackChristoph Tack wrote 10/06/2019 at 09:02 • 2 min read • Like

Alarm display

Many silly alarm clocks don't show the alarm time by default.  You only see a dot indicating there's an alarm active.  To view the alarm time, some buttons need to be pressed.

To distinguish it clearly from the clock time, a smaller LCD display will be used.  It will allow to verify the alarm time before going to sleep.  It doesn't hinder that the alarm time can't be read without eye glasses.

TM1637 modules

A chinese 7-segment 4 digit module with TM1637 driver is very cheap.  Costing €0.51, it's only €0.10 more expensive than a bare 7-segment 4 digit display.  There's little to be gained by integrating the driver and the display on the main board instead of using a module.

These modules use a custom protocol that resembles I²C, but is not compatible to it.  So you'll need to sacrifice two digital IO-pins for this module.  Luckily someone wrote a driver already (Adafruit LED Backpack Library) to interface these modules to your microcontroller.

HT16K33 modules

Adafruit's LED backpacks are based on this one.  Most of the modules are sold without LED display.  If you want one with display, you'll pay €1.90 on AliExpress.

I don't know how thought it was a good idea to make the mounting holes so small.  You need to drill them out to put a 2.5mm screw through them.

This module has an I²C interface.

Nokia 5110 module

This module has an SPI interface.  It requires 5 IO connections.

OLED displays

Very bright, but small.  These cheap modules will also be very susceptible to screen burn-in.  This makes them less suitable for this application, where the alarm time will be shown continuously.

Like

Discussions

Christoph Tack wrote 12/29/2019 at 15:35 point

Hi Ken, thanks for the correction.  I have been using such a module for some months now using Adafruit's LED Backpack library.  And yes, it's connected to 2 GPIOs, not to I²C.

  Are you sure? yes | no

Ken Yap wrote 12/28/2019 at 22:06 point

>The annoying thing about this TM1637 is that it doesn't have an I²C slave address.  It can't be used with other devices on the same I²C bus, unless you use some kind of I²C multiplexer.

That's because it isn't using the I²C protocol. https://green-possum-today.blogspot.com/2018/10/a-comparison-of-tm1637-protocol-with.html

  Are you sure? yes | no