δΈ­ζ–‡ | English

Power-Pico

A Product-Grade Portable USB Ammeter and Low-Power Measurement Analyzer


--- ## πŸ“– Project Introduction **Power-Pico** is more than just a USB ammeter. It is a **high-precision, low-power analysis tool** designed specifically for embedded developers. To overcome the physical limitations of traditional ammeters in the ΞΌA-level measurement, Power-Pico adopts an innovative **multi-range auto-switching sampling** design, achieving full-range coverage from $1\mu A$ to $5A$.

my bilibili | demo video | hardware open source

### ✨ Core Features - **ΞΌA-Level High Precision**: Utilizes the INA190 zero-drift amplifier with three-resistor segmented sampling. - **Protocol Trigger**: Supports PD2.0 PPS protocol triggering, with up to 20V/5A output. - **High-Performance UI**: Based on STM32F411 + LVGL v9.2, providing a smooth real-time waveform display. - **Elegant PC Client**: Comes with the Power-Pico Client developed with PySide6, supporting data export and real-time power analysis. - **Universal Type-C**: All interfaces are Type-C, allowing for easy connection to accessories like Type-C to alligator clips. - **3D Printed Enclosure**: Provides a complete design for a user-friendly 3D printed enclosure and acrylic panel. --- ## πŸ› οΈ Hardware Parameter
| Module | Model | Advantage | | :--- | :--- | :--- | | **MCU** | STM32F411CEU6 | 100MHz high frequency, supports DSP instructions to accelerate waveform processing | | **Current Sensing** | INA190 | 0.5nA input bias current, the core guarantee for ΞΌA-level measurement | | **ADC** | 12-bit (STM32 Internal) | Achieves high-speed stable sampling above 10kHz with DMA | | **Screen** | 1.54" TFT (ST7789) | 240x240 resolution, high-contrast display |
--- ## πŸš€ Quick Replication ### 1. Hardware Solder the hardware yourself, or purchase a pre-soldered and assembled kit from Taobao. LCSC Open Source Hub page: https://oshwhub.com/no_chicken/powerpico ### 2. Firmware Compilation and Flashing The project is developed based on Keil MDK: 1. Clone the repository: `git clone https://github.com/kingham/Power-Pico.git` 2. Flash the BootLoader via the SWD port. 3. Compile PowerPico yourself. The generated `.bin` file can then be flashed using the PowerPico Client. ### 3. Assembly The physical assembly is shown in the figure below:

 

The exploded 3D view is as follows:

 

### 4. Running the PC Client Install and use the PowerPico Client. Currently, it only supports Windows operation system. ## πŸ› οΈ User Guide 1. Hardware Operation The button operations and various interface displays of Power-Pico are shown below. The top button is the **Page Switch/Boot** button. Press and hold the top button before powering on to enter Boot mode for a forced firmware upgrade. The Power-Pico hardware currently supports 2 languages: **Simplified Chinese/English**.

 

 

 

2. PPS Spoofing Instructions First, enter the Settings interface, go to the Spoof/Trigger option, click confirm to enter, and then you can adjust the voltage. Note: Currently, only PPS triggering is supported! Make sure to check if your charger block supports the corresponding protocols during testing.

3. Client Operation The PowerPico Client for PC can be used for waveform viewing, recording, exporting, and upgrading the firmware of the hardware. The client currently supports 4 languages: **Simplified Chinese/Traditional Chinese/English/Japanese**. For detailed instructions on using the PowerPico Client, please refer to: [Client Operation Manual](https://no-chicken.com/content/Power-Pico/UserManual/client_operation.html)

 

 

--- ## πŸ”οΈ Accuracy Measurement Note: There is usually a resistor (MΞ© level) between the VBUS and GND inside a Type-C cable, which will slightly affect the measurement. Comparison using an SDM3055 6.5-digit multimeter is shown below:

 

 

| SDM3055 Reading | Power-Pico Reading | Absolute Error | Relative Error | | :--- | :--- | :--- | :--- | | 52.03 uA | 52.05 uA | 0.02uA | 0.4% | | 518.84 uA | 518.4 uA | 0.5 uA | 1.0% | | 5.22 mA | 5.29 mA | 0.07 mA | 1.3% | | 469.3 mA | 482.7 mA | 13.4 mA | 2.9% | | 1.78 A | 1.81 A | 0.03 A | 1.7% | | 5.19 V | 5.24 V | 0.05 V | 1.0% | | 15.20 V | 15.56 V | 0.36 V | 2.4% | | 19.98 V | 20.17 V | 0.19 V | 1.0% |
--- ## πŸ“‚ Project Structure ```text Power-Pico/ β”œβ”€β”€ Firmware/ # Firmware, including BootLoader.hex and App.bin β”œβ”€β”€ Hardware/ # Schematics β”œβ”€β”€ 3D models/ # STL files for 3D printing the enclosure └── Software/ # MDK software project for PowerPico, including BootLoader and App ``` --- ## πŸ’» Code Framework Similar to previous projects, it uses a BootLoader + App structure for easy USB upgrades. The program partitioning is shown below.

High-speed data transmission is performed via USB. The data packet structure is shown below. Each packet contains 100 data sets, totaling 711 bytes including the header.

--- πŸ“– References --- 🀝 Contribute Welcome to submit Issues or Pull Requests to add new features to the project or fix code bugs!!