Skip to the content
PCBKitNew board
2 layers181.7 × 124.5 mmGRAM PRISM, the printed circuit board in 3D

A modular and scalable design based on WunWae's Prism Controller

Size
181.7 × 124.5 mm
Copper layers
2
Thickness
1.6 mm
Parts
47
Nets
54
Pads
245
Tracks, vias
511, 47
Pours
4
Routed
Yes
KiCad
KiCad 7 (file 20221018)
Created
10 Aug 2023
Updated
7 Jul 2024

Overview

GRAM PRISM is an open-source printed circuit board by GRAMCTRL, from the GRAMCTRL/GRAM-PRISM repository on GitHub, published under the GPL-3.0 licence. It is a 2-layer board of 181.7 × 124.5 mm with 47 parts on 54 nets, routed with 511 tracks and 47 vias.

It is built around the RP2040, W25Q128JVSIQ and XC6206-2.8V. Its parts include 17 capacitors, 8 resistors, 4 connectors, 3 ICs and 2 diodes. It belongs with the RP2040 boards of this library.

Main components

3

README

README.md

GRAM PRI$M

Introduction

The PRI$M is a modular take on the Prism, originally designed by WunWae. It has the standard pinout for firmwares like HayBox and Pico-Rectangle, and is also compatible with more fleshed-out FGC firmwares like GP2040-CE. The key distinctive features between the original Prism and the PRI$M is the USB-C connectivity, and the modular panels that can be replaced and swapped to change the hand layouts without purchasing a whole new controller. With industrial design from GRAM, PCB designed by Quark.Works, this guide goes over a DIY-friendly approach to building and modifying the PRI$M to suit your needs.

If you would like to support the developers of this project, consider purchasing parts like buttons, PCBs, USB-C to GCC cables, and official GRAM builds at GRAMCTRL.COM rather than a fab house.

IMG_8768 (1)

Included Files

Included in this repo is all the files needed to get started with a PRI$M build:

  • PRI$M Frame .stl files
  • Aluminum Panel Gerber files (5 of 'em!)
  • PCB Gerbers for multiple hand layouts and a panelized version for the standard layout

Additional Information

If you want more info around GRAM builds, both open source and official builds, please join the GRAM Digital Controllers Discord to ask questions and work with the community! I would love to see people creating new interesting designs, and building upon our initial framework.

Thanks & Acknowledgements

There are several people who made this project possible, either directly or indirectly.

  • Quark, who did the PCB design on this and many other GRAM projects.
  • WunWae, who developed the ergonomics and original Prism design. Thank you for your blessing on this crazy project!
  • My life and business partner BRUISES, who has turned GRAM into what it is today, and had incredible patience with me as I toiled away at my computer late into the night designing this thing.

Ordering & Customization Guide

While most of these files are universal and can be used at any fab house, JLCPCB has become the de-facto standard for DIY box manufacturing. This is due to their hyper-affordable pricing and low minimum order quantity.

Bill of Materials

Per GRAM PRI$M, you will need (some files can be made using this repository, but I will link to places to purchase them if you would like to avoid MOQs)

Optional

  • USB-C to GCC cable for console/adapter play

Tools Needed

This guide assumes a level of knowledge on soldering and computer literacy. General tool requirements are:

  • Soldering iron
  • Solder
  • USB-C to USB-A cable
  • 3mm hex key/allen wrench
  • Pliers
  • Patience :)

The PCB

Note: Since the ordering process of the PRI$M is almost identical to the SLIM, I have used the ordering guide from the SLIM here. You may need to do more repetitions of these steps depending on which PCB you are printing, and you need to do the panel steps for all 5 aluminum panels.

The PCB Fabrication files should come in the form of a Gerber ZIP file and bom/cpl files (usually in Excel spreadsheet formats).

Drag them into the "Upload Gerbers" box at JLCPCB and this page will pop up:

image

Here you can change the color of the PCB. Green is the fastest and cheapest from JLC, but their black PCBs look siiiiiick. The only setting I recommend you change is to check "Yes" on Confirm Production file. This allows for any mistakes to be ironed out by their engineers.

