sistemas-cibernetico-fisicos/hardware/v2.8/README.md
Fábio Coutada d190530697 docs(hardware): add savearth PCB BOMs, netlists, knowledge base
- v2.5, v2.6, v2.7, v2.8, v2.9 parsed BOMs and netlists
- v2.8/v2.9 knowledge base (component data, supply chain)
- v2.8 README with pinout documentation
- v2.9 EasyEDA project file
- Hardware all-versions knowledge base
2026-07-16 23:21:10 +01:00

11 KiB

PCB v2.8 Hardware Reference

Last updated: 2026-07-15 Source: EasyEDA Pro project Savearth GBT.eprj + firmware bsp_v28.c


Component Map

Active ICs

Ref Symbol Part Function
U3 ESP32-S3-WROOM-1-N8R8 ESPRESSIF Main MCU, 8MB flash, 8MB PSRAM
U11 BQ25895RTWR TI Battery charger/monitor, I2C 0x6A
U12 PCAL9538ABSHP NXP 8-bit I/O expander, I2C 0x70
U9 MIC94073YMT-TR MICROCHIP P-channel load switch (PWR_EN → SW_3.3V)
U2 AP2112K-3.3TRG1 DIODES 3.3V LDO regulator (ESP32 always-on rail)
U5 ICS-43434 TDK InvenSense MEMS microphone, I2S
U14 DW01 SHIKUES Battery protection IC

Discrete Semiconductors

Ref Symbol Part Function
Q2 Si2302CDS-T1-E3-HXY HXY N-MOSFET (load switch)
Q4 AO3400A YTL N-MOSFET
Q5 AO3400A YTL N-MOSFET
D1 LESD5D5.0CT1G KUU TVS/ESD protection
D2 LESD5D5.0CT1G KUU TVS/ESD protection
D3 LESD5D5.0CT1G KUU TVS/ESD protection
D5 BAT760-7 DIODES Schottky diode
D6 BAT760-7 DIODES Schottky diode
D7 BAS16HT1G onsemi Switching diode
D9 VSKY10201406-G4-08 VISHAY Schottky diode
D10 V8PAN50-M3/I VISHAY Schottky diode

Passives (selected)

Ref Symbol Value Function
R23 0402WGF1002TCE 10kΩ GPIO0 pull-up to 3.3V
R19 0402WGF100JTCE 10Ω Series resistor
R26 0402WGF220JTCE 22Ω Series resistor
R27 0402WGF220JTCE 22Ω Series resistor
R28 1206W4F1004T5E 1MΩ High-value resistor
R37 CRCW04020000Z0ED Jumper
R43 CRCW04025K23FKED 5.23kΩ Precision resistor
R44 CRCW040230K1FKED 30.1kΩ Precision resistor
R45 CRCW040210K0FKED 10kΩ Resistor
R46 CL0402FN33RP 33Ω Series resistor
R50 HOT1206-2W-0R Jumper (high current)
C17 1206B103K202NT 10nF 2kV High-voltage cap (USB protection)
L3 IHLP2020BZER2R2M11 2.2µH Power inductor

Connectors

Ref Symbol Part Function
USB1 HYCW396-USBC16-712B USB-C USB Type-C connector
CN1 HC-FPC-0.5-40P-FH20 FPC 40-pin LCD ribbon connector
CON_BAT S3B-PH-SM4-TB JST PH 2-pin Battery connector
FlashPort HX PZ1.27-1x6P Pin header 6-pin Debug/flash header
RS1 59170-1-S-00-D Littelfuse Reed switch (magnet sensor)
SW2 SS12D00G3 Slide switch Power switch
PIR1 AMD312 PIR sensor Motion detection
NTC 103AT-2 NTC thermistor Temperature sensing

FlashPort Pinout (6-pin debug header)

Pin Net Connection Notes
1 +3.3V Power rail 3.3V supply
2 EN U3 pin 3 (EN) Chip enable (active high)
3 TX0_AP_BTN U3 pin 37 (TXD0) UART0 TX
4 RX0_EN_REG3.3 U3 pin 36 (RXD0) ERRATA: The problematic wire
5 IO0_LCD_RST U3 pin 27 (IO0) GPIO0 boot strap
6 GND Ground Reference

