Close
0%
0%

Most complex blinking light in the world...

A relay based computer is used as a flashlight to participate in the One Hertz Challenge...

Similar projects worth following
A system based on a 16 bit relay CPU was programmed to switch a 220V lamp on and off once per second. The oscilloscope screenshot in the log shows that the one-second interval was achieved with 1% accuracy.


You can find a video of the 1-hertz blinking light in the project description and also in the first entry of the logbook.

For more details about the complete project, including a project log with more than 100 log entries, see my relay CPU project:

Homepage of the relay CPU project

This video, supported by further details in the log section, serves as my entry for the 1 Hertz Challenge.


And below are some technical details about the system.

The following picture shows you an overview about the complete system.

The following diagram shows the logical structure of the 16 bit relay CPU. It was built around an accumulator. A special feature is that the program counter has its own +1 adder. There is also a register that can store a return address, enabling one level of subroutine support.

The command set of the CPU:

And now you see some pictures of the different module boards. The first one here is the control board:

The following board is responsible for address calculation:

Here you can see the complete ALU, the accumulator register, and the branch logic. The green PCBs make up the 16-bit ALU, while the small boards at the bottom implement both the branch and carry logic.

Here is the input/output decoder, the 16-bit output register, and the contactor, which switches the lamp.

At the very bottom, we find the memory implemented using an Arduino, as well as the clock generator, which is also built with a separate Arduino.

RelayComputerCircuitDiagram120725.pdf

Circuit diagram of the system

Adobe Portable Document Format - 1.54 MB - 07/19/2025 at 07:45

Preview

  • Submit for the One Hertz Challenge

    Peter07/18/2025 at 19:37 0 comments

    The following video shows a 220-volt lamp being switched on and off by the relay system at a frequency of 1 hertz, accurate to within 1%

    This oscilloscope trace demonstrates the precision of the timing: the rising edges occur at intervals of 1.01 seconds.

    And here you see a picture of the new output-module of the relay system. The new memory mapped output register is located at memory address 2.

    And this was the programm to switch on/off the lamp:

    daten[0] = 0x4000;    // BA

    daten[1] = 3;

    daten[3] = 0x3540;    // NOT

    daten[4] = 0x0000;

    daten[5] = 0x2800;    // STAM

    daten[6] = 0x0002;

    daten[7] = 0x3540;    // NOT

    daten[8] = 0x0000;

    daten[9] = 0x2800;    // STAM

    daten[10] = 0x0002;

    daten[11] = 0x3540;    // NOT

    --- and so on until end of memory ---

    The system is not fast enough to switch on/off the lamp using a loop...

View project log

Enjoy this project?

Share

Discussions

David Plass wrote 07/20/2025 at 22:46 point

Love it! I presume you didn't create the whole CPU just for the 1Hz challenge.

  Are you sure? yes | no

Does this project spark your interest?

Become a member to follow this project and never miss any updates