Skip to the content
2 layers144 × 98 mmRP2040 Board V1.0, the printed circuit board in 3D

42/36 key ergo split keyboard using a RP2040

Size
144 × 98 mm
Copper layers
2
Thickness
1.6 mm
Parts
92
Nets
81
Pads
383
Tracks, vias
836, 64
Pours
1
Routed
Yes
KiCad
KiCad 6 (file 20211014)
Created
30 Aug 2022
Updated
1 Sep 2022

Overview

RP2040 Board V1.0 is an open-source printed circuit board by MReavley, from the MReavley/CyberSliceKeyboard repository on GitHub, published under the MIT licence. It is a 2-layer board of 144 × 98 mm with 92 parts on 81 nets, routed with 836 tracks and 64 vias.

It is built around the RP2040, W25Q128JVSIQ and AMS1117-3.3. Its parts include 23 switches, 22 diodes, 16 capacitors, 13 resistors and 5 connectors. It belongs with the keyboards and input boards and the RP2040 boards of this library.

Main components

3

README

README.md

CyberSlice Keyboard

Picture of the CyberSlice42

42/36 key split keyboard using RP2040, with the same layout (in 36 key configuration) as my previous design, the Slice 36. The goal was primarily to experience designing a microcontroller directly on the PCB, but I also wanted to try to take advantage of the large number of GPIO pins on the RP2040. There are 8 additional GPIO (2 analog capable) on the PCB with the intention of adding functionality through magnetic pogo connectors, but that is still a work in progress.

Features

  • Reversible PCB designed for PCB assembly services
  • RP2040 per side, with 16MB of flash
  • Laser cut aluminium plate, custom designed 3D printed case with magnets
  • Footprints for magnetic pogo connectors on each side
  • Breakaway tabs convert from 42 to 36 key

Picture of the CyberSlice42 plugged in

Picture of the CyberSlice36 (and CS42 behind it)

If you want to build:

This board is just a prototype, and there are a couple pointers to watch out for:

Reversible PCB: Since the PCB is reversible, solder on the trrs connector on opposite sides of the PCB for each half. The USB-C connector for the left half will be on the bottom side, which does necessitate taller rubber feet unfortunately.

Components on the rear:
These components will not be assembled by basic PCBa, but the parts can be scavenged from spare assembled PCBs (per side)

  • C7 (100nF 0603 MLCC capacitor)
  • R1 and R2 (5.1k 0603 resistors)
  • R12 and R13 (Optional, 4.7k 0603 pullups for split over I2C, not needed for UART)

Additional components:

  • PJ320D trrs connectors (x1 per side), solder on opposite side of PCB for the different halves
  • 2.54mm magnetic pogo connectors (5 contacts) (2x per side) (optional, can solder directly instead)
  • 6mm diameter x 3mm height magnets x6 per side for case (optional, can use screw holes instead)

Reset and boot switches may need to be renamed in the BOM file (not using SW1 and SW2) for them to be auto-selected by PCBa service

  • Otherwise shorting the pads on the PCB will have the same effect

Case:

  • Tolerances were very loose on my case, but this does depend on the printer
  • Ideally, one would redesign the plate to mount directly to the case (add screw holes)
  • Tolerance for the magnet holes can be a bit too tight, probably increase from 6 to 6.1 or 6.2mm diameter

Picture of the CyberSlice42 case rear

Things to improve

  • Rename the reset and boot switches from SW1 and SW2 to something else to not clash with the names of the switches (caused me to make a mistake in my order)
  • Shift the few SMD parts on the back side to the front for PCBa
  • Add a few more LEDs for status indicators on the PCB itself
  • Change the plate the design for better mounting of PCB and plate to case, or alternatively integrate the plate into the case

Picture of the CyberSlice42 pcb rear

Parts