Towards the bottom of the page, you want to turn on the switch for PCB ASSEMBLY.

image

Make sure you are assembling the Bottom Side of the PCB, and make sure to set Confirm Parts Placement to "Yes". None of the advanced options need to be changed.

Upon confirming your PCB Assembly options, you'll be taken to the Assembly wizard. Clicking next will give you a location to upload the BOM and CPL files (CPL is referred to as Positions in the GRAM Slim files). Once you click through, you'll be brought to you BOM list.

image

This will allow you to modify parts if there's any low stock. There's a line at the bottom for CH1-CH21 with some red text. This is for assembling hotswap sockets, which is not recommended for JLC, as you have to preorder them. when you click next, continue by clicking Do not place.

image

The wizard looks intimidating, but good news! Since you're confirming part placement, the JLC engineers will fix any errors. Just go ahead and continue.

There you have it! Your PCB is ready to order. As of the time of this writing, a set of 5 assembled boards costs $56.07 before shipping.

The Panels

The process of ordering aluminum panels from JLC is similar to the PCB ordering process, but much simpler. Start by dragging the GRAM Slim Top Zip file into the JLC upload window. We want an aluminum PCB, 1.6mm. You can choose either white or black coating (white tends to be glossy, black is matte but a fingerprint magnet).

image

Under High-spec Options, make sure to remove order number, or else they'll put an ugly serial number on the panel.

Once you save to cart, you'll see this screen:

image

Here you can add the GRAM Slim Bottom Zip file, and it will copy all your settings from the Top panel. Save to cart, and you're ready to check out with your PCBs!

Note: JLCPCB cannot transact PCB and 3D printing orders together, so place this order, then move on to 3D printing.

The Frame

The frame file is pretty self explanatory. Just go into JLC's 3D printing section, drop the STL file in, and choose your material. I recommend black Resin, but LEDO 6060 is a great, low cost alternative. The only material I recommend against is the textured Nylon options, as the tolerances between the frame and panels are extremely tight, and the texture could interfere with that. make sure the surface finish is set to sanded.

The website will flag some possible errors (Inverted normals, Multi-shells, Possible noise shells) but if you have not modified the .stl file you are good to go. It is also possible that their support contact you about a risk of deformation given the geometry of the workpiece but it is normal and you should reply to the email that you accept the risks.

image

Need help building your PRI$M? Feel free to join our Discord for advice from our lovely open source community!

Parts

47
QtyValueFootprintReferences
10100nFCapacitor_SMD:C_0402_1005MetricC3, C4, C5, C6, C8, C9, C10, C11, C12, C15
7choc_SW_HSPCM_marbastlib-choc:SW_choc_v1_HS_1uCH1, CH2, CH3, CH4, CH5, CH6, CH7
41uFCapacitor_SMD:C_0402_1005MetricC2, C7, C16, C17
210kResistor_SMD:R_0402_1005MetricR3, R8
219.99 logo1999:1999 logo mdH3, H4
21kResistor_SMD:R_0402_1005MetricR4, R5
222pFCapacitor_SMD:C_0402_1005MetricC13, C14
227Resistor_SMD:R_0603_1608MetricR1, R2
2qw-logoqw-logo:qw new logo silk + copper mdH1, H2
110kResistor_SMD:R_0603_1608MetricR7
110uFCapacitor_SMD:C_0402_1005MetricC1
112MHzCrystal:Crystal_SMD_3225-4Pin_3.2x2.5mmY1
15.6kResistor_SMD:R_0603_1608MetricR6
1BootButton_Switch_SMD:SW_SPST_SKQG_WithStemSW1
1DuPont ConnectorConnector_PinHeader_2.54mm:PinHeader_1x06_P2.54mm_VerticalJ4
1FFC ConnectorConnector_FFC-FPC:TE_1-84953-4_1x14-1MP_P1.0mm_HorizontalJ2
1GREENLED_SMD:LED_0805_2012MetricD2
1JST ConnectorConnector_JST:JST_SH_SM06B-SRSS-TB_1x06-1MP_P1.00mm_HorizontalJ3
1JTAG_TC2030PCM_marbastlib-various:CON_TC2030_outlinedJ1
1RP2040footprints:RP2040-QFN-56U1
1Schottky DiodeDiode_SMD:D_SOD-123D1
1W25Q128JVSPackage_SO:SOIC-8_5.23x5.23mm_P1.27mmU2
1XC6206Package_TO_SOT_SMD:SOT-23U3

