PDU: Phone harness

In order to make hardware testing possible, the postmarketOS team had to develop a custom PDU, our phone harness. The combination of CI-tron, a volunteer community, and phone devices set some requirements that were not supported by any of the existing solutions. Meaning:

  • To power the device with the batery removed, as otherwise the continuous connection to power can risk damaging it, and potentially setting it aflame. As a consequence, power must the provided directly through the battery connectors, and the PDU must be able to provide a high current (max ~5A) at potentially low voltages (minimum ~3.3V), to be able to mimic the battery.

    • To have an USB-C connector through which to provide testing artifacts to the phone without affecting persistent storage.

  • To provide UART to get early boot serial logs from the device.

  • To be extensible to potentially control power buttons in the device.

  • The price-point should be acceptable to pay for it from the project’s donations, or for volunteers to be able to afford it.

No commercially-available options exist that support all these requirement. Although some companies like Linaro or CodeThink have developed similar boards, they have done so for internal use, meaning the price point is usually unaffordable for volunteers, documentation is non-existent, and modifying them or writing firmware that supports ci-tron would become a complex effort of reverse-engineering.

You can find more details about this device and its development process in the corresponding docs.

Getting a phone harness

TODO: Describe how to get one from the team

TODO: Describe instructions to order in JLCPCB. We want these instructions ourselves anyway!

Adding support to CI-tron

New PDU: https://gitlab.freedesktop.org/gfx-ci/ci-tron/-/commit/d33d9a25796f7a432f1cbe0aa4b0b5e2a869e3cf and https://gitlab.freedesktop.org/gfx-ci/ci-tron/-/commit/697db5a3da1259a9b200bc46e473f7119c618d6b