Skip to the content
PCBKitNew board
2 layers224 × 89 mmUmbra choc, the printed circuit board in 3D

24 key ergonomic keyboard with self-encasing PCB.

Size
224 × 89 mm
Copper layers
2
Thickness
1.6 mm
Parts
34
Nets
40
Pads
271
Tracks, vias
156, 4
Routed
Yes
KiCad
KiCad 7 (file 20221018)
Created
3 Sep 2022
Updated
2 Nov 2023

Overview

Umbra choc is an open-source printed circuit board by skarrmann, from the skarrmann/umbra repository on GitHub, published under the MIT licence. It is a 2-layer board of 224 × 89 mm with 34 parts on 40 nets, routed with 156 tracks and 4 vias.

Its parts include 24 switches and 1 IC. It belongs with the keyboards and input boards and the RP2040 boards of this library.

README

README.md

Umbra Keyboard

Umbra complete build top photo

Umbra is a 24 key ergonomic keyboard, powered by a Raspberry Pi Pico.

There are enough keys for playing many games with a keyboard. 2D fighting games like Street Fighter was my personal intent for this build.

The board is a simple rectangle for increased sturdiness, which helps when placing the keyboard on your lap.

Project structure

  • gerbers: Gerber files for PCB manufacturing
  • graphics: Source assets for PCB silkscreen
  • kicad: KiCad project files (schematics and PCB designs)
  • kicad-libraries: KiCad components and footprints
  • images: Images for project documentation
  • firmware: Firmware files

PCB

The PCB is designed for Kailh Choc v1 keyswitches, and supports keycaps designed for 18mm x 17mm spacing.

The Pi Pico footprint uses surface-mount solder pads. The castellated pads of the Pi Pico are used to solder it directly to the PCB.

The keyswitches are directly connected to the GPIO pins of the Pi Pico.

Each build uses two copies of the same PCB. This PCB acts as both the logical PCB, and when flipped the long way, it acts as a bottom plate to be attached the logical PCB.

Umbra complete build bottom photo Umbra plate closeup

Keyboard firmware

Bill of materials

PartPurposeQuantityNotes
PCBcircuit board and bottom plate2Send Gerber zip files to JLCPCB.
Raspberry Pi PicoMicrocontroller board1Supports other boards with the Pico footprint and castellated solder pads (Waveshare RP2040 Plus)
Keyswitches24Kailh Choc V1 keyswitches
Keycaps24Kailh Choc V1 keycaps (18mm x 17mm)
M2 6mm screwsSecure main PCB and bottom plate PCB7
M2 nutsSecure main PCB and bottom plate PCB7
2mm tall rubber bumponsRaise board above desk surface and provide skid resitance8

PCB manufacturing settings

These are the manufacturing settings I used when ordering from JLCPCB:

  • Base Material: FR4
  • Layers: 2
  • Dimensions: (whatever the gerber file specifies)
  • PCB Qty: 5
  • Different Design: 1
  • Delivery Format: Single PCB
  • PCB Thickness: 1.6
  • PCB Color: Blue
  • Silkscreen: White
  • Surface Finish: LeadFree HASL-RoHS
  • Outer Copper Weight: 1 oz
  • Gold Fingers: No
  • Confirm Production File: No
  • Flying Probe Test: Fully Test
  • Castellated Holes: No
  • Remove Order Number: Specify a location

IMPORTANT: The PCB has "JLCJLCJLCJLC" silkscreen text on the bottom side of the board. If you want to remove the order number from the boards or you want to print the PCBs with another manufacturer, then I recommend removing this silkscreen text from the .kicad_pcb file, and then regenerate the Gerber files.

Build tips

  • Before starting, check if the PCBs are warped, and bend them to be perfectly flat before soldering.
  • To secure the bottom plate PCB, you can use flat metal M2 screws instead. Or use double-sided tape to adhere the bottom plate PCB directly to the logical PCB.

KiCad project notes

