Navigation | AeonLabs Main Index >> Open Source Code Software >> WCH Vendor ID Programming
Change Language
Last update: 23-12-2023
CH340B Configuration Tool Aeonlabs fork
This CH340B Configuration Utility is a .Net Framework WinForms Application made by ENTHILNATHAN THANGAVEL - a configuration utility built especially for WCH (WinChipHead) USB-UART Bridge chip - CH340B. The CH340B is a USB to UART Bridge that can be used to provide the Virtual Serial Port interface through USB.
With this application you can read and update the configuration data of CH340B.
The configuration data such as Vendor ID, Product ID, Product Name, Serial Number can be read / modified and written to the CH340B chip. This application requires .Net Framework 4.7.2 or above.
Adafruit's Simple Arduino-based USB VID & PID tester
This is a project Adafruit uses to check incoming goods as well as QC products out of manufacturing. If you have a USB device, the chip inside has a unique VID (vendor ID) and PID (product ID). For non-programmable parts, this pair is 'fixed' by the chipset itself. For programmable parts, like a microcontroller, the VID/PID is programmed in. Basically, you can use it to check chipsets and/or whether your Flora, say, has the right bootloader installed.
// include the library code:
#include <Wire.h>
#include <utility/Adafruit_MCP23017.h>
#include <Adafruit_RGBLCDShield.h>
#include <avrpins.h>
#include <max3421e.h>
#include <usbhost.h>
#include <usb_ch9.h>
#include <Usb.h>
#include <usbhub.h>
#include <address.h>
USB Usb;
Adafruit_RGBLCDShield lcd = Adafruit_RGBLCDShield();
void setup () {
Serial.begin(9600); /* Initialize serial for status msgs */
Serial.println(F("\nVID PID tester"));
lcd.begin(16, 2);
lcd.setBacklight(0x7);
lcd.print("USB VID/PID Test");
lcd.setCursor(0,1);
lcd.print("Waiting for USB");
}
void loop (void) {
// initialize USB
Serial.println("USB Start");
if (Usb.Init() == -1) {
Serial.println("OSC did not start.");
while (1);
}
Serial.println("Waiting for connection...");
while (1) {
Usb.Task();
if( Usb.getUsbTaskState() == USB_STATE_RUNNING ) break;
}
uint8_t rcode = 0;
byte num_conf = 0;
USB_DEVICE_DESCRIPTOR buf;
rcode = Usb.getDevDescr(1, 0, 0x12, ( uint8_t *)&buf );
if( rcode ) {
Serial.print("USB ERROR: "); Serial.println( rcode );
while (1);
}
Serial.print("VID: 0x"); Serial.print(buf.idVendor, HEX);
Serial.print(" PID: 0x"); Serial.println(buf.idProduct, HEX);
lcd.clear();
lcd.print("VID: "); lcd.print(buf.idVendor, HEX);
lcd.setCursor(0,1);
lcd.print("PID: "); lcd.print(buf.idProduct, HEX);
Serial.println("***Done!***");
while (1);
}
You can get in touch with me on my LinkedIn Profile:
You can also follow my GitHub Profile to stay updated about my latest projects:
Hire me
See here how to hire AeonLabs.
The PCB design Files I provide here for anyone to use are free. If you like this Smart Device or use it, please consider buying me a cup of coffee, a slice of pizza or a book to help me study, eat and think new PCB design files.
Make a donation on PayPal and get a TAX refund*.
Liked any of my PCB KiCad Designs? Help and Support my open work to all by becoming a GitHub sponsor.
Before proceeding to download any of AeonLabs software solutions for open-source development and/or PCB hardware electronics development make sure you are choosing the right license for your project. See AeonLabs Solutions for Open Hardware & Source Development for more information.