Skip to the content
2 layers61.8 × 21.6 mmUSBQuadMouse, the printed circuit board in 3D

CH554 based USB to Quadrature Mouse and Keyboard Interface

Size
61.8 × 21.6 mm
Copper layers
2
Thickness
1.6 mm
Parts
24
Nets
28
Pads
88
Tracks, vias
284, 23
Pours
4
Routed
Yes
KiCad
KiCad 7 (file 20221018)
Created
17 Dec 2024
Updated
31 May 2026

Overview

USBQuadMouse is an open-source printed circuit board by PR77, from the PR77/CH554_USBQuadMouseKeyboard repository on GitHub, published under the MIT licence. It is a 2-layer board of 61.8 × 21.6 mm with 24 parts on 28 nets, routed with 284 tracks and 23 vias.

It is built around the CH554T, IRLML6402 and SS16. Its parts include 5 resistors, 5 connectors, 4 capacitors, 3 switches and 2 diodes. It belongs with the keyboards and input and retro computing and games boards and the 8051 (CH55x, STC, AT89) boards of this library.

Main components

3

README

README.md

CH554 USB MOUSE + KEYBOARD <-> AMIGA X-LATER

USB MOUSE + KEYBOARD <-> AMIGA X-LATER 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 allows you to use a USB mouse or keyboard on an Amiga computer - of course only one-or-the-other is supported at any one time. It essentially converts a USB mouse to generate a quadrature signal stream, similarly it converts a USB keyboard keycodes (currently only DE is implemented) to work with an Amiga. There are many variants of such a project available, either using this micro controller or others, however I'm using this project as an opportunity to learn more about the WCH55x micro controller.

Appearance Breadboard Version

I forgot to take a picture of the mess of wires breadboard version, so here is a picture on some perf-board instead. I'm using the USB B socket for debugging and the USB A socket is for the Mouse Connection. Of course only 1 device (either PC for debugging or Mouse for using) can be connected. I got the two USB sockets from an old printer board I found lying around the house.

Perfboard

Appearance Final PCB Version

PCB version has been routed and manufactured for supporting a mouse or keyboard. Here is the usual 3D artwork of the design.

PCB

OLED is also supported so you can see some information for example keyboard and mouse report data.

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

24
QtyValueFootprintReferences
4100NCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC2, C3, C4, C5
210RResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR3, R5
1100KResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR6
110KResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR1
11KResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR7
15VJumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mmJP2
1AmigaKeyboardConnector_PinHeader_2.54mm:PinHeader_1x08_P2.54mm_VerticalJ5
1AmigaMouseConnector_Dsub:DSUB-9_Female_EdgeMount_P2.77mmJ4
1BuzzerBuzzer_Beeper:Buzzer_15x7.5RM7.6BZ1
1CH554TPackage_SO:TSSOP-20_4.4x6.5mm_P0.65mmU1
1IRLML6402Package_TO_SOT_SMD:SOT-23Q1
1LEDLED_SMD:LED_0805_2012Metric_Pad1.15x1.40mm_HandSolderD2
1OLEDConnector_PinSocket_2.54mm:PinSocket_1x04_P2.54mm_VerticalJ6
1SS16Diode_SMD:D_SMAD1
1SW_BOOTButton_Switch_SMD:SW_DIP_SPSTx01_Slide_Copal_CHS-01B_W7.62mm_P1.27mmSW1
1SW_BOOTLOADERButton_Switch_SMD:SW_DIP_SPSTx01_Slide_Copal_CHS-01B_W7.62mm_P1.27mmSW2
1SW_RESETButton_Switch_SMD:SW_DIP_SPSTx01_Slide_Copal_CHS-01B_W7.62mm_P1.27mmSW3
1SerialConnector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ2
1USB_AConnector_USB:USB_A_Molex_67643_HorizontalJ3
1VBUSJumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mmJP1

Similar boards

  • 2 layers107.7 × 49.8 mmUSBAuxKeyboard, the printed circuit board in 3D

    USBAuxKeyboard

    PR77/CH554_USBAuxKeyboard

    CH554 base AUX Keyboard Interface (Macro Pad OR3)

    66 partsMIT
  • 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
  • 2 layers96 × 71.6 mmA2DVI.v1.6, the printed circuit board in 3D

    A2DVI.v1.6

    rallepalaveev/A2DVI

    This is based on Clintech Pico Board (CPB) with 48 GPIOs, most 5V tolerant.

    112 parts82MIT
  • 12 layers180 × 150 mmMarble, the printed circuit board in 3D

    Marble

    BerkeleyLab/Marble

    Dual FMC FPGA carrier board developed for general purpose use in particle accelerator electronics instrumentation.

    1,006 parts35
  • 2 layers65 × 70 mmOpenradfan, the printed circuit board in 3D

    Openradfan

    andrekuehne/openradfan

    An ESPHome-driven controller for radiator fans to improve heat output

    49 parts29MIT
  • 8 layers180.6 × 148.5 mmAMC FMC Carrier PcbDoc, the printed circuit board in 3D

    AMC FMC Carrier PcbDoc

    BerkeleyLab/Marble-Mini

    "Marble-Mini" Simple FMC carrier board with SFP, 2x FMC, PoE

    931 parts24
  • 4 layers78.5 × 80 mmDmgplus, the printed circuit board in 3D

    Dmgplus

    Spritetm/dmgplus

    DMGPlus, upgraded internals for the original GameBoy

    108 parts19

Questions

How big is the USBQuadMouse PCB?

It measures 61.8 × 21.6 mm and has 2 copper layers, 1.6 mm thick.

What parts does the USBQuadMouse use?

24 parts, built around the CH554T, IRLML6402 and SS16. 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 USBQuadMouse KiCad files?

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

Can I use the USBQuadMouse 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).