

Wiz lite
A small, 2 player capable, ch552 based, game console with a 14x9 rgb led screen.
- Size
- 56 × 71 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 161
- Nets
- 149
- Pads
- 598
- Tracks, vias
- 1,317, 333
- Pours
- 2
- Routed
- Yes
- KiCad
- KiCad 10.0 (file 20260206)
- Created
- 8 Oct 2026
- Updated
- 2 Nov 2026
Overview
Wiz lite is an open-source printed circuit board by Abean2k, from the Abean2k/Wiz-lite repository on GitHub, published under the MIT licence. It is a 2-layer board of 56 × 71 mm with 161 parts on 149 nets, routed with 1,317 tracks and 333 vias.
It is built around the CH552G and XL-0807RGBC-2812B-S. Its parts include 127 ICs, 13 resistors, 9 switches, 4 capacitors and 1 connector. It belongs with the lEDs and displays boards and the 8051 (CH55x, STC, AT89) boards of this library.
Main components
2README
README.mdWizLite
Design and Inspo:
I while back, I ordered some parts from LCSC, and as a part of that order I got a discounted CH552g chip. So, I wanted to find something cool and fun to do with it. My "solution", make a 'simple' two player game controller.
In the process of building this, I made a number of decisions that made what was supposed to be a simple game controller into... an overengineered, ambitious project. For example, a simple OLED screen would have worked but did I do that, no. I wanted to make a small matrix of LEDS, which then became a matrix of rgb LEDS, which then finally became a tiny (807 size) 14x9 LED matrix. Additionally, the form factor of this whole project is VERY small (only around 75x50mm), making it even more interesting ;)
PCB:
For this project I made a two-layer PCB on Kicad, I limited myself to two layers in order to reduce the cost of the pcb manufacturing and to make it simpler. The pcb is lightly bigger than 75x50mm, and is designed with the LED matrix screen in the middle, the buttons on the top and bottom, Ch552 + passives to the right, and USB + passives to left.
On the pcb, I added some text to demarcate the player one and player two sides, and I also added some pcb art to the front and back for aesthetics.
Schematic:
PCB Layout:
Assembly/Ordering:
The LED pads used on the pcb are technically over the "fine pitch" threshold of JLCPCB, and as such could be ordered with HASL. However, I recommend getting either OSP or ENIG as their pads are much flatter. When ordering, I would also make sure to order a stencil, as applying solder paste to the small led pads is very hard to do without applying excess solder. While soldering/reflowing, also make sure to not heat the leds too much (max 20 seconds at reflow tempurature).
You could also get the pcb assembled through something like JLCPCB PCBA service, however I chose not to for price saving reasons.
Firmware:
This project has the main firmware written in C, for the Arduino IDE, using the ch55xdunio library. Using C was new for me, but it was very similar to C++, and I was able to get a hang of it decently quickly. The basic idea is that the firmware drives the 9x14 RGB LED matrix, reads the user buttons, and executes game instructions. The firmware was (in my opinion) the hardest part of this project, but it also what I am most proud of. Anyway, here is the full breakdown of the code and other details about it.
Games (only one for now):
- Snake (single player)
- More TBD
Hold Player 1 LEFT + RIGHT for 2 seconds to leave a game and return to the menu.
How it works (like very high level) :
- Menu: A carousel of game cover pictures. LEFT/RIGHT pans, UP starts the selected game.
- Screen: screenUpdate(x, y, r, g, b) sets a pixel with (0,0) at the top left. It handles the split display, the zigzag LED wiring and a brightness limit so USB power limits aren't excided, and stores the result directly in the LED buffer. screenShow() sends that to the LEDs to acutally turn it on.
- Pictures: Each picture (like on the game cover carousel) has its own list of colors plus 14 rows of 9 characters. Use PictureMaker.html to draw one or import it from a Figma screenshot, and it writes the code for you. NOTE: This part (and only this part) of the code was made fully using AI, it looks vide coded, and that is because it is. Please understand if there are small bugs in it.
- Text: I added a 3x5 font (A-Z, 0-9) that can be called separately or with micro:bit style scrolling for longer texts.
Files:
| File | Purpose |
|---|---|
WizGameLite.ino | Game menu and game list |
WizBase.c / .h | Screen, buttons, text, shared pictures |
Snake.c / .h | Snake game and its cover picture |
PictureMaker.html | Tool for making pictures (opens in a browser, make sure javascript is enabled) |
PictureMaker:
Adding a game:
See the "HOW TO ADD A GAME" comment in WizGameLite.ino.
AI Usage:
The code for the actual controller was fully coded by me (with only limited debug and learning help from AI). However, the online picture maker was fully vibe code, and it was also the first time I ever have vibe coded :)
BOM:
| Part | Designators | Quantity | Retailer | Total Price | Link |
|---|---|---|---|---|---|
XL-0807RGBC-2812B-S (WS2812B-style addressable RGB LED, 2.0x1.8mm) C41413181 | U2–U127 | 126x5 (640 ordered) | LCSC | $13.38 | LCSC |
47uF ±10% 16V Ceramic Capacitor, 1210 (CS3225X7R476K160NRL) C5440143 | C3, C4 | 2x5 | LCSC | $2.23 | LCSC |
10kΩ ±1% 0805 Resistor (0805W8F1002T5E) C17414 | R1–R4, R7–R11 | 9x5 (100 MOQ) | LCSC | $0.34 | LCSC |
| 100n Capacitor, 0805 | C1, C2 | 2x5 | Already have | $0.00 | LCSC |
| 330Ω Resistor, 0805 | R12, R13 | 2x5 | Already have | $0.00 | LCSC |
| 5.1kΩ Resistor, 0805 | R5, R6 | 2x5 | Already have | $0.00 | LCSC |
| CH552G Microcontroller (SOIC-16) | U1 | 1x5 | Already have | $0.00 | LCSC |
| USB-C Receptacle (HCTL HC-TYPE-C-16P-01A) | J1 | 1x5 | Already have | $0.00 | LCSC |
| SMD Push Button Switch (TS-1088-xR020) | SW1–SW9 | 9x5 | Already have | $0.00 | LCSC |
| PCB (5x boards, Black, 1.6mm, OSP) | – | 1x5 | JLCPCB | $4.00 | – |
| SMT Stencil (75x100mm, no frame, top) | – | 1 | JLCPCB | $3.10 | – |
Parts Subtotal: LCSC ($15.95, after $1.15 discount) + JLCPCB ($7.10) = $23.05
Shipping: LCSC ($9.77) + JLCPCB ($11.83) = $21.60
Total Cost For 5 PCBs: $44.65
Parts
161| Qty | Value | Footprint | References |
|---|---|---|---|
| 126 | XL-0807RGBC-WS2812B-S | '${KICAD_3RD_PARTY}/EasyEDA.pretty:LED-SMD_4P-L2.0-W1.8_XL-0807RGBC-WS2812B-S | U10, U11, U100, U101, U102, U103, U104, U105, U106, U107, U108, U109, U110, U111, U112, U113 +110 |
| 9 | 10k | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R1, R2, R3, R4, R7, R8, R9, R10, R11 |
| 9 | SW_Push | Button_Switch_SMD:SW_SPST_TS-1088-xR020 | SW1, SW2, SW3, SW4, SW5, SW6, SW7, SW8, SW9 |
| 4 | TestPoint | TestPoint:TestPoint_Pad_D1.0mm | TP1, TP2, TP3, TP4 |
| 3 | LOGO | LOGO | G***, G***, G*** |
| 2 | 100n | Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C1, C2 |
| 2 | 330 | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R12, R13 |
| 2 | 47uF | Capacitor_SMD:C_1210_3225Metric_Pad1.33x2.70mm_HandSolder | C3, C4 |
| 2 | 5.1k | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R5, R6 |
| 1 | CH552G | Package_SO:SOIC-16_3.9x9.9mm_P1.27mm | U1 |
| 1 | USB_C_Receptacle_USB2.0_16P | Connector_USB:USB_C_Receptacle_HCTL_HC-TYPE-C-16P-01A | J1 |
Similar boards
- 4 layers100 × 100 mm

- 2 layers30.4 × 12.7 mm

- 2 layers40.6 × 27.9 mm

- 2 layers40 × 40 mm

- 2 layers38.6 × 15.7 mm

LIPS V3.2
milar111/L.I.P.S.
OpenSource Affordable SipAndPuff device: Linear Interface for Paralysis Support
21 parts13 - 2 layers28.4 × 15.9 mm

- 2 layers51 × 44 mm

- 2 layers105.9 × 83.1 mm

BSidesDFW 2019
gowenrw/BSidesDFW_2019_Badge
This is where all the files for the BSidesDFW 2019 Badge will be stored. This includes code and art and cab and fab files. All the things.
30 parts5MIT
Questions
How big is the Wiz lite PCB?
It measures 56 × 71 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Wiz lite use?
161 parts, built around the CH552G and XL-0807RGBC-2812B-S. 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 Wiz lite KiCad files?
From the Abean2k/Wiz-lite repository on GitHub, at the commit this page was made from: the board is WizLite PCB/WizLite.kicad_pcb and its schematic WizLite PCB/WizLite.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Wiz lite 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).