Skip to the content
PCBKitNew board
2 layers172.6 × 70.1 mmJoy Controller V2, the printed circuit board in 3D

A custom made Stream deck Like Handheld Controller that can switch modes and supports quick actions and game movement. PCB and 3d Printed Parts custom made.

Size
172.6 × 70.1 mm
Copper layers
2
Thickness
1.6 mm
Parts
78
Nets
80
Pads
291
Tracks, vias
891, 1,804
Pours
2
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
2 Jan 2026
Updated
10 Apr 2026

Overview

Joy Controller V2 is an open-source printed circuit board by Merlin2LmmL, from the Merlin2LmmL/Joy-Controller repository on GitHub, published under the MIT licence. It is a 2-layer board of 172.6 × 70.1 mm with 78 parts on 80 nets, routed with 891 tracks and 1,804 vias.

It is built around the ADS1015IDGS, B3F-1070 and WS2812B, with the B3F-3152, 1N4148W and LCM1027A2445F among its other parts. Its parts include 22 diodes, 16 switches, 11 resistors, 8 capacitors and 2 ICs.

Main components

8

README

README.md

Mutli-Purpose-Keyboard-Controller

Idea

I thought about what multi purpose Device could be usefull in my day to day life. Then ive got the idea to maybe build a stream deck kinda thing. But i didnt see a world, in which i would actively use that, but it would still be neat to have something like that. Then a wired controller came to my mind. I thought, that that was a great idea too. I also wanted to build like a small handheld console aswell. Then I thought about how cool it would be to have all those things in one. And that was the final outcome. This Device can switch modes from a steam deck, to a simple wired, handheld controller, that you can play games with on your pc and also a standalone console (as long as you give it power).

Hardware

I carefully picked Hardware Parts that would be cheap, but also fulfill the projects main idea and make it fun to use.

Buttons

For the Buttons I chose keyboard buttons, because I thought they would give the Device a nice look and would make it feel like it actually was useable as a stream deck unlike if i would have used real controller Buttons. I also decided on a Middle Button for mode switching.

Joystick

I could have just kept 4 Buttons for Movement in minigames, that would later be played on the Device but I liked the idea of a seperate Joystick way better. It also balances the controller and makes it more symetrical.

LEDs

The LEDs I picked only for stylistic reasons. They could indicte in which mode the Device currently is in Binary (to allow for 4 modes) or maybe just indicate weather the device is active or recieved inputs.

OLED Display

I picked a screen last, because it would be the most expensive thing on the list, but i thought about how many new funtionalitys it would bring. It allows for a 128x64px display, which is able to show full on mini games. So i figured it'd be worth it.

Design Files

3D Model

(.STEP file is STILL at "3d Model/Joy_Controller.step") This is the finsihed Model of the entire Device. Only the key caps are missing but it'd make no real difference to add them in here anyway. See how the Controller still looks retro style while having plenty of functionality? I also lerned from previous designe flaws. that the hole for the usb c port must be big enough. Full Model Picture

This Picture shows the inside of the Device. I wanted to keep everything modular and open. Thats why the display is very easily unpluggable aswell as the Joystick. Model with Opened Case

PCB

For the Schematic I inspired myself by the Hackpad from https://blueprint.hackclub.com/hackpad/index.md and added a horizontal 4 pin header for the joystick and a 5 pin header for the display. I first searched for a fitting Oled display and only then connected the correct pins because I found out, that they were no all pined out the same way. Schematic Picture

I first settled on the form of the device when I designed the actual PC. It all came together quite nicely. I later added the display and figured, that it could go above the rp2040 so i added the header above it. PCB Picture

Software

Modes

I decided on the following 3 modes:

Stream Deck

Press Buttons for quick actions such as copy/paste, activate a macro or activate an LED Strip around my desk, that is powered by my PC via USB A.

Controller

Control movement in any game on my PC, Laptop, Tablet or really any USB Keyboard-supported Device.

Console

Play games such as Tetris, Snake, etc. on the Device, powered by the RP2040 just by powering it using for example a power bank for quick play to go.

To be continued

Well, for now i cant really show much more here until i actually build this thing. But thats not gonna be a real issue, since ive made some good experience with python, if you look at my profile.

Parts

