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
This commit is contained in:
parent
8833420a76
commit
d190530697
14 changed files with 37374 additions and 0 deletions
7888
hardware/all_versions_knowledge_base.json
Normal file
7888
hardware/all_versions_knowledge_base.json
Normal file
File diff suppressed because it is too large
Load diff
Binary file not shown.
|
4152
hardware/v2.5/parsed_data/Netlist_Savearth_v2_5.enet
Normal file
4152
hardware/v2.5/parsed_data/Netlist_Savearth_v2_5.enet
Normal file
File diff suppressed because it is too large
Load diff
Binary file not shown.
|
4527
hardware/v2.6/parsed_data/Netlist_Savearth_v2_6.enet
Normal file
4527
hardware/v2.6/parsed_data/Netlist_Savearth_v2_6.enet
Normal file
File diff suppressed because it is too large
Load diff
BIN
hardware/v2.7/parsed_data/BOM_Savearth_v2_7.csv
Normal file
BIN
hardware/v2.7/parsed_data/BOM_Savearth_v2_7.csv
Normal file
Binary file not shown.
|
4532
hardware/v2.7/parsed_data/Netlist_Savearth_v2_7.enet
Normal file
4532
hardware/v2.7/parsed_data/Netlist_Savearth_v2_7.enet
Normal file
File diff suppressed because it is too large
Load diff
270
hardware/v2.8/README.md
Normal file
270
hardware/v2.8/README.md
Normal file
|
|
@ -0,0 +1,270 @@
|
||||||
|
# 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 | 0Ω | 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 | 0Ω | 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 |
|
||||||
BIN
hardware/v2.8/parsed_data/BOM_Savearth_v2_8_Savearth_v2_8.csv
Normal file
BIN
hardware/v2.8/parsed_data/BOM_Savearth_v2_8_Savearth_v2_8.csv
Normal file
Binary file not shown.
|
6331
hardware/v2.8/parsed_data/Netlist_Savearth_v2_8_easyedaformat.enet
Normal file
6331
hardware/v2.8/parsed_data/Netlist_Savearth_v2_8_easyedaformat.enet
Normal file
File diff suppressed because it is too large
Load diff
4697
hardware/v2.8/parsed_data/v28_knowledge_base.json
Normal file
4697
hardware/v2.8/parsed_data/v28_knowledge_base.json
Normal file
File diff suppressed because it is too large
Load diff
BIN
hardware/v2.9/easyeda/Savearth GBT.eprj2
Normal file
BIN
hardware/v2.9/easyeda/Savearth GBT.eprj2
Normal file
Binary file not shown.
Binary file not shown.
|
4977
hardware/v2.9/parsed_data/Netlist_Savearth_v2_9.enet
Normal file
4977
hardware/v2.9/parsed_data/Netlist_Savearth_v2_9.enet
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue