Skip to the content
2 layers229 × 108 mmKevBoy, the printed circuit board in 3D

A Python/KiCAD project showcasing the development of a handheld retro gaming console from the ground up. This includes all the schematic and prototyping work.

Size
229 × 108 mm
Copper layers
2
Thickness
1.6 mm
Parts
55
Nets
262
Pads
496
Tracks, vias
363, 46
Routed
Yes
KiCad
KiCad 7 (file 20221018)
Created
30 May 2024
Updated
10 Jun 2024

Overview

KevBoy is an open-source printed circuit board by madman37287, from the madman37287/KevBoy repository on GitHub. It is a 2-layer board of 229 × 108 mm with 55 parts on 262 nets, routed with 363 tracks and 46 vias.

It is built around the MCP3008-I/P, MEM2051-00-195-00-A and USB4110-GF-A. Its parts include 12 diodes, 11 connectors, 10 switches, 8 resistors and 4 ICs. It belongs with the retro computing and games boards of this library.

Main components

3

README

README

What is the KevBoy?

In its current state, the KevBoy is a breadboard prototype of a handheld RPI based retro gaming system using the retropie image. ADD IMAGE

The KevBoy is a

What is the purpose of making this public git repository?

  1. Back-up data. This project already had to be re-designed from scratch once in the past due to a laptop harddrive failure.
  2. Some SW and HW lack a large number of examples or documentation on the web. I hope this repository and documentation can assist with someone else's learning.
  3. Method of showing off the project to any interested parties.

What has already been implemented within the KevBoy?

As previously mentioned, the KevBoy currently has a breadboard prototype shown in the image below. ADD IMAGE

The breadboard design has 3 visible layers to it. In the bottom layer, we have the controls. These controls match what you would expect from a standard controller:

  • D-Pad on the far left
  • A, B, X, Y buttons on the far right
  • Two analog sticks
  • select (left) and start (right) buttons in between the analog sticks.

INSERT DIAGRAM

There is also an MCP3008 ADC between the analog sticks that convert the analog voltage outputted from the x and y axis potentiometers into a digital code readable by the PI.

The layer above the controls lives the necessary electrical components needed to connect the controls to the GPIO pins.
In this layer we have LEDs acting only as Diodes. These diodes are necessary due to the button matrix solution used to reduce the number of GPIO pins used from 16 to 8. Without the diodes, multiple button presses can lead to an unpressed button being incorrectly registered (see below)

INSERT DIAGRAM

In its current prototype state, the PI currently has 11 connected buttons (including L3 on the DS3 analog), while the final will support at least 16 when adding R3 and the Triggers. With several other devices needing to be connected to the GPIO pins, such as ADC, PWM speakers, UPS UART connections, ect, there are simply not enough pins. The HW/SW solution was to build a button matrix, in which 16 buttons could be supported with 8 pins.

What still needs to be implemented?

  • Upgrade to RPI5 (expecting CM5 to release later this year. CM4 to CM5 will not require PCB changes)
  • Battery solution for RPI5 (5V 5A max compared to RPI4 5V 3A)
  • PCB updates & PCB prototype
  • 3D printable model for casing
  • digitally controllable potentiometers for volume control
  • code to support WIFI and Bluetooth status display. Perhaps also an airplane mode.
  • Unit cooling

Setup:

Sound: https://learn.adafruit.com/adafruit-max98357-i2s-class-d-mono-amp/raspberry-pi-usage

Background music: https://github.com/Naprosnia/RetroPie_BGM_Player

Parts

