Skip to main content

USB Programming Tool for WCH Microcontrollers

Project description

chprog - USB Programming Tool for WCH Microcontrollers

Description

With this tool, almost all WCH microcontrollers (CH5xx, CH32Fxxx, CH32Vxxx, CH32Xxxx, and CH32Lxxx) which have a factory-builtin bootloader (v2.x.x) can be flashed via USB.

Preparations

On Linux you do not need to install a driver for the USB bootloader. However, by default Linux will not expose enough permission to upload your code. In order to fix this, open a terminal and run the following commands:

echo 'SUBSYSTEM=="usb", ATTR{idVendor}=="4348", ATTR{idProduct}=="55e0", MODE="666"' | sudo tee /etc/udev/rules.d/99-ch55x.rules
echo 'SUBSYSTEM=="usb", ATTR{idVendor}=="1a86", ATTR{idProduct}=="55e0", MODE="666"' | sudo tee -a /etc/udev/rules.d/99-ch55x.rules
sudo udevadm control --reload-rules

For Windows, you need the CH372 driver. Alternatively, you can also use the Zadig Tool to install the correct driver. Here, click "Options" -> "List All Devices" and select the USB module. Then install the libusb-win32 driver. To do this, the board must be connected and the microcontroller must be in bootloader mode.

Installation

pip install chprog

Usage

The bootloader must be started manually for new uploads. To do this, the board must first be disconnected from the USB port and all voltage sources. Now press the BOOT button and keep it pressed while reconnecting the board to the USB port of your PC. The chip now starts in bootloader mode, the BOOT button can be released and new firmware can be uploaded via USB. Alternatively, you can leave the board connected to the USB port, press and hold the BOOT button, press and release the RESET button and then release the BOOT button to enter the bootloader mode. If there is no BOOT button on the board, look at the datasheet to find out which pin needs to be pulled to which voltage level for the microcontroller to go into boot mode.

Now run the following command (example):

chprog firmware.bin

Links

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

chprog-2.4.0.tar.gz (8.6 kB view details)

Uploaded Source

Built Distribution

chprog-2.4.0-py3-none-any.whl (8.4 kB view details)

Uploaded Python 3

File details

Details for the file chprog-2.4.0.tar.gz.

File metadata

  • Download URL: chprog-2.4.0.tar.gz
  • Upload date:
  • Size: 8.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.12

File hashes

Hashes for chprog-2.4.0.tar.gz
Algorithm Hash digest
SHA256 77065bb657036be71252bb4d0c8312ad1dacea09560749883f4294d2e3ed4e20
MD5 4f333f5d2b8adb9f49a512868c68f2bf
BLAKE2b-256 926fbb6e38a65a494cd59aba0bba0ab96363d3677c2445a5a730fccd7427675c

See more details on using hashes here.

File details

Details for the file chprog-2.4.0-py3-none-any.whl.

File metadata

  • Download URL: chprog-2.4.0-py3-none-any.whl
  • Upload date:
  • Size: 8.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.12

File hashes

Hashes for chprog-2.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 98af45690d5c7a211fe54cd72dfa837f78eccc7afa604620196389dbfe039ee2
MD5 668018b5681390205770612a3b5c5849
BLAKE2b-256 926a3409f05b8e8160c45320c2e070eb2cbbe7e10b87c119f7be18970d066764

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page