In Brief
This project exists because I really liked the display & wanted to make something with it. A clock was the easiest way to get started and after developing some basic demo software, the idea stuck.
Of course being a project for fun, it’s entirely overdone for a clock. Users can set alarms, timers, a stopwatch, view a world clock, see readings from onboard sensors, adjust a large variety of settings, and more!
There have been many iterations to get to the version you see here; I consider this hardware version 3.1.
Hardware Overview
Computer: Arduino Mega 2560 Rev 3
User Interface (i/o):
240x64 Graphic LCD
12mm Square Tactile Button Switch
(5 buttons used)
Yellow
Blue
Red
Software is designed to work with either 1 or 2 of these (2 preferred)
Case & Power:
Case (3d printed)
Body 5.0a (click to download .stl file for printing)
This body has cutouts on top for the light sensors & piezo buzzers
Body 5.0b (click to download .stl file for printing)
This body has a minimal top, with only cutouts for the buttons & leds
Face 2.0 (click to download .stl file for printing)
This fits tight on the display, but it will give a good friction fit
I just use 4 screws that fit into the holes in the body model to connect the two halves; you may want to change the body model yourself to have a more standard screw hole size
Supply
I like the old Apple 5v USB wall adapters, but any 5v kind will do
Input Jack
The most appropriate thing to use is a USB type ‘B’ female port on the back & use a USB type ‘A’ to type ‘B’ cable; I have made the model so as to accept a USB type ‘A’ female port instead as I have a number of type ‘A’ male to type ‘A’ male cables (you may want to change the model if you don’t like that) (reference)
Sensors: (optional)
DHT22 (temperature & humidity)
This is deprecated (I’m no longer using it in my builds, however the software still supports using it)
BME280 (temperature, humidity, & pressure)
This makes the DHT22 redundant
CCS811 (co2 & tvoc)
This is getting harder to find, you’ll notice my above link is for a discontinued product. I will be finding a replacement in the future
LSM303 (compass)
The variant I have been using (linked above, it’s the DLHC) is now discontinued; any LSM303 family member chip should work fine (I’ll be looking for a replacement in the future)
VEML6070 (uv index)
This is deprecated (I’m no longer using it in my builds as I don’t feel this sensor is accurate at all, however the software still supports using it)
VEML7700 (ambient lux)
Supporting Components:
DS3231 (real time clock)
Note that my i/o board actually uses the chronodot, but I’m moving away from this for the smaller version I linked above
FRAM 256kb (long term storage)