Public Domain

Recommend Projects

Cheap USB GamePad using CH551G

1 year ago 506
  • Description
  • Documents
  • BOM
  • Attachments
  • Members
  • Comments


This is a work in progress; absolutely untested!

The estimated cost per gamepad when a set of five is built, is on the order of USD $2 - $3. The design (both schematic and the board design) are in Public Domain.

The microcontroller used is WCH CH551G, and the board uses 5V logic throughout. All components should be obtainable from LCSC, and the board is 98mm × 48mm, for manufacturing at JLCPCB.

There are 12 normal buttons: two sets of four 12mm buttons, and two sets of two 6mm buttons. These are in a 4×3 matrix with dual Schottky diodes, so each button state is detected separately, regardless of the states of the other buttons. The pads are connected diagonally, so any 4-pin buttons of the correct size (12mm×12mm and 6mm×6mm) can be used. The bill of materials (BOM) does NOT include the button caps for the eight 12mm buttons.

Near the bottom edge of the board, there are two optional buttons, for reset and programming, respectively. These can be omitted. (The reset button needs to be pressed, or the two diagonal pads shorted, when plugging the gamepad, to enable programming over USB.)

There are five through-hole pads at the bottom of the board. These provide 5V MOSI, SCK, and Data/Command pins for display modules. An optional upper board with the same dimensions can be used as the top surface, and that can contain necessary voltage conversion and buffering (to 3.0V for OLED displays, for example) and the display panel, with holes for the tactile buttons' caps to poke through. (Note: You'll want to use 6mm buttons with longer stems than the ones in the BOM. The optional reset and programming buttons should be hidden underneath the upper board, with just holes to poke the buttons with a paperclip or similar.) The four holes in the board are intended for standoffs between the two boards. The regions marked with small silkscreened circles on both sides of the board are for additional supports; it is safe to drill a small hole inside these circles.

Alternatively, one can 3D print a shell for the gamepad. The board shape is an oval, formed by two Ø48mm circles 50mm apart. There is clearance at the outer edge of the board for a clamshell to clip to, so that four screws (through the four holes) clamp the two sides together robustly. I recommend using the silkscreen-circled areas for support stems to the shell.

In case the CH551G pins are output-high at bootup, the pins are protected by the Schottky diodes (outputs OUTA-OUTD) and by 10 kOhm current-limiting resistors (inputs IN1-IN3). The inputs also have 100 kOhm pull-down resistors. Debouncing will be done in software. This should make the design rather robust against programming errors. There is no protection against USB issues, though; it is cheaper to replace the microcontroller than add protection against USB voltage spikes.


Version 1

Board 1


ID Name Designator Footprint Quantity BOM_Manufacturer Part BOM_Manufacturer BOM_Supplier BOM_Supplier Part
1 U-F-F5DD-Y-L2 USB1 MICRO-USB-SMD_U-F-F5DD-Y-L2 1 U-F-F5DD-Y-L2 Korean Hroparts Elec LCSC C283552
2 CH551G U1 SOP-16_L10.0-W3.9-P1.27-LS6.0-BL 1 CH551G WCH LCSC C108958
3 100k R6,R7,R8 R0805 3 0805W8F1003T5E Uniroyal Elec LCSC C149504
4 BAT54C D1,D5,D3,D2,D6,D4 SOT-23-3_L2.9-W1.6-P1.90-LS2.8-BR 6 BAT54C,215 Nexperia LCSC C37704
5 12x12x7.3mm SW1,SW6,SW3,SW8,SW5,SW2,SW4,SW7 TACTILE_SWITCH-4P-12X12MM-5.5MM 8 UK-B0262-FT-CJ-Y-160 USAKRO LCSC C556686
6 UK-B0201-G3.8-250 SW11,SW9,SW14,SW10,SW12,SW13 SW-TH_4P-L6.0-W6.0-P3.5 6 UK-B0201-G3.8-250 USAKRO LCSC C556667
7 100nF C1,C2 C0805 2 CL21B104KBCNNNC SAMSUNG LCSC C1711
8 10k R1,R2,R3,R4,R5 R0805 5 0805W8J0103T5E UniOhm LCSC C25612


The owner does not allow comments in this project now

Comments (0)

如果需要转移工程请在个人中心 - 工程 - 工程高级设置 - 下载工程,下载后在 打开保存即可。
有问题联系QQ 3001956291 不再提醒
svg-battery svg-battery-wifi svg-books svg-more svg-paste svg-pencil svg-plant svg-ruler svg-share svg-user svg-logo-cn svg-double-arrow
We use cookies to offer you a better experience. Detailed information on the use of cookies on this website is provided in our Privacy Policy. By using this site, you consent to the use of our cookies.