How We Fixed iPad Charging in a USB-PD Dock After a Restart

Share
iPad charging after restart, before and after the fix

Project Overview

A US maker of rugged vehicle docks needed its new USB-PD dock to restore iPad charging after a restart. We identified a board error and two firmware issues, corrected the hardware and PD stack configuration, and added restart recovery.

USB-C charger connected to an iPad through a USB-PD dock.

Figure: USB-C power delivery through the iPad dock

How the Dock Works

The charger offers its power profiles to the dock’s charger-side port. Firmware running on the MCU passes the supported profiles to the iPad-side port and manages power renegotiation when the iPad restarts. The MCU also controls the USB hub that carries the iPad’s data.

USB-PD vehicle iPad dock architecture.

Figure: USB-PD vehicle dock block diagram

The Challenge

The client’s earlier docks used a fixed-function PD chip. It worked until newer iPads arrived. These iPads drop the power contract when they restart, but the old chip could not detect the change and renegotiate. As a result, the iPad stayed on low power or stopped charging.

The configurable Microchip PD controller could monitor the port and reset the connection, but it required custom firmware. The client already had the hardware and needed a team to develop that firmware while their end customer waited for the product.

Our Approach

Setting Up the Test Bench

After signing an NDA and speaking with the client’s engineer, we received the development kit, programmer, and current boards. We also bought the iPad Pro 13 used by their end customer, allowing testing on the actual device from the start.

We identified three issues affecting the dock’s operation: a grounded pin that prevented one PD chip from functioning fully, incorrect voltage limits that triggered power faults, and a missed detach signal that prevented charging from resuming after an iPad restart.

Finding and Correcting the Board Error

During debugging, an interrupt behaved in a way the firmware could not explain. We traced it to a pin on one of the PD chips that was wired to ground. This prevented the chip from functioning fully, and the same error was present on every prototype.

Our engineer reworked the samples we had. We provided rework instructions, and the client’s engineer applied them to all their prototypes. The correction was incorporated into the next board revision.

Correcting the PD Stack Configuration

When the iPad connected, the PD stack raised a power fault and shut down the port. The configured overvoltage and undervoltage limits did not match the hardware.

We adjusted these limits to match the board, removing the power faults on attachment.

Building the Power Passthrough Logic

The firmware maps each fixed power profile offered by the charger to the iPad-side port. It filters out profiles the board cannot deliver because the design has no adjustable converter.

Restoring iPad Charging After a Restart

When the iPad restarted, the PD stack sometimes missed the detach signal. It then failed to detect the next attachment, preventing charging from resuming.

We added recovery logic that reinitializes the PD stack when communication on the iPad side becomes inactive, allowing the iPad to renegotiate power after a reboot.

Testing With the Client

We supplied firmware test builds together with a PC tool for viewing the negotiated power profiles. The client’s engineer tested these builds on his bench, and we addressed the issues he reported.

Results and Handover

The client’s engineer loaded the firmware onto his test unit and confirmed that it restored PD charging after an iPad reboot.

The client’s engineer tested the firmware with four chargers rated from 20 W to 100 W:

Charger Type Rated Power
Apple iPad charger AC-DC 20 W
Laptop charger AC-DC 65 W
Vehicle charger DC-DC 60 W
Vehicle charger DC-DC 100 W

The client received:

  • Firmware binaries for each test build.
  • Source code in their own Git repository.
  • A PC tool for viewing negotiated power profiles.
  • Board rework instructions for correcting the prototypes.

Further Development

With charging working, the client chose to simplify the next board revision. They replaced the USB hub with a single USB-A port that passes data directly through and supplies a regulated 5 V.

A new engineer on their team continued firmware development in-house, using our repository and state machine as the base. We provided access and support for the new hardware.

Tools used: Microchip USB PD stack, MPLAB X IDE, PICkit 5, and USB-C power meter.

Developing a USB-PD Product?

Have a look at our Industrial & Power Electronics Solutions portfolio and explore our related design guide:

If you are working on a USB-PD product and running into charging problems in an existing design, we are happy to help. Feel free to Contact Us for USB-PD hardware design, PCB development, and embedded firmware support.

Subscribe Our Newsletter