Warning: Pin 4 (RX0_EN_REG3.3) was the net that created the v2.8 root cause. On affected boards, this pin had a physical wire to VSYS that injected noise.


Power Rail Topology

VBUS (USB 5V)
    │
    ├──→ D10 (V8PAN50) ──→ USB protection
    ├──→ C17 (10nF 2kV) ──→ EMI filter
    │
    ▼
┌─────────────────────────────────────────────┐
│  U11: BQ25895RTWR (I2C 0x6A)              │
│  IN+ = VBUS                                │
│  BAT = Li-Ion cell (via CON_BAT)           │
│  SYS = VSYS (switched output)              │
│  PMID = VBUS decoupling                    │
│  REGN = internal LDO (charge pump)         │
│  SW = switching node (inductor L3)         │
└──────┬──────────────────┬───────────────────┘
       │ VSYS             │ VBAT
       │                  ▼
       │            ┌──────────┐
       │            │ Battery  │
       │            │ Li-Ion   │
       │            └──────────┘
       │
       ▼
┌──────────────────────────────────┐
│  U9: MIC94073 (load switch)     │
│  IN  = VSYS                     │
│  EN  = PWR_EN (GPIO1)          │
│  OUT = SW_3.3V                  │
└──────────┬───────────────────────┘
           │ SW_3.3V
           ▼
    ┌──────┴──────┐
    │             │
    ▼             ▼
┌────────┐  ┌────────────────┐
│ST7701S │  │  PCAL9538A     │
│ (LCD)  │  │  IO Expander   │
└────────┘  └────────────────┘

U2: AP2112K-3.3 ──→ 3.3V always-on rail (ESP32-S3 VDD)
    IN = VSYS (always powered)
    OUT = 3.3V (ESP32 core, I2C, flash)

Rail Summary

Rail Source Voltage Loads Control
VBUS USB-C 5V BQ25895 input USB connector
VBAT Li-Ion 3.0-4.2V BQ25895 battery port Charge/discharge
VSYS BQ25895 3.0-4.5V System supply BQ25895 internal
SW_3.3V MIC94073 3.3V LCD, IO expander, PIR GPIO1 (PWR_EN)
3.3V AP2112K 3.3V ESP32-S3, I2C, flash Always on

GPIO Pin Map (from firmware)

Direct GPIO Connections

GPIO Function Net Component
0 LCD_RST / Boot strap IO0_LCD_RST ST7701S reset
1 PWR_EN PWR_EN MIC94073 enable
2 I2S_MIC_LRCL WS Microphone
3 LCD_R2 R2 ST7701S RGB
4 LCD_PCLK LCD_PCLK ST7701S clock
5 LCD_B1 B1 ST7701S RGB
6 LCD_BACKLIGHT BL_PWM ST7701S backlight
7 LCD_SPI_SCL LCD_SCK ST7701S SPI
8 IOEXP_A0 A0 PCAL9538A address
9 LCD_G5 G5 ST7701S RGB
10 I2C0_SDA SDA I2C bus
11 I2C0_SCL SCL I2C bus
12 LCD_G2 G2 ST7701S RGB
13 LCD_G1 G1 ST7701S RGB
14 PIR AM312 PIR sensor
15 LCD_SPI_SDA LCD_SDA ST7701S SPI
16 LCD_SPI_CS LCD_CS ST7701S SPI
17 IOEXP_RESET RST PCAL9538A reset
18 IOEXP_A1 A1 PCAL9538A address
21 LCD_B5 B5 ST7701S RGB
38 LCD_HSYNC LCD_HSYNC ST7701S sync
39 LCD_VSYNC LCD_VSYNC ST7701S sync
40 LCD_DE LCD_DE ST7701S enable
41 I2S_MIC_DOUT DOUT Microphone
42 I2S_MIC_BCLK BSCK Microphone
45 LCD_B2 B2 ST7701S RGB
46 LCD_R1 R1 ST7701S RGB
47 LCD_B4 B4 ST7701S RGB
48 LCD_B3 B3 ST7701S RGB

PCAL9538A IO Expander (I2C 0x70)

