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 |
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.
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.)
- USB Full-Speed (CDC/HID)
- Voltage selector: 3.3V / 5V
- SWD / JTAG / UPDI / USBasp support
- Works with popular tools (avrdude, OpenOCD, Quartus, etc.)
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 |
-
Enter Bootloader Mode:
- Hold
BOOT
, plug USB, release.
- Hold
-
Flash Firmware:
python3 tools/chprog.py firmware/firmware_name.bin
Or use WCHISPTool on Windows.
# Linux (Debian/Ubuntu)
sudo apt install build-essential sdcc python3-pip git
pip3 install pyusb
For Windows: Download SDCC, Python 3, and Git.
-
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
- Hardware: CC BY-SA 4.0
- Firmware & Software: MIT License
- Third-party components: see individual
LICENSE
files