Skip to the content
PCBKitNew board
2 layers288.8 × 160.1 mmGRAM SLIM, the printed circuit board in 3D

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

Size
288.8 × 160.1 mm
Copper layers
2
Thickness
1.6 mm
Parts
63
Nets
67
Pads
387
Tracks, vias
581, 56
Pours
5
Routed
Yes
KiCad
KiCad 7 (file 20221018)
Created
24 May 2023
Updated
13 Dec 2024

Overview

GRAM SLIM is an open-source printed circuit board by GRAMCTRL, from the GRAMCTRL/GRAM-SLIM repository on GitHub, published under the GPL-3.0 licence. It is a 2-layer board of 288.8 × 160.1 mm with 63 parts on 67 nets, routed with 581 tracks and 56 vias.

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

Main components

4

README

README.md

GRAM Slim

Introduction

GRAM Slim is a modular low-profile 21-button controller designed for Smash and FGC games. 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. With industrial design from GRAM, and PCB designed in collaboration with Quark.Works, this guide goes over a DIY-friendly approach to building the original GRAM Slim, and future guides/repos may hold remixes and modifications.

If you would like to support the developer 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.

DSC01665

Included Files

Included in this repo is all the files needed to get started with a simple GRAM Slim build:

  • GRAM Slim Frame .stl files
  • Fab files for top and bottom panels
  • Template DXF for customizing top and bottom panels
  • GRAM 24mm keycap button .stl files

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 the 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.
  • Bjart, who developed the OFOF1 chassis, which was the initial development for a lot of the ideas explored in this build, including using PCB fabs for the panels, and the general idea of stacking two panels on a frame for the enclosure.
  • 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

NOTE: This ordering guide is for the DIY-friendly versions of the Slim. For Screwless panels, Powder-coated aluminum, and custom die-cut/injection molded parts, we do not have a guide, as these are beyond the reach of traditional DIY makers. These parts are still covered under GPLv3. Per GRAM Slim, 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

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.

image

The Buttons

In the files, there are two versions. A single button for reference, and a 10x .STL file for mass printing at JLC. Each GRAM Slim requires 2.1 prints, so to make the minimum order quantity of 5 PCBs, you will need to order 11 prints of it.

The 10x file is the ideal for JLC, as it minimizes cost. JLC may reach out to you and add some cost (0.30/pc) for small parts. This is normal.

The buttons have been tested in 4 material materials:

  • LEDO 6060 (natural white, most cost-effective option, goes well with matching frame and black aluminum panels)
  • Black Resin (matte grayish-black, goes well with both black and white panels)
  • PA12-HP Nylon (Only slightly more expensive for buttons, but gives an amazing textured finish, very premium feel)
  • 8001 Transparent Resin (Really cool, really expensive)

Build Guide

Building the GRAMv2 is relatively straightforward, but an updated in-depth build guide (including a video!) is currently in the works.

Parts

63
QtyValueFootprintReferences
21choc_SW_HSPCM_marbastlib-choc:SW_choc_v1_HS_1uCH1, CH2, CH3, CH4, CH10, CH11, CH12, CH13, CH14, CH15, CH16, CH17, CH18, CH19, CH20, CH21 +5
10100nFCapacitor_SMD:C_0402_1005MetricC3, C5, C6, C11, C12, C13, C14, C15, C16, C17
41uFCapacitor_SMD:C_0402_1005MetricC1, C2, C4, C10
21kResistor_SMD:R_0402_1005MetricR10, R11
222pFCapacitor_SMD:C_0402_1005MetricC7, C8
227Resistor_SMD:R_0603_1608MetricR8, R9
25.1kResistor_SMD:R_0402_1005MetricR2, R3
2Schottky DiodeDiode_SMD:D_SOD-123D1, D2
110kResistor_SMD:R_0603_1608MetricR6
110kResistor_SMD:R_0402_1005MetricR7
110uFCapacitor_SMD:C_0402_1005MetricC9
112MHzCrystal:Crystal_SMD_3225-4Pin_3.2x2.5mmY1
11999 logo1999:1999 logo mdH2
11MResistor_SMD:R_0603_1608MetricR1
1470Resistor_SMD:R_0402_1005MetricR4
15.6kResistor_SMD:R_0603_1608MetricR5
1500 mAFuse:Fuse_1206_3216MetricF1
1BootButton_Switch_SMD:SW_SPST_SKQG_WithStemSW1
1GREENLED_SMD:LED_0805_2012MetricD3
1JTAG_TC2030PCM_marbastlib-various:CON_TC2030_outlinedJ2
1RP2040qw-footprints:RP2040-QFN-56U3
1USB C Connectorqw-footprints:TYPE-C_24P_QCHTJ1
1USBLC6-2SC6Package_TO_SOT_SMD:SOT-23-6U2
1W25Q128JVSPackage_SO:SOIC-8_5.23x5.23mm_P1.27mmU4
1XC6206Package_TO_SOT_SMD:SOT-23U1
1qw-logoqw-logo:qw new logo silk + copper mdH1

Questions

How big is the GRAM SLIM PCB?

It measures 288.8 × 160.1 mm and has 2 copper layers, 1.6 mm thick.

What parts does the GRAM SLIM use?

63 parts, built around the RP2040, W25Q128JVSIQ, USBLC6-2SC6 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 SLIM KiCad files?

From the GRAMCTRL/GRAM-SLIM repository on GitHub, at the commit this page was made from: the board is GRAM Slim/3.1/GRAM-SLIM.kicad_pcb and its schematic GRAM FGC/v1.2/PCB/KiCAD/Buttons.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the GRAM SLIM 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-SLIM

2
  • 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 layers288.8 × 160.1 mmGRAM HITBOX, the printed circuit board in 3D

    GRAM HITBOX

    GRAMCTRL/GRAM-SLIM

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

    62 parts24GPL-3.0

Similar boards

  • 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 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 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 layers188 × 190.2 mmSchism PCB, the printed circuit board in 3D

    Schism PCB

    quark-works/Schism

    115 parts1
  • 2 layers304 × 149 mmTiebox, the printed circuit board in 3D

    Tiebox

    quark-works/tiebox

    Labels are already assigned to the default pinout of the most popular firmware available as well as in stock parts for every component from LCSC.

    90 parts1
  • 4 layers109.5 × 65 mmMotorMonster, the printed circuit board in 3D

    MotorMonster

    CarVac/MotorMonster

    An RP2040 based TMC2160 stepper driver board

    83 partsCERN-OHL-S-2.0
  • 2 layers290.7 × 139.1 mmRP2040-LBX, the printed circuit board in 3D

    RP2040-LBX

    nicotapiero/RP2040-LBX

    Initially forked from the 4.0 Version of the GRAM-SLIM

    65 parts