Store

Adafruit

· MPN: ADA5973

$13.46 |
In stock at supplier
No reviews yet

The Adafruit CH9328 UART to HID Keyboard Breakout lets any microcontroller or single-board computer emulate a USB keyboard — even without native USB support....

Estimated Delivery
Arrives
Disclaimer
View Markdown
Secure checkout

The Adafruit CH9328 UART to HID Keyboard Breakout lets any microcontroller or single-board computer emulate a USB keyboard — even without native USB support. Simply send ASCII characters or raw HID reports over a 9600-baud serial connection, and the CH9328 converts them into real keypresses on the connected computer, laptop, or mobile device.

The breakout includes a USB Type-C port for easy plug-and-play connection to a host device, plus a JST SH connector for solderless wiring to your microcontroller. Four on-board DIP switches configure the operating mode before power-up.

Key Features

  • UART to USB HID Keyboard – Converts serial data into standard USB keyboard keypresses
  • USB Type-C Output – Plug directly into any computer, laptop, phone, or tablet
  • 9600 Baud 3V UART Input – Works with hardware or software serial from any microcontroller or SBC
  • 4 DIP Switches – Configure operating mode before power-up
  • JST SH Connector – Solderless connection option (5V, GND, data in)
  • 5V Power Output – Power your microcontroller from the USB host via the 5V and GND pads
  • Reset Line – Hardware reset input for reliable operation

DIP Switch Modes

  • Mode 0 (SW 2, 3, 4 ON) – ASCII characters sent as-is; 0x1B triggers Enter key
  • Mode 1 (SW 2, 4 ON; SW 3 OFF) – ASCII characters sent as-is, no special key mapping
  • Mode 2 (SW 2, 3 ON; SW 4 OFF) – ASCII characters sent as-is; 0x28 triggers Enter key
  • Mode 3 (SW 3, 4 ON; SW 2 OFF) – Raw 8-byte HID reports for full control over keypresses, key holds, and non-US keyboard layouts
Tip: Mode 3 is recommended for most applications as it gives you full control over keypresses and supports non-US keyboard layouts. Use the Adafruit CH9328 library for easy Mode 3 integration.

Ideal For

  • Adding keyboard emulation to boards without native USB (ATmega328, ESP32, ESP8266)
  • Automating keyboard input from a Raspberry Pi or other SBC
  • Building custom macro keyboards or input devices
  • Cross-device typing — have one computer type into another

Package Contents

  • 1× Adafruit CH9328 UART to HID Keyboard Breakout

Jargon buster

Plain-language definitions for the technical terms used above.

baud
Baud is the signalling rate of a serial connection, often used as the speed setting for UART communication. Matching the baud rate matters because both connected devices must use the same setting for readable data.
breakout
A breakout is a small circuit board that makes a tiny or hard-to-solder component easier to connect to with standard pins. It matters because this OLED module can be wired into a microcontroller project without needing to solder directly to the display’s fine contacts.
DIP switch
A DIP switch is a small set of physical on/off switches used to configure hardware settings without software. It matters because changing features such as auto power-on or charging limits may require moving these tiny switches correctly.
ESP32
ESP32 is a family of microcontroller modules with built-in wireless features such as Bluetooth and WiFi. Knowing this product uses an ESP32-based module helps explain how it provides wireless serial communication and firmware update features.
HID
Human Interface Device is a USB device class used for keyboards, mice, gamepads and similar controls. If a board supports HID over USB, it can act like an input device to a computer without needing a custom driver.
microcontroller
A microcontroller is a small computer on a chip that runs your program and controls connected inputs and outputs. For this product, it is the part that reads buttons and sensors, drives the display and speaker, and communicates over Bluetooth.
native USB
Native USB means the microcontroller itself handles USB communication, rather than using a separate USB-to-serial chip. This matters for programming, debugging, and projects that need the board to act directly as a USB device.
single-board computer
A complete computer built onto one circuit board, usually including the processor, memory, ports, and connectors. This matters because accessories like heatsinks must match the board’s layout and mounting holes to fit properly.
UART
UART is a simple serial connection that sends data over separate transmit and receive wires, often labelled TX and RX. It matters because this module is designed to replace a wired UART cable with a wireless link while keeping the same serial data format.
USB host
A USB host is the side of a USB connection that controls attached devices, like a computer talking to a keyboard or flash drive. This matters because most microcontroller boards are normally USB devices, so adding USB host support lets them use common USB peripherals.
USB Type-C
A reversible USB connector used for power and data on many modern devices. On this kit it indicates an alternate 5V power input, which may be useful for setup or charging without the solar panel.
Stella
Stella Expert

Ask me anything about this product

Maddy, co-founder of Little Bird

Need help? We're here for you!

Hi, I'm Maddy. My team and I are ready to help with your order or any questions.