Skip to content

2025 One Hertz Challenge: The Real-Time Clock Upgrade the VIC-20 Lacked

The Commodore VIC-20, similar to early microcomputers, lacked an internal real-time clock. However, David Hunter has addressed this issue by creating an add-on module to equip the system with a real-time clock.

Real-Time Clock Advancement in 2025: A feature the VIC-20 Lacked Previously
Real-Time Clock Advancement in 2025: A feature the VIC-20 Lacked Previously

2025 One Hertz Challenge: The Real-Time Clock Upgrade the VIC-20 Lacked

In the world of retro computing, a new project has caught the attention of enthusiasts – a real-time clock (RTC) add-on for the Commodore VIC-20. Developed by David Hunter, this innovative solution uses an Arduino Uno, a Dallas DS3231 RTC module, and an IEC driver by Lars Pontoppidan.

The inspiration for this project comes from a product from Hayes that offered a serial-port based real-time clock solution for computers without one. David Hunter's project is an entry for the 2025 One Hertz Challenge, but it does not offer any details about other potential systems it might work on.

The core idea is to interface the DS3231 RTC's accurate timekeeping capabilities with the VIC-20's serial IEC bus via an Arduino acting as a bridge. The Arduino communicates with the DS3231 RTC module to retrieve real-time clock information and emulates an IEC device using Lars Pontoppidan’s IEC driver code, enabling the VIC-20 to request and receive time data over its standard IEC interface.

Hardware setup involves connecting the DS3231 RTC module to the Arduino Uno via I2C (using the Arduino’s SDA and SCL pins) and connecting the Arduino to the VIC-20’s IEC port lines using appropriate level shifting and wiring to match the IEC bus protocol voltages and signals.

On the software/firmware side, an Arduino sketch uses the I2C interface to read current time from the DS3231 RTC. The IEC bus protocol is implemented with Lars Pontoppidan’s IEC driver code, which handles the communication with the VIC-20. The Arduino responds to the VIC-20’s queries, providing the current time in a format the VIC-20 can understand, effectively acting as a slave device on the IEC bus.

On the VIC-20 side, software routines or programs can be written to access the RTC data from the IEC add-on, allowing the use of real time in VIC-20 applications and games.

This RTC add-on by David Hunter was reported recently (August 2025), confirming the working design and providing the modern solution to the VIC-20’s lack of internal RTC. Unfortunately, detailed schematics, exact Arduino code, and wiring specifics are not fully detailed in the available summary but are attributed to David Hunter's development using the Dallas DS3231, Arduino Uno, and the IEC driver by Lars Pontoppidan.

For full implementation details, including wiring diagrams and source code, contacting the author David Hunter or exploring linked Commodore community resources might be necessary, as current publicly available articles primarily highlight the project overview and its achievement rather than step-by-step instructions.

This project could potentially solve clock-based problems for the VIC-20 and might inspire interest in real-time clock hacks for other systems, such as the Raspberry Pi. Readers are encouraged to share their own nifty timekeeping projects. The project is compatible with the IEC bus and can be daisy-chained with printers and disk drives.

David Hunter has not tested the project with a Commodore 64, but suspects it should work on that platform as well. However, the project does not provide explicit information about its compatibility with the Commodore 64. The real-time clock solution provided by David's add-on module is not built into the Commodore VIC-20’s system. The project provides a real-time clock source for programs written in Commodore BASIC. The IEC driver enables the Arduino to communicate the time to the VIC-20 via its IEC port.

In summary, David Hunter's project involves using an Arduino Uno as an IEC slave device on the VIC-20 serial bus, reading accurate time from the DS3231 RTC module via I2C, serving the real-time clock data over the VIC-20 IEC bus to the computer system, and allowing VIC-20 users to access accurate time without internal hardware changes.

  1. The RTC add-on project by David Hunter, built around an Arduino Uno and a Dallas DS3231 RTC module, could potentially inspire real-time clock hacks for other systems, like the Raspberry Pi, showcasing the versatility of technology in the world of gadgets.
  2. This VIC-20 real-time clock add-on, though not explicitly tested on the Commodore 64, is suspected to be compatible with that system, further broadening the scope of data-and-cloud-computing possibilities for various retro computing gadgets.
  3. Beyond the VIC-20, the application of microcontrollers like the Arduino in technology can stretch to various hardware projects, especially when combined with modules like the Dallas DS3231 RTC, blurring the lines between retro and modern computing devices.

Read also:

    Latest