According to General Relativity, we all experience finite amount of time dilation in our daily lives, depending upon our location, elevation, and velocity. At the speeds we travel at and the elevation we experience in everyday, time dilation is so small that it’s not detectable to us. But the high accuracy of atomic clocks have provided evidence for this effect even at our everyday speed. Cameron Meredith has shared an interesting project on Hackaday.io about using a rubidium atomic frequency standard to continuously track local time dilation effects relative to a reference GPS clock.
Rubidium standard RTC
This project uses a rubidium atomic frequency standard to continuously track local time dilation effects relative to GPS, and eventually the WWVB US atomic clock radio frequency signal. The idea is to continuously monitor and record the cumulative time deviation. An I2C multiplexer board allows for more than one RTC module (Since these have a hard coded I2C address you can normally only use one). I went for three – One tracking GPS time, another tracking the rubidium standard, and the last one as a control or reference clock – without compensation.
A Real Time Clock (RTC) is a timing element dedicated for keeping time. In many applications, especially where precise timed-operations are needed to be performed, a RTC is a very useful tool. Examples of such applications apart from clocks and watches include washing machines, medicine dispensers, data loggers, etc. Basically a RTC is a timer-counter but unlike other timers of a MCU it is much more accurate. Previous to this post, we explored STM32 timers but those were useful for applications like PWM generation, time-bases and other waveform-related tasks. Those were not suitable for precise time-keeping. In most 8-bit MCUs like the regular PICs and AVRs, there are no built-in RTC modules and so we need to use dedicated RTC chips like the popular DS1302 or PCF8563 when we need an on-board precise time-keeping device. Those chips also need some additional circuitry, wiring and circuit board space. At present, however, most modern MCUs come packed with literally every possible hardware a designer may think of. It is only up to a designer to decide which resources to use from a modern-era micro to meet a specific design goal. Gone are the days when MCUs were manufactured for application specific requirements and also gone are the days of implementing and involving multiple assets in a design. Thus cost, time and space are dramatically reduced, resulting smarter, sleeker and smaller affordable devices. Fortunately STM32s are in that list of those modern era microcontrollers. STM32 MCUs come with built-in RTC modules that require no additional hardware support. This tutorial covers basic features of STM32’s internal RTC and how to use it for time-keeping applications.
Organic light-emitting diode (OLED) displays are the coolest displays ever made. Check out this instructable on building an Arduino controlled OLED clock that uses a DS3231 RTC module for precise time-keeping. The DS3231 is a low-cost, extremely accurate I2C realtime clock (RTC) with an integrated temperature compensated crystal oscillator (TCXO) and crystal. The project incorporates a rechargeable battery to maintain accurate timekeeping during power failure. The implementation of an interactive menu system, which is navigated through two tact switches, the time setting becomes handy. The DS3231 module uses the built-in temperature sensor to compensate for clock drift due to temperature variation, which helps to keep the accuracy to 1 or 2 minutes/year. By default, the temperature is sensed and updated by the DS3231 once every 64 seconds. However, it is possible through software to update temperature reading and oscillator adjustment done as fast as 5 times/second. The temperature measurements are also displayed on the OLED clock screen. The author uses Adafruits Graphics library to drive the OLED display, which has the SSD1306 controller.
Arduino OLED clock
Word clocks are really cool. They tell the time using words. A neat thing about them is you can customize the display to show some personalized messages. Yes, TechKiwi’s new instructable is about making a personalized word clock gift, which displays the recipient’s name as well as some personalised messages such as birthday greetings. The project uses the Arduino Mega board as main controller and the DS3231 RTC chip for time-keeping.
Personalized word clock
If your design contains Microchip’s MCP79XXX series RTC chips and you are running into troubles using them, this technical brief is intended to resolve several of the commonly-asked questions regarding developing stand-alone serial interface real-time clock/ calendar devices with MCP79XXX. Similarly, there’s also another application note from Microchip which provides detail assistance and guidance in using these RTC devices.
RECOMMENDED CONNECTIONS FOR MCP794XX SERIES