Low-speed power enables, isolation controls, buttons, presence inputs, and night-mode control are provided through TCA9535 expanders U23 and U32 on the system I2C bus. Their exact port roles are defined by the net names in the schematic and must remain default-off until configured.
Bench supply with current limit, DMM, oscilloscope, USB current meter, thermal camera, USB data isolator, logic analyzer, known-good 1S protected packs, and ESD-safe workstation.
Use the Firmware Starter safe bring-up image.
Start without NFC, sub-GHz, display, removable storage, debug target, microphone, speaker, or expansion modules attached.
1. Visual and Unpowered Inspection
Verify orientation and soldering of U1–U38, D1–D5, Q1, F2/F3, polarized battery connectors, USB-C J1, microSD J3, and switches SW1–SW3.
Confirm no conductive debris beneath shielded modules or connectors.
Measure resistance from USB_VBUS, PACK_A_FUSED, PACK_B_FUSED, VBAT, VSYS, 3V3, 5V_BOOST, and 5V_TARGET to GND. Investigate readings below 10 ohms befo...
Yes. I’ll include a compact, glove-tolerant thumb QWERTY keyboard in the handheld concept, plus the existing directional controls and dedicated power/back keys. It will connect through the I/O expander as a scanned key matrix so it uses few ESP32 pins and can wake the device from sleep.
Main PCB: retain 160 × 100 mm, four layers, standard through-vias.
Keyboard: separate front-panel thumb-QWERTY matrix PCB connected through the I/O expander; directional, power, and back controls remain dedicated.
Top side: MCU, power stages, radios/modules, SD, connectors, switches, and tall components.
Bottom side: small passives only.
Edges: USB-C and SD accessible at the front; debug/expansion ports along one side; batteries and emergency-isolation interfaces opposite; antennas separated along the rear edge.
RF: dedicated NFC, sub-GHz, and ESP32 antenna keepouts.
Manufacturing: standard 1 oz copper, no HDI or microvias; compatible with mainstream prototype fabs.
Reply confirmed to start placement and routing, or specify a different board size or keyboard arrangement.
The proof-of-concept uses two protected 1S Li-ion/LiPo packs, independently charged at 100 mA each, feeding a reverse-blocking TPS2121 mux. VBAT then feeds the existing BQ25895 system path. Exact operating figures must be replaced by prototype measurements before enclosure sealing.
Table
Load
Rail
Sleep/Off
Typical Active
Peak Design Allowance
ESP32-S3 module
3.3 V
20 µA
180 mA
500 mA
Outdoor display + backlight
3.3 V switched
0
100 mA
180 mA
Onboard microSD
3.3 V switched
0
50 mA
200 mA
NFC module
3.3 V switched
0
80 mA
150 mA
Sub-GHz module
3.3 V switched
0
35 mA
150 mA
IR transmitter/receiver
3.3 V switched
0
30 mA
200 mA pulsed
UI, haptic, indicators, translators
3.3 V
5 µA
80 mA
200 mA
U31 ADC + U32 expander
3.3 V
<1 mA
2 mA
10 mA
Digital microphone
3V3_MIC_SW
0
1 mA
5 mA
Removable storage bay
3V3_STORAGE_SW
0
80 mA
300 mA
External target/USB-host allowance
5 V switched
0
250 mA
500 mA
8 Ω speaker amplifier
VSYS_AUDIO_SW
0
program dependent
500 mA limited allowance
Pack A charger
USB_VBUS
0
100 mA
100 mA
Pack B charger
USB_VBUS
0
100 mA
100 mA
Rail totals
Updated 3.3 V simultaneous design peak: approximately 1.90 A including the removable storage bay.
The 3.3 V regulator remains a 2 A-class design and is now close to its theoretical peak; firmware must avoid all optional 3.3 V loads being active simultaneously, and hardware validation must confirm thermal/transient margin.
Existing switched 5 V target allowance: 500 mA peak.
Audio allowance directly from VSYS: 500 mA peak, based on an 8 Ω speaker and firmware volume limiting.
USB charging load: 200 mA total before system consumption.
Battery-side worst case
At a depleted-cell design voltage of 3.0 V:
3.3 V rail: (3.3 V × 1.90 A) / (3.0 V × 0.90) ≈ 2.32 A.
5 V rail: (5 V × 0.50 A) / (3.0 V × 0.85) ≈ 0.98 A.
Audio allowance on VSYS: approximately 0.50 A.
Combined theoretical allowance: approximately 3.8 A, excluding converter transient and quiescent current.
The TPS2121 is programmed near 4 A and each bay is fused at 4 A. This is a protection ceiling, not a recommended continuous operating point. Firmware interlocks and measured load profiles are required to retain transient and thermal margin.
Charging and USB input budget
U29 and U30 are fixed at 100 mA per bay using 10 kΩ PROG resistors.
With both packs charging, 200 mA is consumed before the active system load.
On a default-current USB source, high-current peripherals must remain off unless advertised current and thermal conditions permit them.
U2 charging must remain disabled; otherwise the muxed VBAT node could create uncontrolled cross-charging behavior.
Energy estimate
For two installed 5000 mAh, 3.7 V packs, ideal parallel energy inventory is 37 Wh, but the packs are not hard-paralleled and usable runtime depends on mux selection, pack mismatch, cutoff thresholds, and conversion losses.
At a representative 2.5 W mixed-use load, a nominal two-pack runtime is roughly 11–13 h after reserve and conversion losses.
High display brightness, radio transmission, target power, audio output, and storage writes can reduce runtime substantially.
Multi-week standby still requires all optional rails off and total always-on current well below 100 µA; this target must be measured because the BQ25895, fuel gauge, mux, ADC, and expanders remain present.
Required firmware interlocks
Do not run maximum display, radio transmit, target 5 V, storage write, and audio output simultaneously.
Restrict audio amplitude and use an 8 Ω speaker.
Power optional rails only for the duration needed.
Enable storage bus isolation only after storage power is stable.
Reduce active loads when both charge channels are running from a low-current USB source.
Log pack A, pack B, and muxed VBAT readings to detect imbalance or a missing pack.
Validation
Measure every block in off, idle, receive, transmit/write, and worst-case transient states. Verify:
TPS2121 switchover droop and reverse-current behavior.
Fuse, connector, and copper temperature rise.
3.3 V regulator transient response near 2 A.
VSYS droop during speaker peaks.
USB input current with zero, one, and two packs charging.
Runtime and cutoff behavior with mismatched pack state of charge.