--- # Workspace instructions for the KeyPatch ESP8266 project This project is a PlatformIO/Arduino sketch for an ESP8266 (Wemos D1 mini) that implements a captive-portal Wi‑Fi configurator, filesystem manager, and NeoPixel handler. The code is organised into multiple `.ino` tabs under `src/` and uses several libraries (LittleFS, ESP8266WebServer, DNSServer, Adafruit NeoPixel, PCF8575, etc.). ## Building and flashing - Build with PlatformIO via the task or from the command line: ```powershell & "C:\Users\User\.platformio\penv\Scripts\platformio.exe" run ``` or `pio run`/`platformio run` from a shell that has the `platformio` command. - Upload to the board using `platformio run -t upload` or through the built-in VS Code task. - If you see `exit code 1` from the upload task, the problem is generally a connection issue to the device, not a compilation error; the project compiles cleanly with the current sources. ## Code conventions - All Arduino headers are included in the main tab (`KeyPatch.ino`). Helper tabs such as `Connect.ino`, `LittleFS.ino`, etc. depend on those includes being present. - `setup()` must call `connectWifi()` and `setupFS()` as indicated in the comments. - Serial debugging is used heavily; the baud rate is 115200 by default. - When the soft‑AP named `EspConfig` is started, the IP address is printed to the serial monitor (e.g. `AP-IP-Adresse: 172.217.28.1`). ## Common tasks 1. Change Wi‑Fi parameters in `Connect.ino` or use the captive portal. 2. Upload `fs.html` via the web interface to manage LittleFS content. 3. Edit hardware configurations under `hardware/` (FreeCAD files). ## Troubleshooting - Compilation errors are rare; if you encounter them, run the verbose build (`platformio run -v`) and inspect `compile.log` for `error:` messages. - LittleFS operations require `LittleFS.begin()` to succeed; the helper tab `LittleFS.ino` includes debug prints. ## Personalisation This file is intended to help any contributor or future self understand the project layout, build commands, and where to look for the various features. Feel free to update it with new instructions as the sketch evolves. ---