92
QtyValueFootprintReferences
21Cherry_DoublesidedMxSwitches:SW_MX_reversibleSw1, Sw2, Sw3, Sw4, Sw10, Sw11, Sw12, Sw13, Sw14, Sw15, Sw16, Sw17, Sw18, Sw19, Sw20, Sw21 +5
21DDiode_SMD:D_SOD-323_HandSolderingD2, D3, D4, D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, D20, D21, D22 +5
9100nCapacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolderC7, C8, C9, C10, C11, C12, C13, C14, C15
8, , , , , , ,
31kResistor_SMD:R_0603_1608MetricR3, R4, R6
35.1kResistor_SMD:R_0603_1608MetricR1, R2, R11
21uCapacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolderC6, C16
222uCapacitor_SMD:C_0603_1608MetricC1, C2
227Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR7, R8
227pCapacitor_SMD:C_0603_1608MetricC4, C5
25.1kResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR9, R10
2AudioJack4Connector_Audio:Jack_3.5mm_PJ320D_HorizontalJ2, J3
2Conn_01x05_MountingPinMagnet:Magnet 5pin 2.54mm pitch through holeJ4, J5
2DNPResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR12, R13
2SW_SPSTButton_Switch_SMD:SW_SPST_PTS810SW1, SW2
1100nCapacitor_SMD:C_0603_1608MetricC3
112MHzCrystal:Crystal_SMD_3225-4Pin_3.2x2.5mmY1
1AMS1117-3.3Package_TO_SOT_SMD:SOT-223-3_TabPin2U1
1DNPResistor_SMD:R_0603_1608MetricR5
1REDLED_SMD:LED_0603_1608MetricD1
1RP2040RP2040:RP2040U3
1USB_C_Receptacle_USB2.0Connector_USB:USB_C_Receptacle_HRO_TYPE-C-31-M-12J1
1W25Q128JVSPackage_SO:SOIC-8_5.23x5.23mm_P1.27mmU2

The 91 most common of 92 parts.

Similar boards

  • 2 layers78 × 60 mmIce viz, the printed circuit board in 3D

    Ice viz

    muni-works/vcad

    BRep CAD kernel in Rust/WASM

    44 parts442Apache-2.0
  • 4 layers72.6 × 170 mmOpenJBOD RP2040, the printed circuit board in 3D

    OpenJBOD RP2040

    OpenJBOD/rp2040

    This repository contains the hardware design files OpenJBOD RP2040 Baseboard.

    129 parts87CERN-OHL-P-2.0
  • 2 layers352.5 × 120 mmPyKey87, the printed circuit board in 3D

    PyKey87

    jpconstantineau/PyKey60

    The PyKey60 is a custom programmable mechanical keyboard with a standard ANSI 60% keyboard layout compatible with any cases made for the GH60. The PyKey60 uses mechanical switches (Cherry MX type).

    310 parts57
  • 2 layers36 × 43 mmAsac fc rev a, the printed circuit board in 3D

    Asac fc rev a

    victorhook/asac-fc

    asac fc is an rp2040 based flight controller made for FPV drone flying

    119 parts52GPL-3.0
  • 2 layers55.4 × 34.5 mmWii mainboard, the printed circuit board in 3D

    Wii mainboard

    xtreme8000/picoAVE

    Wii HDMI mod using a rp2040 mcu

    38 parts49GPL-3.0
  • 4 layers44.2 × 84.5 mmBolt, the printed circuit board in 3D

    Bolt

    tjclement/bolt

    Documentation for the Curious Bolt hardware hacking multi-tool

    78 parts16MIT
  • 4 layers52.3 × 25.3 mmHackducky, the printed circuit board in 3D

    Hackducky

    souptik-samanta/Hackducky

    Our board is powered by the reliable Raspberry Pi RP2040 microcontroller and includes 16 MB of flash storage, giving plenty of room for scripts and firmware.

    83 parts13

Questions

How big is the RP2040 Board V1.0 PCB?

It measures 144 × 98 mm and has 2 copper layers, 1.6 mm thick.

What parts does the RP2040 Board V1.0 use?

92 parts, built around the RP2040, W25Q128JVSIQ and AMS1117-3.3. 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 RP2040 Board V1.0 KiCad files?

From the MReavley/CyberSliceKeyboard repository on GitHub, at the commit this page was made from: the board is Kicad/RP2040 Board V1.0.kicad_pcb and its schematic Kicad/RP2040 Board V1.0.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the RP2040 Board V1.0 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).