“This project is about building your own micro controller hardware and software. The micro controller is the Arduino Nano. The development software platform is either PlatformIO or Arduino development studio.
After years of programming mainframes, mini-computers, and desktop computers I decided to try micro controllers. My choice was Arduino nano micro controller. I selected two projects: the WayIn Real Time Clock Kit (Project Link) , and building your own digital thermometer by Barry Lim (Project Link)
I purchased the Arduino real time clock kit and the parts needed for the building your own thermometer. I wired the breadboards, installed the software, and got the two projects working. However, I found the software overly simplistic. I decided to combine the two projects into one and add new features. In other words, I rewrote the software pushing it against the limit of available memory. The user can select date and time display styles, temperature units and set alarm clock time and duration. The user can set the current date and time. The software will calculate the day of the week. In total there are 13 setup screens. The permanent values of the setup are saved into non-volatile EEPROM. The Arduino nano is based on the ATmega328 microcomputer. It has only 2K bytes of SRAM memory. One must program carefully to ensure some free stack space is available. The attached software saves the setup screens text in program memory (PROGMEM) to save SRAM.”