From df202563d56abab0eb9c0f52b3b906e1c5108854 Mon Sep 17 00:00:00 2001 From: Benedikt Bartscher Date: Sun, 1 Nov 2026 15:53:05 +0100 Subject: [PATCH 1/2] docs(vital100s): the MCU UART is on TP57/TP64, not the debug header The "Install New ESP32" table sent ESP RX/TX to debug header pins 4 and 5. The pinout photo on the same page labels those "UART - Flash FW", the stock ESP32-C3's flashing UART, and marks the ESP <> MCU link on the test pads TP57 and TP64. The stock config agrees: the C3 talks to the MCU on GPIO18/19, not on its flashing UART. With the stock module held in reset, as the same table instructs, the header TX/RX reach nothing. --- devices/levoit-vital100s/README.md | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/devices/levoit-vital100s/README.md b/devices/levoit-vital100s/README.md index 293a22d..4688fa3 100644 --- a/devices/levoit-vital100s/README.md +++ b/devices/levoit-vital100s/README.md @@ -138,14 +138,20 @@ Four wires, plus one to silence the stock module: | Connection | Where | |-----------|-------| | `3.3V`, `GND` | Debug header pins 3 and 2 | -| ESP `RX` ← MCU `TX` | Debug header pin 4 | -| ESP `TX` → MCU `RX` | Debug header pin 5 | +| ESP `RX` ← MCU `TX` | Test pad **TP64**, beside R92 | +| ESP `TX` → MCU `RX` | Test pad **TP57**, next to header pin 6 (`IO0`) | | Stock ESP32 `EN` → `GND` | Debug header **pin 1**, tied to pin 2 | +The MCU link is **not** on the debug header. Header pins 4 and 5 are the stock +module's flashing UART — labelled *UART - Flash FW* in the +[pinout photo](#debug-header-pinout) — while the ESP ↔ MCU UART runs over the +two test pads labelled *UART ESP <> MCU* there (on the stock ESP32-C3 that is +GPIO18/19, see `levoit-vital100s.yaml`). With the stock module held in reset, +the header's TX/RX lead nowhere useful. + The debug header carries `EN` on pin 1, so the stock module can be held in reset -straight from the header — no probing needed. See -[Debug Header Pinout](#debug-header-pinout) above. Until it is held low, keep -your ESP's TX disconnected: both modules would otherwise drive the same line. +straight from the header — no probing needed. Until it is held low, keep your +ESP's TX disconnected: both modules would otherwise drive the same line. > **Use an external antenna.** The board sits low in a plastic housing beside a > metal fan assembly. The XIAO's onboard antenna works, but the FPC antenna in From 9419e1f6d23fe4ddb031dde2d7a894d6f6a0f62d Mon Sep 17 00:00:00 2001 From: Benedikt Bartscher Date: Sun, 1 Nov 2026 17:54:08 +0100 Subject: [PATCH 2/2] docs(vital100s): identify the UART pads by stock module pin The RX pad beside R92 is TP64 in the pinout photo but TP54 on another board (Vital 100S-C_V1.3P1.4), so pad labels alone can mislead. Both pads were traced with a beep test to the ESP32-C3-SOLO-1: TP54/TP64 is module pin 27 (IO18), TP57 is pin 28 (IO19), matching the stock config's GPIO18/19. The module pinout is public in its FCC user manual. --- devices/levoit-vital100s/README.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/devices/levoit-vital100s/README.md b/devices/levoit-vital100s/README.md index 4688fa3..00ec9ca 100644 --- a/devices/levoit-vital100s/README.md +++ b/devices/levoit-vital100s/README.md @@ -138,8 +138,8 @@ Four wires, plus one to silence the stock module: | Connection | Where | |-----------|-------| | `3.3V`, `GND` | Debug header pins 3 and 2 | -| ESP `RX` ← MCU `TX` | Test pad **TP64**, beside R92 | -| ESP `TX` → MCU `RX` | Test pad **TP57**, next to header pin 6 (`IO0`) | +| ESP `RX` ← MCU `TX` | Test pad beside R92, at the stock module's corner — **TP64** in the pinout photo, **TP54** on other boards. Same net as module pin 27 (`IO18`) | +| ESP `TX` → MCU `RX` | Test pad **TP57**, next to header pin 6 (`IO0`). Same net as module pin 28 (`IO19`) | | Stock ESP32 `EN` → `GND` | Debug header **pin 1**, tied to pin 2 | The MCU link is **not** on the debug header. Header pins 4 and 5 are the stock @@ -149,6 +149,11 @@ two test pads labelled *UART ESP <> MCU* there (on the stock ESP32-C3 that is GPIO18/19, see `levoit-vital100s.yaml`). With the stock module held in reset, the header's TX/RX lead nowhere useful. +If a pad label doesn't match, go by the module: the ESP32-C3-SOLO-1 pinout is in +its FCC user manual (FCC ID 2AC7Z-ESPC3SOLO). With the module text readable, +pins 25-28 are the bottom four on the right side, counted upwards: `IO9`, `IO10`, +`IO18`, `IO19`. A beep test from each pad to pins 27 and 28 confirms the pair. + The debug header carries `EN` on pin 1, so the stock module can be held in reset straight from the header — no probing needed. Until it is held low, keep your ESP's TX disconnected: both modules would otherwise drive the same line.