check in
Completed

Key chain game console based on CH32V003

PROKey chain game console based on CH32V003

tag

242
0
0
0
Mode:Full

License

CERN Open Hardware License

Creation time:2024-10-28 03:06:37Update time:2024-10-29 09:22:50

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😃

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

Design Drawing

Download File
The preview image was not generated, please save it again in the editor.

Attachments

OrderFile nameDownload times
1
Shell model
113
Add to Album
0
0
Share
Report

Comment

All Comments(1)
Sort by time|Sort by popularity
Followers0|Likes0
Related projects
Empty

Bottom Navigation