Skip to the content
2 layers107.7 × 49.8 mmUSBAuxKeyboard, the printed circuit board in 3D

CH554 base AUX Keyboard Interface (Macro Pad OR3)

Size
107.7 × 49.8 mm
Copper layers
2
Thickness
1.6 mm
Parts
66
Nets
44
Pads
256
Tracks, vias
481, 191
Pours
9
Routed
Yes
KiCad
KiCad 7 (file 20221018)
Created
1 Mar 2026
Updated
28 Sep 2026

Overview

USBAuxKeyboard is an open-source printed circuit board by PR77, from the PR77/CH554_USBAuxKeyboard repository on GitHub, published under the MIT licence. It is a 2-layer board of 107.7 × 49.8 mm with 66 parts on 44 nets, routed with 481 tracks and 191 vias.

It is built around the CH554T, WS2812B and SP0503BAHTG, with the SP0502BAHTG, IRLML6402 and SS16 among its other parts. Its parts include 18 diodes, 17 capacitors, 12 resistors, 4 switches and 3 connectors. It belongs with the keyboards and input boards and the 8051 (CH55x, STC, AT89) boards of this library.

Main components

6

README

README.md

CH554 AUX KEYBOARD INTERFACE

USB MACRO PAD (AUX Keyboard Interface) based on the WCH554 MCS51 based chip with USB Device + Host Interface.

Warning

This design has not been compliance tested and will not be. It may cause personal damage to you or others. I take no responsibility for this. I accept no responsibility for any damage to any equipment that results from the use of this design and its components. IT IS ENTIRELY AT YOUR OWN RISK!

Overview

This project is essentially an open source macro pad which emulates a USB Keyboard, Mouse and Comsumer Device. Additionally, there is an OUT USB end point supported to allow for HOST communication back to the device. My target is to make this easily configurable so different functions can be added to the Rotary Encoder, Push Buttons and OLED display. I'm using this project as an opportunity to learn more about the WCH55x micro controller.

Appearance Final PCB Version

PCB version has been routed manufactured and tested. Gerbers and design now available as it works as expected. Here is the usual 3D artwork of the design.

PCB PCB PCB

Credits

I refacted a lot of the original libraries into various software components. However there were some repos which provided me with excellent information, tools and resources;

Parts

66
QtyValueFootprintReferences
17100NCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC1, C2, C3, C4, C5, C6, C7, C8, C10, C11, C12, C13, C14, C15, C16, C17 +1
12WS2812BLED_SMD:LED_WS2812B_PLCC4_5.0x5.0mm_P3.2mmD5, D6, D7, D8, D9, D10, D11, D12, D13, D14, D15, D16
5MountingHole_PadMountingHole:MountingHole_2.2mm_M2_Pad_ViaH1, H2, H3, H4, H5
310KResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR6, R11, R12
3SP0503BAHTPackage_TO_SOT_SMD:SOT-143D2, D17, D18
20RResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR5, R7
210RResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR3, R4
222RResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR8, R9
25K1Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR1, R2
2SP0502BAHTPackage_TO_SOT_SMD:SOT-23D3, D4
1100KResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR10
15VJumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mmJP2
1BuzzerBuzzer_Beeper:Buzzer_15x7.5RM7.6BZ1
1CH554TPackage_SO:TSSOP-20_4.4x6.5mm_P0.65mmU1
1IRLML6402Package_TO_SOT_SMD:SOT-23Q1
1OLEDConnector_PinSocket_2.54mm:PinSocket_1x04_P2.54mm_VerticalJ3
1RotaryEncoder_SwitchRotary_Encoder:RotaryEncoder_Alps_EC11E-Switch_Vertical_H20mmSW3
1SS16Diode_SMD:D_SMAD1
1SW_BOOTButton_Switch_SMD:SW_SPST_B3U-1000PBOOT
1SW_MACRO_1Button_Switch_Keyboard:SW_Cherry_MX_1.00u_PCBSW2
1SW_MACRO_2Button_Switch_Keyboard:SW_Cherry_MX_1.00u_PCBSW4
1SW_MACRO_3Button_Switch_Keyboard:SW_Cherry_MX_1.00u_PCBSW5
1SW_RESETButton_Switch_SMD:SW_SPST_B3U-1000PRESET
1SerialConnector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ1
1USB_C_Receptacle_USB2.0Connector_USB:USB_C_Receptacle_HCTL_HC-TYPE-C-16P-01AJ2
1VBUSJumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mmJP1

Similar boards

  • 2 layers61.8 × 21.6 mmUSBQuadMouse, the printed circuit board in 3D

    USBQuadMouse

    PR77/CH554_USBQuadMouseKeyboard

    CH554 based USB to Quadrature Mouse and Keyboard Interface

    24 parts8MIT
  • 2 layers285 × 94.6 mmKeyboard, the printed circuit board in 3D

    Keyboard

    Lotlab/Lot60-BLE-Keyboard

    A 60% bluetooth keyboard (Hardware)

    211 parts167CC-BY-SA-4.0
  • 2 layers76.2 × 46.9 mmIoT Messenger, the printed circuit board in 3D

    IoT Messenger

    PR77/IoT_Messenger

    IoT Messenger (Pager) For Simple 1 Way Communication

    64 parts3LGPL-3.0
  • 4 layers64.5 × 73.6 mmTafiti Ground Comms, the printed circuit board in 3D

    Tafiti Ground Comms

    tafiti-org/Subsytems

    All the different subsystems

    69 parts1MIT
  • 4 layers75 × 38.6 mmHuffAndPuff, the printed circuit board in 3D

    HuffAndPuff

    dmanla/AccessibilityHeadsetDevkit

    A development kit for the creation of an accessibility driven platform.

    149 parts
  • 2 layers28 × 65 mmPresence Sensor, the printed circuit board in 3D

    Presence Sensor

    Sanderhuisman/Presence-Sensor

    77 partsMIT
  • 2 layers64.8 × 62.2 mmWLED V0.1, the printed circuit board in 3D

    WLED V0.1

    Krishnawa/WLED_HW

    WLED Hardware

    55 parts1
  • 2 layers99.3 × 78 mmFlowerManager, the printed circuit board in 3D

    FlowerManager

    HobbyFactory/PCB-Flower-Manager

    115 parts

Questions

How big is the USBAuxKeyboard PCB?

It measures 107.7 × 49.8 mm and has 2 copper layers, 1.6 mm thick.

What parts does the USBAuxKeyboard use?

66 parts, built around the CH554T, WS2812B, SP0503BAHTG and SP0502BAHTG. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the USBAuxKeyboard KiCad files?

From the PR77/CH554_USBAuxKeyboard repository on GitHub, at the commit this page was made from: the board is Hardware/USBAuxKeyboard.kicad_pcb and its schematic Hardware/USBAuxKeyboard.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the USBAuxKeyboard design in my own project?

Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).