# Design: Touch sensor HS-S43A migratie + S3R referenties opruimen > **Issue:** [#5](https://git.eddydevink.nl/eddy/Project_SylDa/issues/5) — Verwijder internal pullups voor touch sensors > **Datum:** 2026-08-01 ## Aanleiding De touch sensoren zijn vervangen van JR223B (open collector/drain, heeft pullup nodig) naar **HS-S43A** (digitale output 0/1, actief = HIGH, geen pullup). Daarnaast bevat de documentatie verouderde verwijzingen naar "Atom S3R Voice" — de hardware is inmiddels **M5Stack Atom S3 Lite** (board `esp32-s3-devkitc-1`). ## Wijzigingen ### 1. Firmware: pullup verwijderen + schakellogica inverteren Beide firmwares hebben identiek patroon, 2 regels per file: | Bestand | Locatie | Huidig | Nieuw | |---------|---------|--------|-------| | `src/main.cpp` | `pinMode(TOUCH1/2_PIN, ...)` | `INPUT_PULLUP` | `INPUT` | | `src/main.cpp` | `digitalRead(TOUCH1/2_PIN) == LOW` | `== LOW` | `== HIGH` | | `src/client.cpp` | `pinMode(TOUCH1/2_PIN, ...)` | `INPUT_PULLUP` | `INPUT` | | `src/client.cpp` | `digitalRead(TOUCH1/2_PIN) == LOW` | `== LOW` | `== HIGH` | **Rationale:** JR223B met pullup → normaal HIGH, aanraking trekt naar LOW. HS-S43A → actieve digitale output, aanraking = HIGH. Debounce (`DEBOUNCE_MS=50`) blijft ongewijzigd — HS-S43A is stabieler, bestaande debounce is ruim voldoende. ### 2. Documentatie: S3R → S3 Lite Alle 27 verwijzingen naar "S3R", "AtomS3R", "Atom VoiceS3R", "Atom S3R Voice", "m5stack-atoms3r" in 8 bestanden: | Bestand | Aanpassing | |---------|------------| | `AGENTS.md` | Board: S3R Voice → S3 Lite. Flash commando pad: `m5stack-atoms3r` → `s3lite-server`. Touch: G8+pullup → G8, G6+pullup → G6 | | `README.md` | Board spec, serial banner, pin-doc: S3R → S3 Lite | | `.forgejo/workflows/ci.yml` | Build output pad: `m5stack-atoms3r` → `s3lite-server` | | `tools/copy_firmware.sh` | Build output pad: `m5stack-atoms3r` → `s3lite-server` | | `docs/superpowers/specs/2026-07-28-esp32-pico-d4-port-design.md` | Contextuele S3R verwijzingen — doel/resultaat beschrijvingen intact laten, alleen boardnaam corrigeren | | `docs/superpowers/plans/2025-07-31-sylda-nimble-hmac-plan.md` | 1 match: comment over S3R pinmap | | `docs/superpowers/plans/2026-07-30-ble-ota.md` | Build output pad: `m5stack-atoms3r` → `s3lite-server` | | `docs/superpowers/plans/2025-07-28-esp32-pico-d4-port.md` | Meerdere referenties naar S3R — historische context behouden, boardnaam corrigeren | | `docs/superpowers/plans/2026-07-28-esp32-pico-d4-port.md` | Build output pad + serial banner referenties | ### 3. Risico's - **Geen rollback zonder herflashen** — na flashen werkt JR223B niet meer. - **Beide devices flashen** — server + client(s) moeten gesynchroniseerd zijn. - **Geen runtime-switch** tussen sensortypes — YAGNI. ## Niet in scope - Geen wijzigingen aan BLE-protocol, HMAC, OTA, of Android app. - Geen configuratie-mechanisme voor sensortype.