From 2be4c20c66eed4c0ce44a70add22ecdd33c7c700 Mon Sep 17 00:00:00 2001 From: MangaValk Date: Tue, 13 Oct 2026 00:07:16 +0200 Subject: [PATCH] Document that the relay also powers the Nano Co-Authored-By: Claude Opus 5.5 --- CLAUDE.md | 4 ++++ README.md | 13 ++++++++----- src/esp32/README.md | 3 ++- 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index 3f7cde2..d2be757 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -29,6 +29,10 @@ See README.md for the overview. s/S/F/D/P/B/R/T will be run as a command. - `src/esp32/secrets.h` holds the real credentials and is gitignored. Never commit it. Add new secrets to `secrets.example.h` as placeholders. +- The relay (ESP32 GPIO 13, `LOW` = on) powers both the panels and the Nano. Each time it + switches on, the Nano cold-boots: bootloader, then `begin()` flips every dot on and off. + Any data the ESP sends during that time is lost. The Nano keeps no state over a power + cycle except the flip time in EEPROM. - Hardware is not available here. Builds can be checked, but runtime behaviour can't. ## Nano serial parser (`src/nano/main.cpp`) diff --git a/README.md b/README.md index cfbb337..4909577 100644 --- a/README.md +++ b/README.md @@ -9,14 +9,17 @@ The system uses two microcontrollers: ┌──────────────┐ WiFi / MQTT ┌────────────────┐ UART 115200 ┌──────────────┐ GPIO ┌──────────────┐ │ Home │ ◄─────────────► │ ESP32 │ ──────────────► │ Arduino Nano │ ───────► │ Brose │ │ Assistant │ │ (controller) │ text commands │ (driver) │ │ flipdot │ - └──────────────┘ └───────┬────────┘ └──────────────┘ │ panels 84x19 │ - │ GPIO 13 └──────▲───────┘ - ▼ │ - ┌─────────────┐ display power │ - │ Relay │ ───────────────────────────────────────────────────┘ + └──────────────┘ └───────┬────────┘ └──────▲───────┘ │ panels 84x19 │ + │ GPIO 13 │ └──────▲───────┘ + ▼ │ power │ + ┌─────────────┐ │ │ + │ Relay │ ─────────────────────────────────┴─────────────────────────┘ └─────────────┘ ``` +The relay powers both the panels **and the Nano**. When the relay is off, the Nano is off +too, and it boots again each time the relay switches on. Only the ESP32 runs all the time. + | Part | Folder | What it does | |------|--------|--------------| | **Arduino Nano** | [src/nano](src/nano/README.md) | Drives the panel's row and column electronics directly. Keeps a frame buffer and flips only the dots that changed. Takes simple text commands over serial. | diff --git a/src/esp32/README.md b/src/esp32/README.md index a963afe..7683fd8 100644 --- a/src/esp32/README.md +++ b/src/esp32/README.md @@ -25,7 +25,8 @@ BROSE9323 driver is built with `-D ESPSERIAL`, so every GFX call is sent over `S - **Home Assistant** through MQTT (`home-assistant-integration` library) with two switches: - `FlipDotDisplayClock`: clock on, or the Nintendo logo when off - `FlipDotDisplayPower`: turns the display off through the relay -- **Relay on GPIO 13** switches the display's power supply. `LOW` turns it on. +- **Relay on GPIO 13** switches the power for both the panels and the Nano. `LOW` turns it + on. After switching on, the ESP waits 3 s so the Nano can boot before frames are sent. - **Status LED** (built-in) blinks fast when WiFi is down and slowly when connected. It is off at night or when the display is powered off.