

To bring everything together, we designed a custom PCB that integrates a 14×20 LED matrix, input buttons, and a dedicated power management circuit. The entire system is powered by a LiPo cell, with an onboard power management IC responsible for charging and discharging the cell.
This article covers the complete build process of this project; let's get started.
MATERIALS REQUIRED
The following materials were used in this project:
- Custom PCB (Provided by HQ NextPCB)
- RP2040 Tiny Waveshare board
- WS2812B 2020 Package LEDs
- 100 nF Capacitors 0603 Package
- 10 uF Capacitor 1206 Package
- IP5306
- 10 uH Inductor
- Indicator LED 0805 Package
- USB Type-C port
- Push Buttons 6x6 SMD
- 2 Ohms 1206 Package
- RP2040 Tiny Programmer
- 3D Printed Enclosure
3D MODEL






This project started in Fusion 360. We first imported the 3D models of the WS2812B 2020 package LEDs into Fusion, along with the CAD models of the SMD switches, USB Type-C port, RP2040 Tiny, and the battery.
We then designed a 91 × 47 mm PCB. The upper section of the board was dedicated to the RGB LEDs, where we used the pattern feature to create a 14-row by 20-column LED matrix. In the lower section, we placed the SMD switches following a Game Boy–style layout, with a D-pad consisting of UP, DOWN, LEFT, and RIGHT buttons, followed by the A and B buttons.
The RP2040 Tiny was placed on the backside of the PCB. Alongside this, we also modeled an enclosure to hold the PCB securely in place, cover the backside containing the battery, and make the device comfortable to hold. We even added a ring at the top of the enclosure, which serves as a design element and allows an ID card strap to be attached so the device can be worn as a badge or hung somewhere.
After finalizing the model, we exported the enclosure mesh and 3D printed it on my new Anycubic Kobra S1 using Hyper PLA, and the print turned out really clean. I had been using an Ender 3 for a long time, and this upgrade turned out to be exactly what I needed for projects like this.
We also exported key dimensions for component placement, board outline, and general layout reference. These dimensions were later used during the PCB design process.
PCB DESIGN







The PCB design process begins with preparing the schematic for the project. In our case, we had previously worked with WS2812B 2020 package LEDs. These LEDs are not the easiest to work with because of their small size, but that same compact form factor is exactly what makes them ideal for matrix-based projects.
We reused the schematic from our earlier 8×8 Tiny Matrix project as a starting point. Instead of an 8×8 layout, we expanded the design to a 14×20 matrix by adding more LEDs.
We then added another section to the schematic for the RP2040 Tiny board, which was connected to six push buttons. All buttons are connected to GND and individual GPIO pins. When a button is pressed, it pulls the corresponding GPIO pin low, and the microcontroller registers this as a button press.
We used the Waveshare's RP2040 Tiny, which is an RP2040-based SMD development board designed to be mounted directly onto a PCB as a module, similar to ESP-12F or ESP32 modules. The RP2040 Tiny features castellated pads, which allow it to be soldered onto the backside of the PCB and integrated cleanly into the overall design.
Check out its wiki for more info—https://www.waveshare.com/wiki/RP2040-Tiny
For power, we’ve included our trusted IP5306—a power management IC we’ve used in many previous projects. It provides a stable 5V output from a 3.7V lithium cell and includes features like charging indication, low battery warning, and high/low voltage cutoffs, all essential for safe lithium cell operation.
NextPCB PCB SERVICE


After completing the PCB design, Gerber data was sent to HQ NextPCB, and an order was placed for a green solder mask with white silkscreen; we even ordered a stencil this time.
After placing the order, the PCBs and stencil were both...
Read more »
Arnov Sharma










gokux