An open-source command line flasher program and SDK library for WCH(Nanjing QinHeng Corp.)'s CH55x family. Our Wiki contains a lot of useful tips, it's worth to check out!
The CH55x is a series of 8051 microcontroller with dedicated USB peripheral. CH553/CH554 can be programmed as a USB host. The cheapest one, CH551 only costs 1.5 CNY in retail. It is the ultimate and ideal solution for many low-end USB applications.
Up to now, we have tested out CH551 and CH554, all functions work fine except option byte.
If someone want to help me, please start, fork and support more chips, Thanks!
Implement chip programming via UART for devices workign on USB Host mode. (It is very simple to realize: just add serial port interface to the program and 0x619e, accumulate checksum in packet tail).
Implement new CH55x ISP protocol (for bootloader version > 2.30), for now we don't have any chip shipped with the new bootloader: WCH's FAE said that they will release chips with new bootloader after Apr.2018.
Contributions are always welcome
.bin
files, .hex
files will not be accepted.
The Eclipse SDCC environment with the setup described in our wiki automatically generates .bin
file. To convert a hex file to bin file, on Linux, use objdump
, on Windows, use hex2bin.exe
in win_tools.zip
.make
in usbisp
directory.make install
in usbisp
directory, you can also pass DESTDIR to the script to set installation path. Driver Installation
win_tools.zip
), open Options
menu and click List All Devices
,
you should be able to find your CH55x (Usually names USB Module
), optionally you can change its name by check the Edit
box. 4348 55E0
.libusb-win32
and click Install Driver
, quit Zadig after driver installation.
libusbK
driver won't work on some machine with very new USB 3.1 controller.
If your PC can not recognize the USB ISP device, try winusb
or libusb-win32
instead.Build Executables
msvc
folder and create a folder called libusb
under msvc
directory7z
or tar.bz
, then unzip it to msvc\libusb
. Now your msvc\libusb
should contain at least these folders : MS32
, MS64
and include
msvc\librech551.sln
and choose your targeting platform (e.g. Release x64), then start compiling.VC-LTL
.GPLv3