The keyswitch footprints have cutouts for their through-hole solder pads, rotated 180 degrees from the center of the footprint. On opposite halves of the PCB, the keyswitch footprints are rotated 180 degrees. This allows the cutouts to encase the solder pads when the PCB is flipped and used as a bottom plate.

Umbra cutout mirror

This project contains KiCad footprints for both Choc and MX switches with these mounting cutouts. There are also footprints and symbols for other microcontroller boards with castellated pads considered for the design (Waveshare RP-2040 Zero and Seeed XIAO RP2040).

Here are guidelines for using Umbra's self-encasing PCB construction approach for your own designs:

  • Choose a microcontroller board which has castellated pads. Place the microcontroller footprint at the exact center of the PCB.
    • If the microcontroller board has components soldered to its bottom side (e.g., the Waveshare RP2040 Zero), then make a cutout on the PCB in the space between the solder pads of the microcontroller board's footprint.
  • Place keyswitches on the left and right sides of the board so they are perfectly symmetric with each other. On the right side of the board, rotate each keyswitch 180 degrees.
  • Make the board's edge cuts perfectly symmetric the long way. Rectangles are cool, but so are curvy shapes that trace the contours of the keyswitches!

Revision history

  • Choc rev1 (2022-03-19)
    • Initial PCB design

Parts

34
QtyValueFootprintReferences
24SW_Pushumbra-footprints:SW_Choc_Reverse_CutoutSW1, SW2, SW10, SW11, SW12, SW13, SW14, SW15, SW16, SW17, SW18, SW19, SW20, SW21, SW22, SW23 +8
7Hole_Padumbra-footprints:Mount_M2H1, H2, H3, H4, H5, H6, H7
1Logo-Graphicumbra-footprints:Logo_UmbraLOGO2
1Logo-Nameumbra-footprints:Logo_Umbra_NameLOGO1
1Pi Picoumbra-footprints:Pi-Pico_SMDU1

Questions

How big is the Umbra choc PCB?

It measures 224 × 89 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Umbra choc use?

34 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 Umbra choc KiCad files?

From the skarrmann/umbra repository on GitHub, at the commit this page was made from: the board is kicad/choc/umbra-choc.kicad_pcb and its schematic kicad/choc/umbra-choc.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Umbra choc 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 layers26 × 30 mmMicrocontroller, the printed circuit board in 3D

    Microcontroller

    FrameworkComputer/ExpansionCards

    Reference designs and documentation to create Expansion Cards for the Framework Laptop

    34 parts1.1kCC-BY-4.0
  • 2 layers171.2 × 72.9 mmAmiga gfxcard old, the printed circuit board in 3D

    Amiga gfxcard old

    mntmn/amiga2000-gfxcard

    MNT VA2000, an Open Source Amiga 2/3/4000 Graphics Card (Zorro II/III), written in Verilog

    34 parts1k
  • 2 layers53.5 × 62.5 mmLed matrix, the printed circuit board in 3D

    Led matrix

    hackclub/OnBoard

    💡 Join 1,000 teenagers and make your first PCB with a $100 grant!

    34 parts915
  • 2 layers45 × 26 mmESP32-HELP Button, the printed circuit board in 3D

    ESP32-HELP Button

    pcbreflux/espressif

    all espressif stuff will committed here

    34 parts608GPL-3.0
  • 2 layers41.7 × 25.7 mmHeadphones flex pcb rigid, the printed circuit board in 3D

    Headphones flex pcb rigid

    strangeparts/niubi-headphones

    Flexible circuit board design for adding a headphone jack to an iPhone 7

    34 parts493MIT
  • 2 layers18.8 × 16.3 mmAmoeba, the printed circuit board in 3D

    Amoeba

    mtl/keyboard-pcbs

    Keyboard PCBs

    34 parts485
  • 2 layers127 × 69.9 mmEzcgi, the printed circuit board in 3D

    Ezcgi

    baldengineer/bit-preserve

    Project for capturing vintage, classic, aka old computer schematics in KiCad.

    34 parts446