Skip to content
/ Klok Public

A clock, minimalist, with the features and improvements I want to.

License

Notifications You must be signed in to change notification settings

fgutep/Klok

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Klok

Klok is a cyberpunk-inspired alarm clock that rejects the idea that electronics should be hidden.
Instead of plastic shells and invisible circuitry, Klok puts the PCB, components, and imperfections front and center.

This project is as much about design philosophy and learning through failure as it is about telling time.


Concept

Most digital clocks try to disappear.
Klok does the opposite.

  • Exposed traces instead of hidden wiring
  • Bulky through-hole components instead of flat SMD minimalism
  • A visible Arduino Nano instead of a sealed SoC
  • A non-rectangular PCB framed as an object, not a board

The result is a clock that looks unfinished on purpose—industrial, crude, and honest.


Design Philosophy

Embrace Rawness

  • Do not hide electronic components
  • Let depth, height, and shadows exist
  • Celebrate through-hole parts and hand-assembled character
  • Treat the PCB as the product, not something to be enclosed

Frame, Don’t Conceal

  • Custom PCB outline breaks away from rectangular norms
  • Enclosure adapts to the board, not the other way around

Features (Intended – V1)

  • 4-digit 7-segment display driven by MAX7219
  • Alarm functionality via piezo buzzer
  • Auto-dimming using photoresistor + PWM
  • 5-button control interface in cross layout
  • RTC support via external I2C module (JST)
  • LiPo-ready power input with external BMS support

⚠️ See Known Issues — not all features work in V1.


Hardware Overview

Core Components

  • Arduino Nano (ATmega328P)
  • MAX7219 LED driver
  • Common-anode 4-digit 7-segment display
  • Photoresistor with voltage divider
  • Piezo buzzer
  • 5× tactile switches (software debounced)
  • 2× JST connectors:
    • J1: Power input (1S LiPo + BMS)
    • J2: I2C (RTC module)

PCB

  • Version: V1.0
  • Two-layer PCB
  • Exposed component aesthetic
  • Custom non-rectangular outline

PCB Image


Known Issues — V1 (Critical)

⚠️ This version is non-functional and should not be manufactured.

1. I2C Connector (J2) — Completely Disconnected

  • SDA, SCL, VCC, and GND traces failed during manufacturing
  • Caused by:
    • Acid traps
    • No teardrops
    • Large manufacturing tolerances
  • Result:
    RTC cannot communicate → clock cannot keep time

2. Fourth Display Digit Not Updating

  • Last digit (minutes) does not respond
  • Issue persists even after manual trace jumping
  • Possible causes:
    • Severe pull-up / pull-down fault on MAX7219 input
    • Partial internal damage to the MAX7219 output stage

Status:
V1 is a learning artifact, not a working device.


Lessons Learned

This was my third densely populated two-layer PCB, and it shows.

Key mistakes:

  • No teardrops on critical traces
  • Poor routing created acid traps
  • Manufacturing tolerances not accounted for
  • Non-socketed MAX7219 made debugging nearly impossible
  • External RTC dependency introduced a single point of failure

Despite this, the concept, interaction model, and visual identity are solid.


Roadmap — V2 (Planned)

  • Replace Arduino Nano with ESP32
  • Wi-Fi NTP time sync (no external RTC)
  • Proper routing with teardrops and best practices
  • Socketed MAX7219 for debugging and replacement
  • Clean power architecture:
    • 5V for LEDs
    • 3.3V for MCU
  • Enclosure designed alongside PCB, not after

Repository Structure

.
├── V1 PCB/ # PCB files for first revision
├── Arduino-Notes/ # Firmware notes and experiments
├── img/ # Renders and PCB images

This repository exists to document the design, mistakes, and evolution of Klok. Klok comes from the Dutch / German word for “clock” — simple, direct, functional.
Much like the object itself.

About

A clock, minimalist, with the features and improvements I want to.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published