Board-Level Repair Guide
MacBook Pro 13" M1 A2338
Apple Silicon M1 • Board 820-02020 • J293 MLB
Board
Specifications
| Parameter | Value |
|---|---|
| Model Identifier | MacBookPro17,1 |
| Board Number | 820-02020 |
| EMC Number | EMC 3578 |
| Apple Part (MLB) | J293 Logic Board |
| SoC | Apple M1 (8-core CPU, 7/8-core GPU, 16-core Neural Engine) |
| RAM | 8GB / 16GB Unified Memory (soldered, non-upgradeable) |
| Storage | 256GB / 512GB / 1TB / 2TB NVMe SSD (soldered) |
| USB-C Ports | 2× Thunderbolt 3 / USB4 (left side only) |
| Charger IC | CD3217B12 (USB-C PD controller × 2) |
| PMU | Integrated in M1 SoC |
| T2 / SMC | Functions integrated in M1 SoC (no separate T2) |
| Schematic Reference | J293_MLB_051-04443 Rev A |
| BoardView Available | Yes (.bvr format) |
Voltage
Rails
| Rail | Voltage | State | Regulator / Source | Schem Page | Notes / If Absent |
|---|---|---|---|---|---|
| PPBUS_G3H | 8.5–12.6V | G3H | Battery / USB-C charger via CD3217B12 | 3, 5 | Main power bus. If absent: Check battery connector, USB-C port ICs, fuse F7000 |
| PP3V3_G3H | 3.3V | G3H | U7100 buck converter | 7 | Always-on 3.3V. If absent: Check PPBUS_G3H first, then U7100 enable |
| PP1V8_G3H_AON | 1.8V | G3H | U7200 | 8 | Critical for M1 SoC I/O. If absent: Check PP3V3_G3H, measure U7200 EN pin |
| PP5V_G3H | 5.0V | G3H | U7300 boost/buck | 9 | USB VBUS source. If absent with PPBUS present: Check U7300 switching |
| PP3V3_G3H_RTC | 3.3V | G3H | Derived from PP3V3_G3H | 10 | Powers CD3217B12. If shorted: Check for liquid damage near USB-C ports |
| PP1V1_S5_SLPS | 1.1V | S5 | M1 internal PMU | 15 | M1 SoC standby core. If absent: M1 PMU not starting — check PP1V8_G3H_AON |
| PP3V3_S5 | 3.3V | S5 | U7400 | 16 | S5 domain enable. If absent: M1 not asserting power enable — verify PPBUS_G3H and G3H rails |
| PP5V_S5 | 5.0V | S5 | U7500 | 17 | S5 5V bus. If absent: Check U7500 enable and PPBUS_G3H |
| PP1V8_S3 | 1.8V | S3 | M1 PMU output | 20 | Sleep state rail. If absent: Check M1 SLP_S4_L signal |
| PP0V82_VDDCPU | 0.75–0.95V | S0 | M1 internal VRM | 25 | M1 CPU core voltage. Dynamic — varies with load |
| PP0V82_VDDGPU | 0.75–0.95V | S0 | M1 internal VRM | 26 | M1 GPU core voltage. Dynamic — varies with load |
| PP3V3_S0 | 3.3V | S0 | U7600 | 30 | Active state peripherals. If absent: Check PM_SLP_S4_L from M1 |
| PP5V_S0 | 5.0V | S0 | U7700 | 31 | Active 5V bus. If absent: Check enable signal from M1 |
| PPVOUT_LCDBKLT | 38–55V | S0 | U7800 boost IC | 40 | Backlight boost. If absent: Check U7800 EN, inductor L7800 |
| PP3V3_LCDVDD | 3.3V | S0 | LCD power enable | 42 | Panel logic power. If absent: Check eDP connector and enable signal |
Power
Tree
Key
Components
| Reference | Designation | Function | Rails | Page | Common Failure |
|---|---|---|---|---|---|
| U2100 | Apple M1 SoC | Main processor (CPU, GPU, PMU, I/O) | Multiple internal | 1–5 | Rarely fails — usually supporting circuitry issue |
| U3100/U3200 | CD3217B12 | USB-C PD controller (port 1 & 2) | PP3V3_G3H_RTC | 6 | Liquid damage → no charge, stuck at 5V. Very common failure |
| UF400 | CD3217B12 filter | USB-C signal conditioning | — | 6 | Often fails with CD3217B12 — replace as pair |
| U7100 | TPS62827 | PP3V3_G3H buck converter | PPBUS_G3H → PP3V3_G3H | 7 | Shorted inductor/caps, blown by liquid |
| U7700 | ISL9240HRZ | Battery charger IC | PPBUS_G3H | 5 | No charge, no power-on — check ACIN sense |
| U7800 | LP8550 | Backlight boost controller | PP5V_S0 → PPVOUT_LCDBKLT | 40 | No backlight — check EN pin, inductor L7800 |
| L7800 | 10µH Inductor | Backlight boost inductor | PPVOUT_LCDBKLT | 40 | Burns with liquid damage or excessive current |
| F7000 | 32V 8A Fuse | Main PPBUS_G3H protection fuse | PPBUS_G3H | 3 | Open from surge/short — no power symptom |
| U6100 | 338S00267 | Audio codec | PP3V3_AUDIO | 50 | Corrosion from liquid → no audio |
| U5100 | USI Wi-Fi/BT Module | Wireless connectivity | PP3V3_WLAN | 55 | Underfilled — avoid excess heat during repair |
Boot
Sequence
| # | Signal / Rail | Expected Value | Condition | If Absent |
|---|---|---|---|---|
| 1 | PPBUS_G3H | 8.5–12.6V | Battery connected OR USB-C charger attached | Check battery connector pins for corrosion. Verify fuse F7000 continuity. Test USB-C charger IC U7700 ACIN path. If 0V: no power source reaching board. |
| 2 | PP3V3_G3H | 3.3V | PPBUS_G3H present | Check U7100 buck converter — measure EN pin (must be high). Measure output capacitor to GND (< 5Ω = short). If short: isolate using DC injection on PP3V3_G3H. |
| 3 | PP1V8_G3H_AON | 1.8V | PP3V3_G3H present | Check U7200 enable pin. Measure resistance to GND (< 3Ω = short). This rail powers M1 SoC I/O — if shorted, M1 cannot initialize. |
| 4 | PP3V3_G3H_RTC | 3.3V | PP3V3_G3H present | Check zero-ohm resistor/fuse in RTC line. If shorted: suspect liquid damage near CD3217B12 USB-C controllers. Most common short location on this board. |
| 5 | USB-C PD Negotiation | 5V → 20V transition | CD3217B12 powered by PP3V3_G3H_RTC | If stuck at 5V 200mA: CD3217B12 not functioning. Check PP3V3_G3H_RTC for short to GND. Inspect USB-C port for burned pins or corrosion. Replace CD3217B12 + UF400 as pair. |
| 6 | PP1V1_S5_SLPS | 1.1V | M1 SoC receives PP1V8_G3H_AON | M1 internal PMU not starting. Verify PP1V8_G3H_AON present. Check for M1 SoC package damage (rare). If all G3H rails OK but no S5: possible M1 failure. |
| 7 | PP3V3_S5 | 3.3V | M1 asserts S5 enable | M1 not enabling S5 domain. Check PP1V1_S5_SLPS — if absent, M1 PMU not running. Measure U7400 enable pin. |
| 8 | PP5V_S5 | 5.0V | PP3V3_S5 present | Check U7500 enable signal. Measure output to GND for short (< 2Ω = short). Common short from keyboard/trackpad connector corrosion. |
| 9 | PM_SLP_S4_L | HIGH (3.3V) | Power button pressed, M1 releases sleep | M1 not exiting S4 state. Verify power button flex cable continuity. Check PP3V3_S5 present. If S5 rails OK but SLP_S4_L stays LOW: internal M1 fault or missing NAND. |
| 10 | PP3V3_S0 | 3.3V | PM_SLP_S4_L HIGH | Check U7600 regulator enable. Measure output to GND (< 3Ω = short). NVMe storage or peripheral can short this rail — disconnect and retest. |
| 11 | PP5V_S0 | 5.0V | PM_SLP_S4_L HIGH | Check U7700 regulator. Common short from USB-C port or connected peripherals. Disconnect all USB-C devices and test. |
| 12 | PP0V82_VDDCPU | 0.75–0.95V | M1 SoC active, code execution starting | M1 internal VRM not generating CPU voltage. This indicates M1 SoC failure — very rare but terminal. Confirm all S0 rails present first. |
| 13 | PPVOUT_LCDBKLT | 38–55V | Display enabled, backlight requested | Check U7800 boost controller EN pin. Measure L7800 inductor for continuity. If L7800 burned: replace inductor, verify no short on boost output. |
| 14 | Display Output | Image on LCD | GPU active, eDP link established | If backlight OK but no image: check eDP connector seating. Inspect LCD flex for damage. Test with known-good display. Possible T-CON failure in panel. |
Progressive
Diagnostic Engine
Work through stages in order. Complete each stage before unlocking the next. This replicates expert technician reasoning.
No Power /
No Charge
A2338 No Power — Complete Diagnostic Flow
The MacBook Pro M1 A2338 has a unique power architecture with all power management integrated into the M1 SoC. Unlike Intel MacBooks with separate T2 and SMC chips, the M1 handles everything internally. This simplifies some diagnostics but makes M1 failures terminal.
Symptom: Charger Stuck at 5V / 200mA
- Measure PP3V3_G3H_RTC at C6915 near the USB-C ports
- If short to GND (< 1Ω): liquid damage has shorted the RTC rail — this is the #1 failure on A2338
- Inspect area around CD3217B12 controllers for corrosion
- Remove corroded capacitor C6915 and retest
- If short clears: replace cap and test USB-C PD negotiation
- If short persists: one of the CD3217B12 ICs is internally shorted — replace both ICs + UF400 filter
820-02020 No Charge — CD3217B12 Replacement
Symptom: Machine Powers On But Won't Charge Battery
- Verify USB-C negotiates to 20V (not stuck at 5V)
- If 20V present: check charger IC U7700 (ISL9240HRZ)
- Measure ACIN sense pin on U7700 — should see ~20V when charger connected
- Check charging MOSFETs — measure gate drive voltage during charge attempt
- If gates not driven: ISL9240 may have failed — replace IC
- If gates driven but no current: MOSFETs shorted or battery connector issue
Symptom: No Power At All (Dead Board)
- Measure PPBUS_G3H at F7000 — expect 8.5–12.6V from battery
- If 0V: Check battery connector pins for corrosion/bent pins
- Test fuse F7000 continuity (< 0.5Ω)
- If fuse open: short circuit blew the fuse — do NOT replace fuse until short is found
- If PPBUS OK: measure PP3V3_G3H — expect 3.3V
- If PP3V3_G3H shorted (< 5Ω to GND): use DC injection to locate short
- If PP3V3_G3H OK: measure PP1V8_G3H_AON — expect 1.8V
- If AON shorted: M1 SoC I/O cannot initialize — short must be cleared
- If all G3H rails OK but no S5: M1 internal PMU failure (non-repairable)
Known Failure Points (Most Common First)
- CD3217B12 / C6915: Liquid damage near USB-C ports — 60% of no-power cases
- L7800 burned: Backlight inductor failure from liquid or short — causes no display but board may boot
- F7000 blown: Overcurrent from short circuit — find short before replacing
- U7700 charger IC: ISL9240 failure — no charge, possibly no power
- USB-C port physical damage: Bent pins shorting VBUS to GND — inspect under microscope
No
Backlight
A2338 No Backlight — Backlight Boost Circuit
The A2338 backlight circuit uses a boost converter to generate 38–55V for the LED backlight from the 5V S0 rail. The key components are:
- U7800 — LP8550 or equivalent boost controller
- L7800 — 10µH power inductor
- D7800 — Boost diode
- C7800–C7810 — Output filter capacitors
Diagnostic Steps
- Verify PP5V_S0 present: Backlight boost requires 5V S0 rail as input
- Check U7800 EN pin: Must go HIGH when display is enabled. If always LOW: check enable signal from display controller
- Measure L7800 continuity: Should be < 1Ω. If open: inductor burned — replace
- Check boost output: Measure at output cap C7805 — expect 38–55V when backlight active
- If output shorted: Measure resistance to GND (< 10Ω = short in LED string or caps)
- Inspect LCD connector: Check for corrosion or bent pins on backlight lines
Normal Resistance Values (Unpowered)
| Test Point | Expected Resistance to GND | If Different |
|---|---|---|
| PPVOUT_LCDBKLT (boost output) | > 1kΩ | < 100Ω = short in LED string or output caps |
| L7800 (both ends) | < 1Ω (continuity) | Open = burned inductor |
| U7800 VIN pin | > 100Ω | < 10Ω = short on PP5V_S0 input |
Backlight Works But No Image
If backlight is present (screen illuminates) but there's no image:
- Check PP3V3_LCDVDD — panel logic power
- Reseat eDP connector — connection issues common after drops
- Inspect LCD flex cable for tears or cracked traces
- Test with known-good display to isolate panel vs. board
- If board-side: check M1 GPU voltage (PP0V82_VDDGPU) present
Liquid
Damage
A2338 Liquid Damage — Assessment and Recovery
Initial Assessment
- Visual inspection: Look for white/green corrosion deposits, especially near:
- USB-C ports (most common liquid entry point)
- Keyboard connector
- Speaker connector
- Battery connector
- Liquid detection indicators: Check LCI stickers inside the machine — pink/red indicates liquid exposure
- Smell test: Sugary drinks leave a sticky residue and sweet smell
Cleaning Procedure
- Disconnect battery immediately — this is critical to stop ongoing corrosion
- Remove logic board from chassis for full access
- Ultrasonic cleaning:
- Use deionized water or electronics cleaning solution
- 40kHz frequency, 5–10 minutes
- Temperature: 40–50°C maximum
- Manual cleaning: After ultrasonic, use isopropyl alcohol (99%) and soft brush on corroded areas
- Flux cleaning: Remove any flux residue with flux remover
- Thorough drying: Allow 24 hours or use low-temperature heat (< 60°C) for 2–4 hours
Common A2338 Liquid Damage Failures
| Location | Components Affected | Symptom | Repair |
|---|---|---|---|
| USB-C port area | CD3217B12, C6915, UF400 | No charge, stuck at 5V | Replace CD3217B12 + UF400, replace corroded caps |
| Backlight area | U7800, L7800 | No backlight | Replace burned L7800, check U7800 |
| Audio codec | U6100 | No sound, crackling | Replace audio codec, clean surrounding area |
| Keyboard connector | J4100 | Keyboard not working | Clean connector, replace if pins corroded |
| Battery connector | J7000 | No power | Clean connector, check fuse F7000 |
Post-Cleaning Testing
- Before powering on, measure all G3H rails to GND for shorts
- Pay special attention to PP3V3_G3H_RTC — most commonly shorted from liquid
- If all resistance readings are normal, connect USB-C charger only (no battery)
- Verify charger negotiates to 20V — this confirms CD3217B12 functional
- Connect battery and attempt power-on
- Test all functions: display, keyboard, trackpad, USB-C ports, audio, Wi-Fi
Short
Circuit Detection
820-02020 Short to Ground — Detection Methods
When a rail measures low resistance to ground (typically < 5Ω for power rails), a component on that rail is shorted. The goal is to locate the shorted component without damaging other parts of the board.
Method A: DC Voltage Injection (Thermal Detection)
| Shorted Rail | Inject Voltage | Current Limit | Max Duration |
|---|---|---|---|
| PPBUS_G3H | 1.0V | 3.0A | 30 seconds |
| PP3V3_G3H | 1.0V | 2.0A | 30 seconds |
| PP3V3_G3H_RTC | 1.0V | 1.5A | 30 seconds |
| PP1V8_G3H_AON | 1.0V | 1.5A | 30 seconds |
| PP5V_S0 | 1.0V | 2.0A | 30 seconds |
| PPVOUT_LCDBKLT | 3.0V | 1.0A | 20 seconds |
DC Injection Procedure
- Remove battery and disconnect charger
- Remove heatsink — the shorted component may be under it (CPU MOSFETs)
- Set lab PSU to injection voltage and current limit per table above
- Connect PSU ground to board ground (any large ground pad or screw hole)
- Connect PSU positive to the shorted rail (solder a wire or use test probe)
- Enable output — watch current draw
- Feel for heat — use finger, thermal camera, or freeze spray to locate hot component
- Current reading hints:
- < 100mA: mild short, component will be warm, not hot
- 500mA–1A: moderate short, component will be noticeably hot within 10 seconds
- > 2A: severe short, component will get hot immediately (1–3 seconds)
Method B: Thermal Camera
If available, a thermal camera (FLIR, Seek, or similar) provides instant visual feedback:
- Set up camera to view board from directly above
- Inject voltage as in Method A
- Watch for hot spot on camera — shorted component will appear bright
- Advantages: faster, no finger burns, can see through heatsink paste residue
Method C: Divide and Conquer (Component Removal)
When multiple components share a rail and you cannot isolate the short thermally:
- Identify all major loads on the shorted rail (schematic required)
- Remove one component at a time, starting with most likely failure
- After each removal, re-measure resistance to GND
- When resistance returns to normal, the removed component was shorted
- For PP3V3_G3H_RTC on A2338: Start with C6915, then CD3217B12 ICs
Normal Resistance Values (A2338 Unpowered)
| Rail | Normal Resistance to GND | Shorted If |
|---|---|---|
| PPBUS_G3H | 50–500Ω | < 5Ω |
| PP3V3_G3H | 500Ω–2kΩ | < 10Ω |
| PP3V3_G3H_RTC | 1kΩ–10kΩ | < 10Ω |
| PP1V8_G3H_AON | 200Ω–1kΩ | < 5Ω |
| PP5V_S0 | 100Ω–500Ω | < 5Ω |
| PPVOUT_LCDBKLT | > 1kΩ | < 100Ω |
Measurement
Points
| Rail / Signal | Test Point Location | Expected Value | Condition |
|---|---|---|---|
| PPBUS_G3H | F7000 output pad, C7001 top | 8.5–12.6V | Battery connected |
| PP3V3_G3H | C7101 top (near U7100) | 3.3V | Power present |
| PP1V8_G3H_AON | C7201 top (near U7200) | 1.8V | Power present |
| PP3V3_G3H_RTC | C6915 (USB-C area) | 3.3V | Power present |
| PP1V1_S5_SLPS | C7301 (M1 standby) | 1.1V | M1 PMU active |
| PP3V3_S5 | C7401 top | 3.3V | S5 state |
| PP5V_S5 | C7501 top | 5.0V | S5 state |
| PP3V3_S0 | C7601 top | 3.3V | S0 active |
| PP5V_S0 | C7701 top | 5.0V | S0 active |
| PP0V82_VDDCPU | M1 decoupling caps (top side) | 0.75–0.95V | CPU active (dynamic) |
| PP0V82_VDDGPU | M1 decoupling caps | 0.75–0.95V | GPU active (dynamic) |
| PPVOUT_LCDBKLT | L7800 output, C7805 top | 38–55V | Display enabled |
| PP3V3_LCDVDD | LCD connector pin 1 | 3.3V | Display enabled |
| USB-C VBUS (input) | USB-C port VBUS pins | 5V → 20V | Charger connected |
| USB-C VBUS (output) | USB-C port VBUS pins | 5.0V | Device connected |
| Battery voltage | J7000 battery connector | 10.5–12.6V | Battery connected |
Required
Tools
Auto-ranging with diode mode. Fluke 87V or equivalent recommended.
0–30V, 0–5A adjustable with current limiting. For DC injection short detection.
To verify PD negotiation (5V→9V→20V). Essential for charging diagnostics.
Quick 861DW or equivalent. For IC removal/replacement. 100–500°C range.
JBC CD-2BE or Hakko FX-951. Fine tips for 0201 passives and QFN ICs.
10–45× zoom. Essential for inspecting corrosion and fine-pitch components.
40kHz, heated. For liquid damage board cleaning. Use deionized water.
For component location and net tracing. Load .bvr files for A2338.
FLIR ONE or Seek Thermal. For rapid short detection without finger burns.
Amtech NC-559 or equivalent. For rework and resoldering corroded joints.
For cleaning flux residue and corrosion. Do not use 70% (too much water).
Heat-resistant tape for protecting nearby components during rework.