Questions

How big is the GRAM PRISM PCB?

It measures 181.7 × 124.5 mm and has 2 copper layers, 1.6 mm thick.

What parts does the GRAM PRISM use?

47 parts, built around the RP2040, W25Q128JVSIQ and XC6206-2.8V. 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 GRAM PRISM KiCad files?

From the GRAMCTRL/GRAM-PRISM repository on GitHub, at the commit this page was made from: the board is v1/PCBs/Main Board/MainBoard.kicad_pcb and its schematic v1/PCBs/DaughterBoard/MiniRectangleDB.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the GRAM PRISM design in my own project?

Its repository publishes it under the GPL-3.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

More from GRAMCTRL/GRAM-PRISM

4
  • 2 layers203.3 × 221.2 mmPanelized Board, the printed circuit board in 3D

    Panelized Board

    GRAMCTRL/GRAM-PRISM

    A modular and scalable design based on WunWae's Prism Controller

    87 parts10GPL-3.0
  • 2 layers144.1 × 153 mmRight Hand, the printed circuit board in 3D

    Right Hand

    GRAMCTRL/GRAM-PRISM

    A modular and scalable design based on WunWae's Prism Controller

    18 parts10GPL-3.0
  • 2 layers144.1 × 153 mmRight Hand Swift, the printed circuit board in 3D

    Right Hand Swift

    GRAMCTRL/GRAM-PRISM

    A modular and scalable design based on WunWae's Prism Controller

    17 parts10GPL-3.0
  • 2 layers30 × 24.7 mmMiniRectangleDB, the printed circuit board in 3D

    MiniRectangleDB

    GRAMCTRL/GRAM-PRISM

    A modular and scalable design based on WunWae's Prism Controller

    15 parts10GPL-3.0

Similar boards

  • 2 layers253.3 × 113.3 mmCut slope, the printed circuit board in 3D

    Cut slope

    hazels-garage/cut-slope

    119 parts29
  • 2 layers344.7 × 123.6 mmSlime88, the printed circuit board in 3D

    Slime88

    zykrah/slime88

    A F13 TKL Multi-Layout Hotswap H88-Compat Type-C PCB

    243 parts29
  • 2 layers288.8 × 160.1 mmGRAM SLIM, the printed circuit board in 3D

    GRAM SLIM

    GRAMCTRL/GRAM-SLIM

    Open source low-profile leverless design with an integrated RP2040.

    64 parts24GPL-3.0
  • 2 layers172 × 107.7 mmRana Tadpole V2, the printed circuit board in 3D

    Rana Tadpole V2

    rana-sylvatica/rana-tadpole

    Pocket-sized digital controller

    153 parts20
  • 2 layers347 × 156.5 mmIntegrated OF1, the printed circuit board in 3D

    Integrated OF1

    quark-works/Integrated-OF1

    Design files are available in this repository. Production files for JLCPCB in the releases page. Tested working and fitting previously mentioned Frame 1 cases.

    81 parts11MIT
  • 2 layers38.1 × 49.2 mmOpenRectangleTemplate, the printed circuit board in 3D

    OpenRectangleTemplate

    quark-works/OpenRectangleTemplate

    RP2040 template for use with box style controllers for the GC

    40 parts9MIT
  • 2 layers339.1 × 141.2 mmOpenRectangle, the printed circuit board in 3D

    OpenRectangle

    quark-works/OpenRectangle

    Custom PCBs for a RP2040 powered rectangle controller

    92 parts8MIT
  • 2 layers33.1 × 114.3 mmVbox mobo, the printed circuit board in 3D

    Vbox mobo

    CarVac/vbox

    A rectangle controller for Melee with buttons arranged vertically instead of on a flat surface

    74 parts6