AVR Firmware Overview#
The CH552 Multi-Protocol Programmer relies on the PICO-AVR firmware for correct operation. This firmware, designed to run on CH55x microcontrollers, transforms the CH552 into a versatile USB-to-ISP bridge. It supports ISP AVR programming protocol, making it compatible with a wide range of AVR devices.
The programmer integrates seamlessly with development environments such as the Arduino IDE. It can be selected under Tools → Programmer as either USBasp or a custom driver name, allowing for easy bootloader installation and firmware updates on AVR microcontrollers like the ATmega328P.
Warning
The PICO-AVR firmware is available under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Additional resources:
Github: wagiminator
EasyEDA: wagiminator at EasyEDA
License details: Creative Commons Attribution-ShareAlike 3.0 Unported License
Firmware Update Procedure#
Note
The recommended implementation workflow is PlatformIO. Use PlatformIO Support for CH55x for installation, build, and upload guidance. Legacy Makefile/container builds are documented only in Optional Docker and spkg.
To use the Multi-Protocol Programmer in PICO ASP mode, build the firmware
with the SDK workflow that matches your project. PlatformIO is recommended for
new projects. Legacy Makefile examples generate a .bin file inside the
project build directory.
WCHIspStudio Interface#
Launch WCHIspStudio to upload the firmware.
WCHIspStudio Configuration
In the Object File 1 field, select the path to the generated .bin firmware file.
Enable the option “Automatic Download When Device Connect”.
Click the … button to browse and confirm the correct firmware path.
Warning
Before connecting the CH552 programmer, ensure the device is powered with +5V. Use the onboard switch to select the appropriate voltage.
Press the Boot button and connect your Multi-Protocol Programmer to the computer.
Await the completion of the firmware update process.
Completion Notice: The firmware has been successfully updated, and the UNIT CH552 Multi-Protocol Programmer is now ready for use.