Skip to content

UNIT-Electronics-MX/unit_ch552_multiprotocol_programmer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Multi-Protocol Programmer

Multi-Protocol Programmer

Resources

Resource Link
Wiki Development Boards Wiki
Documentation unit_multiprotocol_programmer_platform
Getting Started Initial Setup
Schematic & PCB Hardware Files
Firmware & SDK SDK & Firmware
Main Repository GitHub Repo

Firmware Required

This programmer requires specific firmware depending on the protocol:

  • AVR: USBasp & UPDI
  • ARM: CMSIS-DAP (SWD/JTAG)
  • CPLD: USB-Blaster (JTAG)

Load the correct .bin before use. Without it, the device won’t function properly.

Overview

The Multi-Protocol Programmer is a USB tool based on the CH552 microcontroller. It supports flashing and debugging of:

  • AVR microcontrollers (ATmega, ATtiny, AVR-DA)
  • ARM Cortex-M devices (STM32, nRF52, SAM, etc.)
  • Intel/Altera MAX II CPLDs (EPM240, EPM570, etc.)

Features

  • USB Full-Speed (CDC/HID)
  • Voltage selector: 3.3V / 5V
  • SWD / JTAG / UPDI / USBasp support
  • Works with popular tools (avrdude, OpenOCD, Quartus, etc.)

Supported Protocols

Firmware Protocols Target Devices Interface Tools
AVR USBasp, UPDI ATmega, ATtiny CDC/HID avrdude, Arduino IDE
CMSIS-DAP SWD, JTAG STM32, nRF52, ESP32-C3 HID+CDC OpenOCD, PyOCD, Keil
CPLD USB-Blaster EPM240, EPM570, MAX II HID Quartus Prime

Flashing Firmware

  1. Enter Bootloader Mode:

    • Hold BOOT, plug USB, release.
  2. Flash Firmware:

    python3 tools/chprog.py firmware/firmware_name.bin

    Or use WCHISPTool on Windows.

Install Requirements

# Linux (Debian/Ubuntu)
sudo apt install build-essential sdcc python3-pip git
pip3 install pyusb

For Windows: Download SDCC, Python 3, and Git.

Troubleshooting

  • Device not recognized? ➤ Check firmware & USB drivers (use Zadig on Windows)

  • Programming error? ➤ Verify voltage level (3.3V/5V), connections & cable quality

  • Slow upload? ➤ Reduce SWD/JTAG frequency or use shorter cables

License

  • Hardware: CC BY-SA 4.0
  • Firmware & Software: MIT License
  • Third-party components: see individual LICENSE files

About

CH552 Multi-Protocol Programmer: USB tool for flashing/debugging via SWD, JTAG, ISP or UART. Compact, open-source, and versatile.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •