Skip to the content
PCBKitNew board
2 layers165 × 78 mmCHIPnGo, the printed circuit board in 3D

A custom-built CHIP-8 hand-held gaming console powered by a STM32 microcontroller.

Size
165 × 78 mm
Copper layers
2
Thickness
1.6 mm
Parts
13
Nets
40
Pads
90
Tracks, vias
116, 0
Pours
2
Routed
Yes
KiCad
KiCad 6 (file 20211014)
Created
11 Apr 2022
Updated
13 Aug 2023

Overview

CHIPnGo is an open-source printed circuit board by kurtjd, from the kurtjd/CHIPnGo repository on GitHub, published under the MIT licence. It is a 2-layer board of 165 × 78 mm with 13 parts on 40 nets, routed with 116 tracks and 0 vias.

It belongs with the retro computing and games boards and the STM32 boards of this library.

README

README.md

CHIPnGo

Current Status

Recently I've taken a serious interest in embedded development, so I decided for my first project I would attempt to port my CHIP-8 emulator to a STM32 microcontroller in order to eventually build a CHIP-8 hand-held gaming console. Since this is being done as a learning experience, I also decided I would do this bare-metal with no libraries and write all drivers from scratch. While this is proving to be slow and extremely frustrating at times, it has also been very insightful and I've already learned a ton in such a short time.

See it in action!

Build Guide

If you are interested in building your own CHIPnGo, check out this guide.

Development Blog

If you are interested in reading about my development of the project, some challenges I faced, and the bone-headed design decisions I made along the way due to my inexperience, check out my dev blog.

Features

ToDo

  • Improve startup menu for user to select ROM via SD card (make a bit more pretty)
  • Improve startup splash screen (want something cool and animated)
  • Iron out minor firmware bugs

Limitations

Although my original emulator also has full support for XO-CHIP roms, I decided to focus on just CHIP-8 and S-CHIP for now for several reasons:

  • XO-CHIP ROMs expect up to 64kb of memory, as opposed to 4kb expected by original CHIP-8 ROMs.
  • XO-CHIP supports up to three colors, which would mean needing to move beyond a simple monochrome display.
  • XO-CHIP supports variable frequencies/tones whereas CHIP-8 ROMs can only produce a single frequency, which makes handling sound simple.

CHIP-8 supports 16 keys for input, however for design purposes, the console only has 6 buttons. However, most games only use a few buttons so this isn't too much of an issue.

Parts

13
QtyValueFootprintReferences
1A_BtnButton_Switch_THT:SW_PUSH-12mmA
1Adafruit_MicroSD_BreakoutAdafruit_SD_Reader:Adafruit_SD_ReaderSD Reader
1B_BtnButton_Switch_THT:SW_PUSH-12mmB
1BatteriesBattery:BatteryHolder_Keystone_2468_2xAAABatteries
1Down_BtnButton_Switch_THT:SW_PUSH_6mm_H5mmDown
1ERM12864-8_DisplayERM12864:ERM12864Display
1LOGOLogo:LogoG***
1Left_BtnButton_Switch_THT:SW_PUSH_6mm_H5mmLeft
1Piezo_BuzzerBuzzer_Beeper:Buzzer_TDK_PS1240P02BT_D12.2mm_H6.5mmBuzzer
1Power_SwitchSwitch:GF-123-0054Power_Switch
1Right_BtnButton_Switch_THT:SW_PUSH_6mm_H5mmRight
1STM32_BluePillbp:YAAJ_BluePill_1BluePill
1Up_BtnButton_Switch_THT:SW_PUSH_6mm_H5mmUp

Questions

How big is the CHIPnGo PCB?

It measures 165 × 78 mm and has 2 copper layers, 1.6 mm thick.

What parts does the CHIPnGo use?

13 parts. 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 CHIPnGo KiCad files?

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

Can I use the CHIPnGo 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 layers40 × 20 mmUsb uart, the printed circuit board in 3D

    Usb uart

    earthtojake/text-to-cad

    Design physical products with AI

    13 parts26kMIT
  • 2 layers35 × 29 mmMagSpoofTC, the printed circuit board in 3D

    MagSpoofTC

    samyk/magspoof

    A portable device that can spoof/emulate any magnetic stripe, credit card or hotel card "wirelessly", even on standard magstripe (non-NFC/RFID) readers.

    13 parts4.2k
  • 2 layers20.6 × 23.6 mmAO-03 signal amplifier, the printed circuit board in 3D

    AO-03 signal amplifier

    fossasia/pslab-scripts

    Pocket Science Lab - Scripts for Sensor Experiments

    13 parts1.6kApache-2.0
  • 2 layers47 × 35.6 mmMX7-C-35PL C11, the printed circuit board in 3D

    MX7-C-35PL C11

    rusefi/rusefi

    rusefi - GPL internal combustion engine control unit

    13 parts1.2k
  • 2 layers95 × 95 mmCube batteryboard, the printed circuit board in 3D

    Cube batteryboard

    willem-pennings/balancing-cube

    A cube that balances itself in a corner or edge using reaction wheels

    13 parts1.1kGPL-3.0
  • 2 layers15.2 × 20.3 mmPt100stick, the printed circuit board in 3D

    Pt100stick

    VoronDesign/Voron-Hardware

    Cool Hardware designed by the Voron Design group

    13 parts1.1kGPL-3.0
  • 2 layers53.9 × 23.2 mmBuffer, the printed circuit board in 3D

    Buffer

    hoglet67/RGBtoHDMI

    Bare-metal Raspberry Pi project that provides pixel-perfect sampling of Retro Computer RGB/YUV video and conversion to HDMI

    13 parts1kGPL-3.0