Bracket for blinking LEDs and firmware for easier setup of clock

Based on the work from https://www.thingiverse.com/thing:5437453Added a bracket for 2x 5mm LED bulbs in-between the…
0
2
0
33
mis à jour 24 janvier 2026

Description

PDF

Based on the work from https://www.thingiverse.com/thing:5437453

Added a bracket for 2x 5mm LED bulbs in-between the minute and hour. Bulbs wire to the ESP chip. Here are the features I've added to the ESP firmware. -Using an ESP-12F (accidently purchased these, still works for this project.) -Followed the same steps as the original creator and made a small circuit board with the addition of the LED pinout

1/6/2026 Updated the software to add a few features and fix some bugs. All seems to be working now.

  1. Motion & Servo Control Smooth "Easing" Motion: Servos accelerate and decelerate naturally using a cubic spline algorithm, rather than jerking instantly to position. Adjustable "Smoothness": A web slider controls the easing percentage (0% = Robotic, 100% = Soft/Hydraulic feel). Dual Speed Settings: Standard Speed: Controls how fast digits change during normal counting (e.g., 1 -> 2). "9-to-0" Speed: A separate, slower speed setting specifically for the long transition from 9 back to 0 to prevent mechanical whipping. High-Definition Transitions: Long moves (9 -> 0) use 220 steps of resolution (up from the standard 60) to ensure the movement remains silky smooth even at very slow speeds. Per-Digit Calibration: You can fine-tune the exact angle (0-180°) for every single digit (0-9) on every single servo to ensure perfect alignment.
  2. Timekeeping Internet Time (NTP): automatically syncs with pool.ntp.org. Configurable Sync Interval: You can set how often the clock checks the internet for time corrections (1 to 24 hours). Timezone Support: Adjustable UTC offset. Daylight Savings Time (DST): Automatic adjustment for US-style Daylight Savings (March/November). 12/24 Hour Mode: Toggle between standard (12h) and military (24h) time. Date Awareness: Calculates and displays the current date based on your timezone settings.
  3. Web Interface (Dashboard) Host Name Support: Accessible via http://clock.local (no need to type IP addresses). Live Clock Preview: Shows the current time and date directly in the browser. Servo Graph: Visual bar charts showing the live position of all 4 servos. Live Testing: "Live Test" controls allow you to force a specific servo to a specific number to test alignment without messing up the clock time. Mobile Friendly: Adjustable sliders and large buttons for phone usage.
  4. Demo & Diagnostics Visual IP Address: On startup, the clock servos move to display the last section of its IP address (e.g., 0 1 0 5) so you can find it on the network. Demo Mode: A special mode that cycles all 4 servos sequentially from 0 through 9 repeatedly. This allows you to verify mechanical function and show off the clock without waiting for time to pass.

LED Status:

Heartbeat: Blinks once per second during normal operation. Fast Blink: Indicates the clock is in Demo Mode or Startup.

  1. System & Safety WiFi Manager: Creates a "Clock-Setup" hotspot if it can't find a known WiFi network, allowing you to enter credentials via your phone. Smart Delay System: The web interface remains responsive (you can click buttons) even while the servos are moving slowly. EEPROM Safety: Validates saved settings on boot. If memory is corrupted or values are dangerous (e.g., speed too high), it automatically resets to safe defaults.

Pinout for the servos and LEDs are found in the .INO and can be changed if necessary. Look for this at the top of the .INO

// Pins int servoPin[SERVO_COUNT] = {5, 4, 14, 12}; const int ledPin = 1;

UPDATE 1/10/2026 Made some changes to the software. Added an AM/PM LED and some backlighting. These are configurable in the web UI. Also changed how calibrating each number's position works. It's much easier now. After making changes, click on the "save and reboot" button.

Component,Function,GPIO Pin,Board Label,Wiring Notes Servo 0,Left Digit (Hours 10s),GPIO 5,D1,Signal Wire (Orange/Yellow) Servo 1,Hours 1s,GPIO 4,D2,Signal Wire Servo 2,Minutes 10s,GPIO 14,D5,Signal Wire Servo 3,Right Digit (Minutes 1s),GPIO 12,D6,Signal Wire PM LED,Indicates PM Time,GPIO 13,D7,Needs Resistor (220Ω) → GND Backlight,Dimmable Light,GPIO 15,D8,Needs Resistor → GND. Must NOT be High at boot. Movement LED,Flashes when moving,GPIO 2,D4,Use Built-in LED (No wiring needed) Heartbeat LED,Flashes every second,GPIO 1,TX,Needs Resistor → GND. Flashes during upload.

Category: Other

Tags



Origine du modèle

L'auteur a marqué ce modèle comme sa propre création originale. Importé de Thingiverse.

Licence