
Key chain game console based on CH32V003
PROKey chain game console based on CH32V003
License
:CERN Open Hardware License
Description
Based on the CH32V003 keychain game console, a variety of mini games can be played, such as Little Bee, Pac-Man, etc.
This project is based on the CH32V003-GameConsole project of foreign developers. The PCB of the original project was relatively large, so I redrawn it to make it suitable for use as a keychain.
https://github.com/wagiminator/CH32V003-GameConsole
Finished Product Photos
As always, when making something yourself, you still have to build a more serious shell.
The size of the PCB after extreme compression is 24x40mm. After adding the battery, the dimensions of the overall housing excluding the keychain ring are 27mm wide, 42mm high, and 12mm thick. The front size is less than 2 coins 😃.
Hardware Selection
In order to be compatible with the original author's ROM, most of the BOM is the same as the original PCB. Here, only the direction buttons of the original version have been replaced by a five-way joystick. Everything else remains the same. In order to ensure the PCB size, the overall resistors and capacitors are packaged in 0603.
The main components can be purchased on Moubao, especially the electromagnetic buzzer, which is much cheaper on Moubao.
The overall BOM cost is less than 10 yuan, mainly because the screen is relatively expensive.
Also note that 12864 OLED requires purchasing the narrow bezel version.
Bit number | Element | Remark |
---|---|---|
BUZZER1 | 4kHz | Electromagnetic buzzer |
H3 | PZ254V-11-05P | Burn pin header, no soldering |
SW1 | MSK12C02-HB | Power switch |
SW2 | TM-4175-B-A | Five-way joystick |
SW3 | TS-1002S-06026C | Right button |
U1 | CH32V003F4P6 | Main chip |
U2 | BS-0601-SK-4W | CR2032 battery compartment |
U4 | HS96L03W2C03 | Screen pin header, no soldering required |
Schematic design
Compared with the original version, there are not many changes to the schematic diagram. The main changes are as follows:
1.The direction buttons have been replaced with five-way joysticks, and the joystick presses are also connected to the action buttons. In some games, you can play with a single joystick.
2.A current-limiting resistor is added to the buzzer. Otherwise, if the CR2032 is used for power supply when there is music, the current will easily be insufficient.
PCB Design
The entire PCB circuit is relatively simple, with the main components on the back and only the joystick, action buttons and screen on the front.
The package size of the 12864 OLED in LC EDA is not consistent with the size of the narrow-edge module purchased on Aobao. The actual size is used to draw the PCB board frame, so please pay attention.
PCB 3D Rendering
On the entire back, the CR2032 battery box occupies the largest volume. In order to facilitate the installation and removal of the battery, this type of battery connector is used. If you want to place larger parts, you can actually use the battery shrapnel directly. The overall game thickness is still good. Can be reduced a little more.
Welding and Debugging
This game console has too few components, so you can just mess around with it. Of course, you can still use a teppanyaki grill on the back.
The kraft paper stencil introduced before was used to apply the solder paste. Friends who are interested can learn more about it😃
- Take the savings to the end and DIY SMT stencils using a laser engraver and kraft paper
- An open source small steel mesh screen printing station project experience
The joysticks and buttons on the front can be clicked directly with electric chrome, which is relatively simple.
Note: When teppanyaki is used, it is recommended to add more solder paste to the contacts at both ends of the battery connector to increase strength and prevent the connector from falling off when disassembling and assembling the battery.
In addition, the bottom of the 12864 OLED screen is uneven, which is inconvenient when welding. I made a welding auxiliary tool to help level the screen. When welding, press and hold the top pin header area, and then solder the pins.
After the screen is soldered, you can solder the rocker and buttons. The pins of these two components are relatively large, so the soldering is relatively simple.
Firmware Burning
The original author has provided compiled firmware for several mini-games, which can be found at https://github.com/wagiminator/CH32V003-GameConsole/tree/main/software
Download, for example, to burn a Pac-Man game, you can first go to the tiny_pacman
directory and download the game firmware tiny_pacman.bin
. On macOS, I use wlink
to burn the firmware.。
Note: CH32V003 programming requires the use of the WCH Link-E programmer, which is not compatible with some other WCH chips and needs to be purchased separately.
Use the following command to complete burning:
wlink flash --address 0x8000000 ./tiny_pacman.bin
If the following content is displayed in the terminal, it means the firmware burning is successful~
After burning the game firmware, you can try it out to see if the joysticks and buttons work properly.
Shell Design
The outside still uses a sandwich structure, but this time because the PCB layout is too compact and there is not enough space for self-tapping screw holes, the back cover is not fixed with screws, and a card slot + buckle mode is directly used.
Just print out the shell and buttons and you can assemble it~
It is recommended to put the power switch side of the PCB into the case first, and then press it down as a whole. A slope is designed at the bottom of the case to clamp the PCB.
It is recommended to install the button keycap last. If the printing accuracy is not enough, it may become loose. You can use glue to fix it.
Once assembled, you can play at any time~
Firmware Download Address
The firmware can directly use the original author's firmware.
GitHub repository: https://github.com/wagiminator/CH32V003-GameConsole
Designed by wandaeda (from OSHWHub)
a:https://oshwhub.com/wandaeda/ji-yu-ch32v003-de-yue-chi-kou-you-xi-ji
Design Drawing


Comment