/PocketPD

Opensource firmware for PocketPD

Primary LanguageC++MIT LicenseMIT

Description

PocketPD is a portable USB-C bench power supply that can fit in your pocket. Combine with a USB-C PD 3.0/3.1 power source and you can ultilize the PPS profile to create a portable power supply with voltage and current adjustment.

As the DIY community has grown, there are multiple ways to implement control features like adjusting parameters via Wifi, Bluetooth, or touch screen. We want to keep the design language simple, just physical knobs and buttons to control. This will give the system higher reliability when you need it to work.

System flow chart

flowchart LR
    A[Boot up] --> |0.5s|B[Obtain charger capability]
    B --> |1.5s|C[Display capabilities]
    C --> |3s|D[Normal operation]
    D --> |Long Press V/I|E[Menu]
    B --> |Short Press any button|D
    C --> |Short Press any button|D
    E --> |Long Press V/I|D
    E --> |Long Press Encoder|D
Loading

Operational manual

If your charger support PPS (Programable Power Supply) mode, the charger will first enter BOOT screen.

The system will then display the available profile from the charger.

After 3 seconds, the system will enter operating mode. If PPS mode exist, the system will request 5V @ 1A

In NORMAL state:

  • Turning the encoder to increase/decrease voltage/current
  • Short press encoder to change increment from fine to coarse
  • Short press Volt/Amp button to switch between adjusting Voltage or Current
  • Short press On/Off button to enable output
  • Long press Volt/Amp button to enter MENU

In MENU state:

  • Turning the encoder to select profile
  • Long press encoder to activate profile
  • Long press Volt/Amp button to return to normal operation and cancel profile change

Example when select 5V @ 3A profile


Note: If your charger doesn't support PPS profile, PocketPD will directly boot into the first 5V PDO profile. Your menu will looks like this:

Compile the code

VCSBaseException: VCS: Could not process command ['git', 'clone', '--recursive', 'https://github.com/earlephilhower/arduino-pico.git', 'C:\\Users\\keylo\\.platformio\\.cache\\tmp\\pkg-installing-iypaogfn']
  • Go to PlatformIO extension -> Pico -> General -> Build

  • Output of the build process will be in .pio/build/pico/

How to flash new firmware

You can mount the PocketPD as a removable drive by:

  • Plug the device into your PC. Open Putty and open a Serial port with 1200 Baudrate.
  • Short the BOOT pads at the back of the device with a tweezer, then plug the USB into your PC.

Then you drag and drop the firmware.uf2 from .pio/build/pico/ in to the drive

Detail guide How to upload new firmware to PocketPD