# Multimodal Clock

592

3

I love clocks! I was looking for an instructable for a clock displaying roman numerals on screen. When i did not get any suitable ones on arduino base, i decided to build one myself. Coupled with a color TFT display, I was wondering what else can be displayed and viola! thoughts of various number systems studied in my bachelor of engineering college days (more than 2 decades back!) came rushing in:Binary, Digital, Octal & Hexadecimal etc etc

This though got me started and after much planning & coding, here is the implementation t!

Distinctive features of this clock:

• Multi-modal display where you can have time shown in 5 various number systems in one screen or each number format shown in separate screens selected by a push button.
• The clock face orientation can be on any 4 sides and the data on display can aligned to the orientation using a push button. Later i intend to use a gyro/acceleration sensor to orient the display based on the side it is turned on.

Modes available

• Digital
• Roman
• Hexadecimal (Base 16)
• Octal (Base 8)
• Binary (Base 2)

For someone new to these numbering systems here are the links from the net

### Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

## Step 1: Parts Required:

Items needed:

• Arduino UNO/Nano or equivalent
• TFT Display:1.44 inch 128*128 SPI display based on IL9163 (ordered long back via aliexpress) (RED PCB)
• DS 3231 RTC module
• Push button switches 2
• Breadboard, PCB,connecting wires
• Optional: Soldering iron,General purpose connecting wires and a suitable enclosure (I am yet to decide one for this clock)

## Step 2: Assemble the Circuitry

Use these connections between the RTC & Arduino. Refer to the hand drafted schematic picture for reference.

• DS3231----Arduino
• SDA-->A4
• SCL-->A5
• Vcc--> 5V (from Arduino)
• GND-->GND (from Arduino)
• Arduino----TFT display
• 9-->A0
• 10-->CS
• 11-->SDA
• 13-->SCK
• Arduino connections
• Vcc-5v
• GND-GND
• 2-->GND via push button (Display mode change button-Bin/Hex/Dec/All)
• 3-->GND via push button (Display orientation change button)
• Display connections
• VCC-->3.3V (from Arduino)
• GND-GND
• RESET-->3.3V
• LED-->5V (from Arduino)

## Step 3: Upload the Code!

Use the attached .ino file for the entire code with comments which are self explanatory!

## Step 4: Enjoy Your Creation and Plan Future Improvements

You have a beautiful and geeky clock on your desk and there's lots of room for new ideas

• Change display or refresh only specific parts of the screen to make display refresh faster (this current implementation sometimes misses displaying a second due to the refresh of the whole screen)
• Add a gyro/accelerometer board and associated code to adjust the display rotation to match the enclosure orientation
• Let your imagination run wild...

Last but not least,if you like my clock do vote for it in the Clocks Contest running currently

Participated in the
Clocks Contest

## Recommendations

• ### Internet of Things Class

22,790 Enrolled