55
QtyValueFootprintReferences
12DIODEDiode_SMD:D_0805_2012MetricD1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12
10SW_PushButton_Switch_THT:SW_PUSH_6mm_H7.3mmSW1, SW2, SW3, SW4, SW5, SW6, SW7, SW8, SW9, SW10
410kResistor_SMD:R_1206_3216MetricR5, R6, R7, R8
4470Resistor_SMD:R_1206_3216MetricR1, R2, R3, R4
4692122030100mouser:692122030100J7, J8, J9, J10
2joystick:ADAFRUIT200MILU$1, U$1
2208658-1051mouser:2086581051J5, J6
2Conn_01x04Connector_JST:JST_EH_S4B-EH_1x04_P2.50mm_HorizontalJ14, J15
2DS3_Analogjoystick:JOYSTICKU4, U5
1Conn_01x03Connector_JST:JST_EH_S3B-EH_1x03_P2.50mm_HorizontalJ13
1MCP3008MCP3008:SOIC127P600X175-16NU2
1MEM2051-00-195-00-Amouser:MEM20510019500AJ12
1USB4110-GF-Amouser:USB4110GFAJ11
1cm4connCM4IO:Raspberry-Pi-4-Compute-ModuleU3

The 47 most common of 55 parts.

More from madman37287/KevBoy

2
  • 2 layers229 × 142 mmKevboyOriginal, the printed circuit board in 3D

    KevboyOriginal

    madman37287/KevBoy

    A Python/KiCAD project showcasing the development of a handheld retro gaming console from the ground up. This includes all the schematic and prototyping work.

    37 parts
  • 2 layers30 × 40 mmLRButtons, the printed circuit board in 3D

    LRButtons

    madman37287/KevBoy

    A Python/KiCAD project showcasing the development of a handheld retro gaming console from the ground up. This includes all the schematic and prototyping work.

    5 parts

Similar boards

  • 2 layers83.8 × 41.4 mmSensor Data Logger, the printed circuit board in 3D

    Sensor Data Logger

    jminjares4/ESP32-Sensor-Data-Logger

    Custom ESP32 sensor data logger

    73 parts11
  • 8 layers80 × 80 mmQsbc, the printed circuit board in 3D

    Qsbc

    qfreiman/qsbc

    Single Board Computer based on the i.MX8M Mini

    481 parts3GPL-3.0
  • 2 layers99.9 × 100 mmESP32 power meter MP3 player WIFI radio V2, the printed circuit board in 3D

    ESP32 power meter MP3 player WIFI radio V2

    immortal-sniper1/ESP32_power_meter_MP3_player_WIFI_radio

    Fistst ESP and STM32 pcb project, it will have a power meter sd crd wifi and the ability to play back MP3 file (and maybe more) . Also it will feature a power usage meter. Maybe it will aso have battery power option

    157 parts1MIT
  • 4 layers80 × 80 mmQsbc zero, the printed circuit board in 3D

    Qsbc zero

    qfreiman/qsbc-zero

    Single Board Computer based on the i.MX6ULL

    243 parts1GPL-3.0
  • 2 layers73 × 139 mmOpenRPNCalc, the printed circuit board in 3D

    OpenRPNCalc

    apoluekt/OpenRPNCalc

    Open-source and open-hardware scientific RPN calculator

    141 parts414CERN-OHL-P-2.0
  • 4 layers151.7 × 39.8 mmXbox PMS, the printed circuit board in 3D

    Xbox PMS

    Redherring32/Xbox-USB-C-PSU

    The first ever USB C PSU for the original Xbox

    142 parts153
  • 4 layers30 × 18 mmFdcanusb, the printed circuit board in 3D

    Fdcanusb

    mjbots/fdcanusb

    fdcanusb adapter

    36 parts42Apache-2.0

Questions

How big is the KevBoy PCB?

It measures 229 × 108 mm and has 2 copper layers, 1.6 mm thick.

What parts does the KevBoy use?

55 parts, built around the MCP3008-I/P, MEM2051-00-195-00-A and USB4110-GF-A. 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 KevBoy KiCad files?

From the madman37287/KevBoy repository on GitHub, at the commit this page was made from: the board is HW/KevBoy/KevBoy.kicad_pcb and its schematic HW/KevBoy/KevBoy.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the KevBoy design in my own project?

Its repository states no licence, so its author keeps all rights: ask madman37287 before reusing the design.