Glowing ring. Scrolling news.

LedTick combines the charm of analog LED scales with a modern scrolling ticker. Around the dial, a ring of LEDs shows time like a classic dashboard; inside, a bright scrolling display can show anything – from the time and compass heading to Bluetooth messages from your phone. Open source, fully customizable, and made for tinkerers.

Features

  • Analog LED Display

    • 60 green LEDs for minutes/seconds (minute accumulation, second flash).
    • 12+12 bicolor LEDs for hours (day/night colors, only one lit at a time).
    • Central 7×13 LED matrix for scrolling text.

  • Scrolling Matrix

    • Shows current time H:MM.SS without leading zero (e.g., 8:05.30).
    • In compass mode: shows azimuth and direction (e.g., 123° N).
    • Low battery warning: LOW.
    • Test mode: SDYWATCH V1.0 (triggered by both buttons).

  • Buttons (PB1, PB2)

    • PB1: force deep sleep (single press) or cancel alarm.
    • PB2 long press (500ms): switch between clock / compass mode.
    • Both buttons simultaneously: test vibration + show test message.

  • Vibration Motor

    • Pulse on alarm, NTP success, button test. Configurable duration.

  • Accelerometer (LIS3DH)

    • Detects single taps (threshold adjustable).
    • Tap resets inactivity timer (prevents sleep while moving).

  • Compass (QMC5883L)

    • Calibrated azimuth reading.
    • Displays angle and 8‑point direction on matrix; red hour LED points north.

  • Battery Monitoring (ADC1_CH7, GPIO34)

    • Measures voltage every 10s with median filter (3 samples).
    • Low battery threshold (ADC < 1900 mV ≈ 3.2 V): shows LOW and disables other LEDs.
    • External power threshold (ADC ≥ 2200 mV ≈ 3.7 V): disables auto sleep.

  • NTP Time Synchronisation

    • On cold boot, connects to Wi‑Fi, obtains UTC, sets RTC.
    • Countdown of remaining attempts (e.g., 40) shown on matrix.
    • Vibrates on success, Wi‑Fi turned off afterwards.
    • On wake‑up from sleep, NTP is skipped (RTC time used).

  • Deep Sleep

    • Automatic sleep after 20 seconds of inactivity (except when on external power).
    • Wake‑up by PB1 (or accelerometer, configurable).
    • Saves current mode (clock/compass) in RTC memory.

  • Three Alarms

    • Configurable via UART console.
    • Each alarm has hour, minute, message, enable/disable flag.
    • When triggered: message scrolls on matrix, vibration pulses every 10s for 1 minute.
    • Cancel by PB1 or after the minute ends.

  • UART Console (115200 baud)

    • Built‑in REPL with commands:
      • alarm_show – show all alarms
      • alarm_set <1..3> <hour> <min> [message] – set alarm time and optional message
      • alarm_enable <1..3> <0/1> – enable/disable alarm
      • help – list all commands

  • Configurable Brightness

    • Separate LED_ON_TIME_MINUTE, LED_ON_TIME_HOUR, LED_ON_TIME_MATRIX
    • Refresh rate ≈ 60 Hz.
2 weeks ago

Design

Simple square case

  • RP2040 based hardware
  • 42 mm PCB case
  • Tempered glass 9H cover
  • 12.5 mm height
  • 22 mm NATO strap
  • Two buttons
  • Type-C

Submarine porthole case

  • ESP32-PICO-D4 based hardware
  • WiFi / Bluetooth
  • 42 mm PCB case
  • Tempered glass 9H cover
  • 16.3 mm height
  • 22 mm NATO strap
  • Two buttons
  • Magnetic Type-C

1 week ago