USB Analyzer Design
IN duplicados de U2. Haré un último pase global permitido tras el cambio de colocación y después revisaré DRC nuevamente.wires[156].width). Localizaré esa traza de 0,10 mm, la eliminaré o corregiré a 0,15 mm y volveré a comprobar antes de otro intento.U2 y sus pasivos asociados 2,5 mm hacia arriba, conservando orientación y agrupación. También eliminé las trazas locales obsoletas y dejé 0 trazas colgantes en esa etapa.U2:IN aún no está construidaTPS_ILIM y TPS_FAULT_N siguen sin rutawires[156].width, probablemente una conexión local de 0,10 mmFirmware Starter for the initial RP2040 firmware.U1:VBAT is intentionally unused. Do not connect RP2040 Stamp VBAT to USB 5 V; datasheet range is LiPo 3.6–4.2 V.Table
| Check | Expected Result | Stop If |
|---|---|---|
| VBUS_PROTECTED to GND | No short | Low-ohm short |
| VBUS_SWITCHED to GND | No short | Low-ohm short |
| VBUS_DUT to GND | No short | Low-ohm short |
| 3V3 to GND | No short | Low-ohm short |
| VBUS_PROTECTED to U1:VBAT | No continuity | Any continuity |
| 5V/VBUS to 3V3 | No short | Any short |
| USB_DUT_D_P to USB_DUT_D_N | No short | Any short |
| USB_DUT_D_P / USB_DUT_D_N to VBUS or GND | No short | Any short |
| J3 firmware VBUS to J1/J2 VBUS | Verify intended connection before dual-USB use | Unexpected backfeed path |
Table
| Rail | Source | Expected Voltage | Tolerance | Measure At | Current Limit | Pass Criteria |
|---|---|---|---|---|---|---|
| USB_IN_VBUS_RAW | J1 pin 1 before F1 | 5.0 V | USB source dependent | J1 pin 1 | 50–100 mA first power | Stable, no heating |
| VBUS_PROTECTED | F1 output / U2 IN / U1 5V | 5.0 V minus PTC drop | Depends on load | U2 IN, U1 5V | 50–100 mA initial | RP2040 powers without overcurrent |
| 3V3 | U1 RP2040 Stamp LDO output | 3.3 V | ±2–5% | U1 3.3V, C5 | Observe only | 3.23–3.37 V typical |
| VBUS_SWITCHED | U2 OUT before shunt | 0 V when EN low, ~5 V when EN high | Load dependent | U2 OUT, C2/C3 | Start unloaded | OFF by default, ON only by firmware |
| VBUS_DUT | R1 load side / J2 VBUS | ~5 V when enabled | Load dependent | J2 VBUS | Step to 2 A only after validation | Drop across R1 ≈ 40 mV at 2 A |
Table
| Signal | Net Name | Expected State | Measure At | Notes |
|---|---|---|---|---|
| TPS enable | TPS_EN | LOW at reset, HIGH when port enabled | U2 EN | R18 keeps port off during reset |
| TPS fault | TPS_FAULT_N | HIGH normally, LOW on fault | U2 FAULT / U1 GPIO8 | Pull-up R3 to 3V3 |
| INA alert | INA_ALERT_N | HIGH normally, LOW on alert | U3 ALERT / U1 GPIO6 | Pull-up R19 to 3V3 |
| I2C SDA/SCL | I2C_SDA / I2C_SCL | Idle HIGH at 3.3 V | U3/DS1 pins | R4/R5 4.7 kΩ pull-ups |
| Shunt sense plus | INA_SHUNT_PLUS | Kelvin sense to R1 source side | U3 Vin+ | Must not carry 2 A current |
| Shunt sense minus | INA_SHUNT_MINUS | Kelvin sense to R1 load side | U3 Vin- | Verify polarity |
| USB service | MCU_USB_D_P/N | Only on J3 and U1 USB pins | J3 | Must not be tied to DUT D+/D- |
Table
| Interface | Signals | Connector | Tool |
|---|---|---|---|
| RP2040 USB bootloader | J3 Pin 1 5V, Pin 2 D-, Pin 3 D+, Pin 4 GND | J3 | PlatformIO / Arduino RP2040 USB bootloader |
Table
| Test | Components | Input | Expected Output | Pass Criteria |
|---|---|---|---|---|
| I2C scan | U1, U3, DS1 | Firmware scan | INA226 at 0x40, OLED at 0x3C | Both devices respond |
| OLED display | DS1 | Firmware splash | Text visible | No flicker/reset |
| Port enable | U2 | Toggle OK button | VBUS_DUT off/on | EN controls OUT correctly |
| Fault detection | U2, U1 | Controlled overcurrent | TPS_FAULT_N low | Firmware logs alarm, red LED/buzzer activate |
| Current measurement 0 A | R1, U3 | No load | ~0 A | Offset recorded |
| Current measurement 0.1 A | R1, U3 | Electronic load | ~2 mV shunt | INA226 close to external meter |
| Current measurement 0.5 A | R1, U3 | Electronic load | ~10 mV shunt | Within calibration target |
| Current measurement 1.0 A | R1, U3 | Electronic load | ~20 mV shunt | Within calibration target |
| Current measurement 2.0 A | R1, U3 | Electronic load | ~40 mV shunt | No overheating/excessive drop |
| Buttons | SW1/SW2/SW3 | Press each | Serial/display event | Active-low detection works |
| LEDs | D2/D3/D4 | Firmware output | Red/green/yellow illuminate | Verify polarity; fix if reversed |
| Buzzer | BZ1/Q1 | Firmware beep | Audible beep | No excessive current |
| USB data passthrough | J1/J2/D1 | Low-risk USB device | Device enumerates | D+/D- not swapped |
Table
| Step | Load Current | Expected Shunt Drop | Checks |
|---|---|---|---|
| 1 | 0.1 A | 2 mV | INA226 sign, no fault |
| 2 | 0.5 A | 10 mV | VBUS drop, no heating |
| 3 | 1.0 A | 20 mV | TPS2559 and PTC temperature |
| 4 | 1.5 A | 30 mV | Stability, OLED no reset |
| 5 | 2.0 A | 40 mV | 10-minute thermal check |
Table
| Scenario | Expected Result |
|---|---|
| Only J3 firmware USB connected | RP2040 powers; verify whether VBUS_PROTECTED also rises as designed |
| Only USB-A input connected | RP2040 powers from VBUS_PROTECTED; J3 should not expose unsafe backfeed to a PC |
| USB-A input and J3 both connected | Only allowed after verifying no damaging host-to-host VBUS condition |
| DUT connected while TPS_EN low | J2 VBUS remains off except leakage |
| DUT externally powered accidentally | No dangerous backfeed into J1 or firmware PC |
Table
| Test Section | Result | Notes |
|---|---|---|
| Visual Inspection | [ ] Pass / [ ] Fail | |
| Unpowered Continuity | [ ] Pass / [ ] Fail | |
| Power Rails | [ ] Pass / [ ] Fail | |
| Programming | [ ] Pass / [ ] Fail | |
| I2C/OLED/INA226 | [ ] Pass / [ ] Fail | |
| Port Enable/Fault | [ ] Pass / [ ] Fail | |
| Current Calibration | [ ] Pass / [ ] Fail | |
| 2 A Thermal Test | [ ] Pass / [ ] Fail | |
| USB Data Passthrough | [ ] Pass / [ ] Fail |
Prerequisites
1. Visual Inspection
2. Unpowered Continuity Checks
3. Power Rail Verification
4. Critical Signal Verification
5. Programming and Debug Interface
6. Functional Validation
7. High-Current and Protection Tests
8. USB Backfeed Tests
9. Stop Conditions
Pass/Fail Summary