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:

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

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.

Resources#

  1. EasyEDA Design Files

  2. WCH: CH552 Datasheet

  3. SDCC Compiler

  4. Blinkinlabs: CH55x SDK for SDCC

  5. Thomas Fischl: USBasp

  6. Ralph Doncaster: USBasp

  7. Deqing Sun: CH55xduino