Pin Net Function Direction
P0 G4 LCD RGB data (static) Output
P1 G3 LCD RGB data (static) Output
P2 R5 LCD RGB data (static) Output
P3 R4 LCD RGB data (static) Output
P4 R3 LCD RGB data (static) Output
P5 PROG_EN Reed switch (magnet) Input
P6 NC Not connected
P7 NC Not connected

Known Hardware Issues (Errata)

ERRATA 1: RX0-VSYS Wire (ROOT CAUSE — CORRECTED)

Original diagnosis: LCD ESD diode clamping GPIO0. Actual root cause: Physical wire between ESP32-S3 RX0 (GPIO44) and VSYS (BQ25895 SW output).

  • Net name in schematic: RX0_EN_REG3.3
  • Components on this net (4 pins):
    • U3 pin 36 (RXD0) — ESP32-S3 UART0 RX
    • FlashPort pin 4 — Debug header UART RX
    • D6 pin 2 — BAT760-7 Schottky diode
    • R32 pin 2 — 10kΩ resistor to GND
  • Effect: Switching noise from BQ25895 buck converter couples into ESP32-S3 power domain, causing spurious resets into download mode
  • Fix: Remove the physical wire. Firmware mitigations (PWR_EN hold, GPIO0 pull-up) retained as belt-and-suspenders.

ERRATA 2: GPIO0 Boot Strap Trap

Net: IO0_LCD_RST Components on this net (4 pins):

  • U3 pin 27 (IO0) — ESP32-S3 boot strap pin

  • R23 pin 2 — 10kΩ pull-up to +3.3V

  • CN1 pin 35 — LCD FPC connector (ST7701S reset)

  • FlashPort pin 5 — Debug header GPIO0

  • GPIO0 is shared between ESP32-S3 boot strap and ST7701S LCD reset

  • R23 (10kΩ) pulls GPIO0 high for normal boot

  • When LCD is unpowered, ESD diode can clamp GPIO0 low (secondary issue)

  • Mitigation: PWR_EN asserted before ROM samples GPIO0; GPIO0 held high via RTC during sleep

  • Status: RETAINED as belt-and-suspenders; not the primary root cause

ERRATA 3: BQ25895 Watchdog

  • BQ25895 internal watchdog can fire, resetting charger registers to defaults
  • Firmware detects via REG_0C bit 7 and re-applies settings
  • Mitigation: Watchdog disabled in charger init

ERRATA 4: Weak VBUS Boot Throttle

  • At boot, if VBUS is weak (<4300mV or SDP/UNKNOWN/NONE), charger throttled to 300mA
  • Re-enabled when VBUS recovers (≥4400mV, stable)
  • Status: Good practice for USB-powered scenarios

ERRATA 5: LCD Noise (v2.8 specific)

  • 5 RGB data bits held static by IO expander causes visible dithering artifacts
  • Mitigation: NRCTRL noise reduction + SECTRL sharpness control enabled
  • VOP override: VRHS raised from 0x6D to 0x70 for better contrast

Critical Net Names

Net Connections Notes
RX0_EN_REG3.3 GPIO44 ↔ VSYS path THE problematic wire
PWR_EN GPIO1 → MIC94073 EN Power enable for SW_3.3V
IO0_LCD_RST GPIO0 ↔ ST7701S RST Boot strap + LCD reset
VSYS BQ25895 SYS → system Main switched rail
VBUS USB-C → BQ25895 IN USB 5V input
SW_3.3V MIC94073 OUT → LCD, IO expander Switched peripheral rail
PROG_EN PCAL9538A P5 ↔ RS1 Reed switch input
BAT BQ25895 BAT ↔ CON_BAT Battery connection
PMID BQ25895 PMID decoupling Input decoupling
REGN BQ25895 REGN decoupling Charge pump LDO
SW BQ25895 SW ↔ L3 Switching node
SDA GPIO10 ↔ U11/U12 I2C data
SCL GPIO11 ↔ U11/U12 I2C clock
A0 GPIO8 → PCAL9538A I2C address bit 0
A1 GPIO18 → PCAL9538A I2C address bit 1
RST GPIO17 → PCAL9538A IO expander reset
EN PCAL9538A enable
USB_DP USB-C D+ USB data
USB_DN USB-C D- USB data
BL_PWM GPIO6 → ST7701S Backlight control
TX0_AP_BTN Button/UART