Releases: XE1E/Clockwise-XE1E
Release list
Firmware 2.0.0-beta.2 (20260702)
Firmware Build
- Version: 2.0.0-beta.2
- Commit: c1d25a2
- Date: 20260702
- Branch: main
Supported Boards
- ESP32 (esp32doit-devkit-v1)
- ESP32-S3 (esp32-s3-devkitc-1)
Changes
fix(editor): cambiar default presion a mb con checkbox para hPa
- Default ahora es mb (milibar) en vez de hPa
- Checkbox "Usar hPa" para cambiar a hectopascal
- Actualizar firmware y documentacion
Co-Authored-By: Claude Opus 4.5 noreply@anthropic.com
Installation
- Download the firmware for your board
- Use Web Flasher or esptool to flash
Firmware 2.0.0-beta.2 (20260702)
Firmware Build
- Version: 2.0.0-beta.2
- Commit: badf285
- Date: 20260702
- Branch: main
Supported Boards
- ESP32 (esp32doit-devkit-v1)
- ESP32-S3 (esp32-s3-devkitc-1)
Changes
feat(editor): documentar formatos DateTime y agregar presUnit al sensor
- Documentar formatos faltantes en tabla DateTime: M (mes corto),
y (año corto), j, D, l, F con ejemplos - Agregar seccion Sensor (BME280) al manual con propiedades y ejemplos
- Agregar selector hPa/mb para unidad de presion en editor
- Soportar presUnit en firmware para mostrar "hPa" o "mb"
Co-Authored-By: Claude Opus 4.5 noreply@anthropic.com
Installation
- Download the firmware for your board
- Use Web Flasher or esptool to flash
Firmware 2.0.0-beta.2 (20260612)
Firmware Build
- Version: 2.0.0-beta.2
- Commit: 45dab61
- Date: 20260612
- Branch: main
Supported Boards
- ESP32 (esp32doit-devkit-v1)
- ESP32-S3 (esp32-s3-devkitc-1)
Changes
chore(version): 2.0.0-beta.1 -> 2.0.0-beta.2
Incluye el sensor ambiental BME280 (T/H/P). CW_FW_VERSION en ambos
entornos + ejemplo en la guia de migracion.
Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com
Installation
- Download the firmware for your board
- Use Web Flasher or esptool to flash
Firmware 2.0.0-beta.1 (20260612)
Firmware Build
- Version: 2.0.0-beta.1
- Commit: 855ee24
- Date: 20260612
- Branch: main
Supported Boards
- ESP32 (esp32doit-devkit-v1)
- ESP32-S3 (esp32-s3-devkitc-1)
Changes
feat(webui): config del sensor BME280 + pinout en manual (fase 5)
- WebUI.h: tarjeta "Sensor Ambiental (BME280)" en pestana Pantalla
(habilitar, SDA/SCL con hint, direccion 0=auto, unidad C/F, boton
"Leer sensor" via /api/sensor); saveDisplay guarda los campos; carga
de settings poblada - WebUI_gz.h regenerado con tools/gzip_webui.py
- MANUAL_USUARIO.md: subseccion Sensor Ambiental + seccion Conexiones de
Hardware (Pinout) con tablas HUB75/LDR/BME280 por placa
Compila en esp32dev y esp32s3.
Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com
Installation
- Download the firmware for your board
- Use Web Flasher or esptool to flash
Firmware 2.0.0-beta.1 (20260612)
Firmware Build
- Version: 2.0.0-beta.1
- Commit: 3dc22e8
- Date: 20260612
- Branch: main
Supported Boards
- ESP32 (esp32doit-devkit-v1)
- ESP32-S3 (esp32-s3-devkitc-1)
Changes
feat(fonts): glifo de grado en 0x7F para medium/big/tiny5 (fase 4)
El grado va en 0x7F (extender rango +1) en vez de 0xB0, que obligaria a ~50
glifos de relleno por la contiguidad de Adafruit GFX. Firmware (getSensorText)
y editor (getDisplayText) emiten el byte 0x7F.
- scripts/add-degree-glyph.js: append-only, idempotente, auto-dimensiona el
glifo desde el digito '0'; parchea .h del firmware y pixel-fonts.js - Aplicado a medium (minute7pt7b), big (hour8pt7b), tiny5 en ambos lados
- Compila en esp32dev y esp32s3
Pendientes (casos especiales): picopixel (formato fontconvert), tomthumb
(#if en arrays), square (editor solo 0x3A), 8x13/haxor-12 (no en editor).
Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com
Installation
- Download the firmware for your board
- Use Web Flasher or esptool to flash
Firmware 2.0.0-beta.1 (20260612)
Firmware Build
- Version: 2.0.0-beta.1
- Commit: 25d78cc
- Date: 20260612
- Branch: main
Supported Boards
- ESP32 (esp32doit-devkit-v1)
- ESP32-S3 (esp32-s3-devkitc-1)
Changes
feat(sensor): render type:"sensor" en caratulas (fase 2)
- JsonClockface::getSensorText(): formatea source temp/hum/pres con
decimals/unit, conversion C/F, grado como byte 0xB0, "--" si no hay sensor - JsonClockface::refreshSensors(): itera setup+loop por type:"sensor",
render cada 1s via renderText; llamado en clockfaceSetup() y update() - iaq devuelve "--" (reservado para futuro BME680+BSEC)
Compila en ambos entornos. El glifo del grado se agrega en fase 4 (fuentes).
Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com
Installation
- Download the firmware for your board
- Use Web Flasher or esptool to flash
Firmware 2.0.0-beta.1 (20260612)
Firmware Build
- Version: 2.0.0-beta.1
- Commit: f3872bd
- Date: 20260612
- Branch: main
Supported Boards
- ESP32 (esp32doit-devkit-v1)
- ESP32-S3 (esp32-s3-devkitc-1)
Changes
feat(sensor): BME280 ambiental (T/H/P) - firmware base (fase 1)
Mismo codigo para ESP32dev y ESP32-S3; solo cambian los pines I2C default.
- CWSensor.h/.cpp: singleton, autodeteccion 0x76/0x77, modo forzado (evita
autocalentamiento), polling 30s, getIaq() stub para futuro BME680+BSEC - platformio.ini: Adafruit BME280 + Unified Sensor; CW_SENSOR_SDA/SCL_DEFAULT
por placa (21/22 dev, 10/9 s3; el GPIO8 lo usa el display en S3) - CWPreferences: sensorEnabled/Sda/Scl/Addr, tempFahrenheit (NVS)
- main.cpp: init en setup() (si habilitado) + update() en loop()
- CWWebServer: GET /api/sensor + campos en /api/settings y /api/set
Deshabilitado por defecto; se activa por web UI (cambios requieren reinicio).
Compila en ambos entornos. Falta prueba en hardware real.
Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com
Installation
- Download the firmware for your board
- Use Web Flasher or esptool to flash
Firmware 2.0.0-beta.1
Firmware 2.0.0-beta.1
Release semántico (legible) de esta versión. Equivale al pre-release fechado v20260610.2319.
Placas soportadas
- ESP32 (esp32doit-devkit-v1)
- ESP32-S3 (esp32-s3-devkitc-1, N16R8)
Cambios en esta versión
- WebUI: el campo "Pin LDR" muestra el default según la placa (GPIO 35 en ESP32, GPIO 1 en ESP32-S3) con hint dinámico.
- Docs: manual de configuración cubre ambas placas; doc de migración S3 con LDR en GPIO 1 (ADC1) y esquema del divisor de tensión.
- Web-flasher: imagen del ESP32-S3 reparada (ahora merged/factory que arranca correctamente).
- Limpieza: eliminado
WebUI_minimal.h(código muerto).
Instalación
- Web Flasher (recomendado): https://xe1e.github.io/Clockwise-XE1E/web-flasher/
- esptool (manual):
- ESP32 (app): flashear
firmware-esp32-2.0.0-beta.1.binen offset0x10000(con bootloader/particiones/boot_app0). - ESP32-S3: usar
firmware-esp32s3-2.0.0-beta.1-merged-factory.binen offset0x0(imagen completa autocontenida), o la appfirmware-esp32s3-2.0.0-beta.1.binen0x10000.
- ESP32 (app): flashear
Firmware 20260525
Firmware Build
- Commit: aa09454
- Date: 20260525
- Branch: main
Supported Boards
- ESP32 (esp32doit-devkit-v1)
- ESP32-S3 (esp32-s3-devkitc-1)
Changes
fix: remove M5Stack.h dependency for ESP32-S3 compatibility
Font headers had conditional includes that broke ESP32-S3 builds.
Simplified to always use gfxfont.h which is the correct dependency.
Co-Authored-By: Claude Opus 4.5 noreply@anthropic.com
Installation
- Download the firmware for your board
- Use Web Flasher or esptool to flash
Firmware 20260523
Firmware Build
- Commit: 56de949
- Date: 20260523
- Branch: main
Supported Boards
- ESP32 (esp32doit-devkit-v1)
- ESP32-S3 (esp32-s3-devkitc-1)
Changes
@
fix: change maze color every 30 resets instead of every reset
Co-Authored-By: Claude Opus 4.5 noreply@anthropic.com
@
Installation
- Download the firmware for your board
- Use Web Flasher or esptool to flash