Skip to content

Advanced Customisation

The AL60 is designed with open standards in mind. While it works perfectly as a standalone clock, its true potential is revealed when you dive into its firmware and integration options. At its core, the AL60 uses a powerful ESP32 C3 microcontroller running firmware built with ESPHome.

We believe in the Right to Repair and the freedom to customise. Almost every aspect of the AL60's behaviour can be modified, from the way it renders the clock hands to the sounds its buzzer makes. You can:

  • Modify the Firmware: Change the ESPHome YAML configuration to adjust existing features and preferences, or extend the C++ external component to add new features.
  • Extend the Hardware: The internal I²C bus is accessible for adding additional sensors.

The AL60's firmware is modular. It consists of a core ESPHome YAML configuration, additional package files, and a custom external component. You can find the full source code on the GitHub project.

  • al60.yaml Main device configuration
  • al60_factory.yaml Factory firmware configuration
  • Directorycomponents/ring_clock/ Ring Clock external component
    • __init__.py
    • ring_clock.h
    • ring_clock.cpp
  • Directorypackages/
    • al60_core.yaml ESP and Wi-Fi setup
    • al60_inputs.yaml Button and mode logic
    • al60_light.yaml LED ring and effect definitions
    • al60_sensors.yaml Environmental and motion sensor setup
    • al60_time.yaml SNTP and RTC management
  • Directoryblueprints/ Templates for Home Assistant automations

The ring_clock custom component is the "brain" of the display. It handles:

  • Dual Ring Rendering: Mapping 108 LEDs into two concentric rings.
  • State Machine: Managing the transitions between time, timer, stopwatch, and sensory modes.
  • Physics-based Fading: Smooth animation logic for "Hands".

While the AL60 comes ready to use, you may wish to modify and compile the firmware yourself to unlock advanced customisations or manage the device entirely offline.

This method allows you to make small changes to the clock's configuration. It uses remote packages, meaning your clock will automatically pull the latest NIX labs features and fixes.

  1. Ensure you have the ESPHome Device Builder installed and open your Dashboard.

  2. Look for a new device card labelled al60 under the "Discovered" section. Click Adopt.

  3. Give your device a permanent name and enter your Wi-Fi credentials.

  4. ESPHome will perform an initial "Install." This links the device to your dashboard for future wireless (OTA) updates.

  5. Once finished, the device card will turn green, indicating it is online and managed by your local dashboard.

To add bluetooth functionality in Home Assistant add the followin lines to your al60.yaml file:

esp32_ble_tracker:
bluetooth_proxy:
active: true