- New
Product description: CH9328 - UART to USB HID converter - Adafruit 5973
The Adafruit converter is a great tool for those looking to add USB keyboard emulation to projects with microcontrollers that don’t have native USB support. The board uses the CH9328 chip, which converts data sent over the UART port into HID reports , allowing things like automatic text entry on your computer, tablet, or phone. While the board is ready to work “out-of-the-box,” it also allows you to configure modes with four switches. This lets you customize how data is converted to keystrokes—from simple ASCII characters to more advanced HID reports. The board supports communication on a standard UART port, and you connect it to your microcontroller using a JST SH connector or standard pins . The board also has a USB Type-C port for power and data, allowing easy connection to any computer, laptop, or phone.
![CH9328 - UART to USB HID Converter - Adafruit 5973](https://cdn3.botland.store/img/art/inne/25266_2b.jpg)
The module can convert ASCII or 8-byte reports, read via a standard UART serial port, into keystrokes.
Main features of the converter
- USB Keyboard Emulation : Allows data from the UART port to be transmitted as keystrokes on a computer
- Support for various microcontrollers : ideal for ATmega328, ESP32, ESP8266, or Raspberry Pi
- Multi-function switches : allow configuration of modes (ASCII or raw HID reports)
- Simple UART connections : makes it easy to connect to a microcontroller using JST SH connector or pins
- USB Type-C Port : Provides power and HID connection to a computer, tablet or phone
- JST SH connector : designed for easy connection to microcontrollers without the need for soldering
Board pins
- USB Type-C Port : A connector for connecting to a computer, tablet or phone that powers the board and provides a HID connection
- VCC (5V) : Power supplied by USB Type-C port, 5V
- GND : common ground for power supply and logic
- RX (UART) : UART RX input to receive data from microcontroller (TX)
- RST : Reset line, allowing for a hard reset of the board
- JST SH port : connector for connecting an external UART device (requires JST SH cable, not included)
Programming the board using CircuitPython and Python
The CH9328 board is easy to program using CircuitPython and the Adafruit_CircuitPython_CH9328 library. To get started, simply install the library using the pip3 install adafruit-circuitpython-ch9328
command. For Raspberry Pi, you'll need to connect the board to the appropriate UART pins , and make sure your system supports I2C and UART . Once the library is installed, you can use it in Python to send messages over UART. For example, in Python code, when a UART connection is initiated, the board can send text (such as "Hello World!") to your computer as a simulation of keystrokes . Once the text is sent, you can use keycodes to clear the text you've typed, such as the BackSpace key. Programming the board is possible on a variety of platforms that support UART, such as the Raspberry Pi, as well as on microcontrollers running CircuitPython.
Before powering up the board, make sure the switches on the CH9328 board are set to mode 3 (switch 2 off, switches 3 and 4 on).
Technical specification of the board
- Supply voltage: 5 V (via USB Type-C) or 3 V (after appropriate setting)
- UART Speed: 9600 baud (speed selectable)
- Compatibility: ATmega328, ESP32, ESP8266, Raspberry Pi, and other platforms with UART
- Connectors: USB Type-C, JST SH, UART RX, GND, Reset
- Modes: 4 switching modes for different types of HID reports
- Dimensions: 26.4 x 20.3 x 4.6 mm
- Weight: 2.7 g
Kit Contents
- 1x CH9328 - UART to USB HID converter - Adafruit 5973
- 1x 4-pin goldpin connector