78
QtyValueFootprintReferences
16DDiode_SMD:D_SOD-323D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13, D14, D15, D16
10B3F-1070lcsc:SW-TH_4P-L6.2-W6.2-P4.50-LS6.5SW1, SW2, SW3, SW4, SW5, SW6, SW7, SW8, SW9, SW10
8MountingHoleMountingHole:MountingHole_2mmH1, H2, H3, H4, H5, H6, H7, H8
710KResistor_SMD:R_0603_1608MetricR3, R4, R5, R6, R7, R8, R11
6100nFCapacitor_SMD:C_0603_1608MetricC2, C4, C5, C6, C7, C8
5LOGOLOGOG***, G***, G***, G***, G***
4WS2812BLED_SMD:LED_WS2812B_PLCC4_5.0x5.0mm_P3.2mmD19, D20, D21, D22
3B3F-3152lcsc:KEY-TH_4P-L7.3-W10.2-P4.50-LS7.0SW11, SW12, SW13
21KResistor_SMD:R_0603_1608MetricR9, R10
21N4148WDiode_SMD:D_SOD-123D17, D18
21uFCapacitor_SMD:C_0603_1608MetricC1, C3
25.1KResistor_SMD:R_0603_1608MetricR1, R2
2LCM1027A2445Flcsc:VIBRATING-MOTOR-SMD_WELDINGMOT1, MOT2
2NPNPackage_TO_SOT_SMD:SOT-23Q1, Q2
2RKJXV1224005lcsc:SW-TH_RKJXV1224005SW16, SW17
1ADS1015IDGSPackage_SO:TSSOP-10_3x3mm_P0.5mmU4
1Conn_02x16_Odd_EvenConnector_PinHeader_2.54mm:PinHeader_2x16_P2.54mm_VerticalJ2
1EC11E09244BSlcsc:SW-TH_EC11XXXXXXXXSW14
1MCP23017_SOPackage_SO:SOIC-28W_7.5x17.9mm_P1.27mmU3
1USB_C_Receptacle_USB2.0_16PConnector_USB:USB_C_Receptacle_GCT_USB4105-xx-A_16P_TopMnt_HorizontalJ1

Questions

How big is the Joy Controller V2 PCB?

It measures 172.6 × 70.1 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Joy Controller V2 use?

78 parts, built around the ADS1015IDGS, B3F-1070, WS2812B and B3F-3152. 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 Joy Controller V2 KiCad files?

From the Merlin2LmmL/Joy-Controller repository on GitHub, at the commit this page was made from: the board is PCB/Joy Controller V2.kicad_pcb and its schematic PCB/Joy Controller V2.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Joy Controller V2 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).

Similar boards

  • 2 layers45.8 × 24.9 mmTape tics projectV2, the printed circuit board in 3D

    Tape tics projectV2

    carlos-paniagua/TapeTicsProject

    This repository contains the hardware and software design files for TapeTics

    17 parts2MIT
  • 6 layers120 × 70 mmHealthypi 6 v5, the printed circuit board in 3D

    Healthypi 6 v5

    Protocentral/protocentral_healthypi6_hardware

    Open hardware design files for HealthyPi 6 — STM32H757 vital-signs monitor with the HealthyLink modular expansion bus

    247 parts2CERN-OHL-P-2.0
  • 4 layers75.3 × 50 mmLuminometer RPi, the printed circuit board in 3D

    Luminometer RPi

    czbiohub-sf/portable-luminometer

    Software and electronics for the portable SiPM luminometer.

    57 parts1BSD-3-Clause
  • 4 layers22.4 × 32.2 mmWristwearablepcb, the printed circuit board in 3D

    Wristwearablepcb

    wlatif-cmyk/100daysofprojects

    100 days of 100 projects ;)

    40 parts8
  • 4 layers116 × 106 mmCard, the printed circuit board in 3D

    Card

    increpare/PuzzleScript-labs

    firehose of mostly ai-written puzzlescript projects. main project is https://github.com/increpare/puzzlescript/

    48 parts1MIT
  • 2 layers100 × 112.5 mmMacropad, the printed circuit board in 3D

    Macropad

    gustavorubim/field13-macropad

    FIELD 13: DIY programmable macropad with joystick, rotary encoder, editable CAD, electronics, firmware, and visual build documentation.

    45 parts
  • 2 layers100 × 53.9 mmController, the printed circuit board in 3D

    Controller

    dwanpo/balancer

    41 parts1
  • 2 layers60 × 90 mmCinder, the printed circuit board in 3D

    Cinder

    CircuitGuy943/CinderV2-Filament-Dryer

    (🚧) A filament dryer to precede my old one made inside a wooden box that never worked properly and didn't heat anything. Features to be estabilished

    40 parts4GPL-3.0