This project stems from extensive work with epoch timestamps while using Splunk. Many applications store time in epoch notation, which led me to frequently convert between epoch time and standard formats. This inspired the idea to build a retro-style clock that displays the current date and time in epoch format.


Project Concept

Epoch time is currently represented as a 10-digit number and will remain so until reaching 9999999999 in about 262 years. Thus, the clock requires 10 digits to display the epoch time. Each digit of the 7-segment display contains 7 LEDs, which means at least:

  • 70 pins for the segments (10 x 7)
  • 80 pins if the dot symbols are also included

Why 7-Segment Displays?

To keep costs low and achieve a retro aesthetic, I sourced ready-made 7-segment units from eBay and AliExpress. These units are essentially diodes with either a common cathode or anode in a convenient package. However, they require:

  1. Current Drivers: To manage the power demands of the LEDs.
  2. Multiplexing: To control multiple digits with minimal resources.
Typical 7-Segment Diagram

Circuit Design: TPIC6B595 Power Shift Register

To drive the 7-segment displays from an Arduino, I designed a circuit using the TPIC6B595 high-power shift register. This IC combines an 8-bit shift register with integrated drivers capable of handling up to 150 mA per output. Its features make it ideal for this application:

  • 8-bit control for efficient multiplexing.
  • Integrated drivers eliminate the need for external components.
  • High output current capacity for powering the LEDs.

This design keeps the circuit compact and simplifies control logic. For detailed information, see Custom PCB.


Initial Prototype

Below is the front of the first prototype for the epoch clock. This design demonstrates the feasibility of the circuit and lays the groundwork for further iterations.

Front of epoch clock

Key Capabilities and Achievements

CapabilityDescription
Problem-SolvingNo prior experience with KiCAD or PCB design led to a lot of problems that needed to be solved along the way
Circuit DesignDesigned a compact and efficient circuit using TPIC6B595 power shift registers.
7-Segment IntegrationSourced and configured affordable 7-segment displays for optimal performance.
Efficient MultiplexingManaged 80 LEDs using minimal Arduino outputs.
Prototype DevelopmentBuilt and tested an initial prototype with room for future improvements.

This project showcases technical expertise in hardware design, problem-solving, and creative implementation of electronics to address real-world challenges.