Tag Archives: real-time clock

STM32’s internal RTC

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.


Read more

Software realization of Real-Time Clock and Calendar

Dedicated real-time clock and calendar (RTCC) chips are useful in a wide range of embedded applications, such as data loggers, for accurate time-stamping of data measurements. The use of external RTCC chip frees the main processor from timekeeping responsibility and to perform other critical tasks. However, for small applications the software realization of RTCC in the main application can simplify the design and reduce the overall cost of the system. This application note from Microchip describes the implementation of software RTCC using PIC16F1827 microcontroller. The implementation provides the time (seconds, minutes, and hour), date (day, month, and year), day of week, and one alarm signal. The basis of this implementation of RTCC is the Timer1 counter, which is driven by an external 32.768 kHz crystal. The Timer1 counter can operate during Sleep mode, which helps to reduce the power consumption of the overall application if it is to be powered from a battery.