Skip to content

docs(vital100s): the MCU UART is on TP57/TP64, not the debug header - #87

Draft
benedikt-bartscher wants to merge 2 commits into
tuct:mainfrom
benedikt-bartscher:docs/vital100s-mcu-uart-pads
Draft

benedikt-bartscher wants to merge 2 commits into
tuct:mainfrom
benedikt-bartscher:docs/vital100s-mcu-uart-pads

Conversation

@benedikt-bartscher

@benedikt-bartscher benedikt-bartscher commented Nov 1, 2026 •

Copy link
Copy Markdown

What

The Vital 100S Install New ESP32 → Wiring table pointed the external ESP's RX/TX at debug header pins 4 and 5. This changes it to the test pads TP64 (ESP RX ← MCU TX) and TP57 (ESP TX → MCU RX), and explains why the header pins are the wrong ones.

Why

The page contradicts itself:

  • The annotated pinout photo labels header TX/RX "UART - Flash FW", the stock ESP32-C3's flashing UART, and marks TP57 / TP64 as "UART ESP <> MCU".
  • levoit-vital100s.yaml runs the MCU link on the C3's GPIO18/19, not on its flashing UART.
  • The table itself says to hold the stock module in reset. Its flashing UART then leads nowhere, so wiring the new ESP there cannot reach the MCU.

The install photo (wires tapped onto pads beside the stock module) fits the test-pad reading too.

Verified

On hardware (board Vital 100S-C_V1.3P1.4, MCU FW 1.0.5, stock ESP32-C3 held in reset via header EN→GND, external Olimex ESP32-POE2 on Ethernet with the fix from #86):

  • Beep test: the RX pad (labelled TP54 on this board, TP64 in the pinout photo) is ESP32-C3-SOLO-1 pin 27 = IO18, TP57 is pin 28 = IO19. Pinout from the module's FCC user manual (FCC ID 2AC7Z-ESPC3SOLO).
  • MCU → ESP on TP54/TP64: status frames (ptype 0055) decode; PM2.5, AQI, filter, MCU version populate.
  • ESP → MCU on TP57: the MCU accepts the ESP's acks (each status seq arrives once instead of being resent 3–4 times) and answers a fan-on command with a 0x12 response frame (ptype 0050).

Because the label differs between boards, the second commit names each pad by its module pin as well.

No CHANGELOG entry, to stay out of #86's "Unreleased" section; happy to add one.

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.
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.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant