

Lumpen
budget 40% keyboard, plateless w/ flex cuts & backplate
- Size
- 238.1 × 86.1 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 94
- Nets
- 68
- Pads
- 540
- Tracks, vias
- 480, 19
- Pours
- 250
- Routed
- Yes
- KiCad
- KiCad 7 (file 20221018)
- Created
- 4 Jan 2023
- Updated
- 28 Aug 2024
Overview
Lumpen is an open-source printed circuit board by calvin-mcd, from the calvin-mcd/lumpen repository on GitHub, published under the GPL-3.0 licence. It is a 2-layer board of 238.1 × 86.1 mm with 94 parts on 68 nets, routed with 480 tracks and 19 vias.
It is built around the RP2040-ZERO. Its parts include 45 diodes, 1 connector and 1 switch. It belongs with the keyboards and input boards and the RP2040 boards of this library.
Main components
1README
README.mdlumpen
lumpen is an entry-level 40% keyboard designed around the rp2040-zero micro controller from waveshare. This is a plateless build with a pcb with flex cuts for some bounce and a simple backplate. The keyboard sports a uniform stagger layout with big bar or split bar options for the bottom row. It also supports one rortary encoder at the bottom left and has a rgb breakout (see RGB for details!).
The design takes cues and inspiration from amazing keyboards such as trash man#6005’s Coriander, rain#3950's hubris and matthewdias' model-v.
Layout

Build Guide
Step 1
When building the keyboard make sure that you solder the switch on top of the micro controller before installing the controller! First solder the controller headers in place, make sure to cut them as flush as possible. Then solder the switch. Afterwards solder the controller.
Version 1.0 had some small interferences between that switch and the pins of the controller. Effort has been made to minimise that with version 1.1 but it has not been tested. In case of interference I recommend to cut part of the bottom housing of the switch. That worked well on version 1.0. (see pictures below)
Step 2
Solder the diodes of your choice. The pcb supports both through hole and smd diodes. Install stabilisers and solder the switches.
Step 3
Put standoffs on the pcb. Screw backplate onto the board.
The board uses m2 screwholes and works well with 10mm standoffs. For a smoother experience I recommend using a o-ring each between standoff and pcb (see pictures below).
RGB
Because this board uses a rp2040, you will need to use a logic shifter to utilise the rgb breakout. Something like this or this for example. Or you could try this hack.
There are two firmwares are provided. I recommend the firmware that is using the onboard single led of the rp2040-zero. The second firmware is supposed to support the rgb strip with the above mentioned caveat.
Pictures
Soyo#3925's build:

Gerber Renders



Picture of the switch sitting on top of the controler
Picture of the oring between standoffs and pcb

Disclaimer
This PCB has been fully tested and is confirmed to work. However, no-one involved in this project is responsible for any usage issues that may arise. Order at your own risk. Feel free to edit, modify and otherwise utilise these files.
License
This project is released under the GPL v3 License. Please refer to the LICENCE file.
Credits
As always big thanks to the many people who helped me and inspired this board!
Any questions, contact Calvin#0563 on Discord.
Parts
94| Qty | Value | Footprint | References |
|---|---|---|---|
| 45 | D_Small | Keebio-Parts:Diode-Hybrid-Back | D1, D2, D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, D20, D21, D22, D23 +29 |
| 36 | MX-NoLED | MX_Only:MXOnly-1U-NoLED | MX1, MX2, MX10, MX11, MX14, MX15, MX16, MX17, MX18, MX19, MX20, MX21, MX22, MX23, MX26, MX27 +20 |
| 4 | MX-NoLED | MX_Only:MXOnly-1.25U-NoLED | MX13, MX24, MX37, MX45 |
| 2 | MX-NoLED | MX_Only:MXOnly-1.5U-NoLED | MX12, MX25 |
| 1 | Conn_01x03 | Connector_PinSocket_1.27mm:PinSocket_1x03_P1.27mm_Vertical | J1 |
| 1 | LOGO | LOGO | G*** |
| 1 | MX-NoLED | MX_Only:MXOnly-2.25U-ReversedStabilizers-NoLED | MX40 |
| 1 | MX-NoLED | MX_Only:MXOnly-2.75U-ReversedStabilizers-NoLED | MX42 |
| 1 | MX-NoLED | MX_Only:MXOnly-7U-ReversedStabilizers-NoLED | MX41 |
| 1 | RP2040-Zero | rp2040-zero:RP2040-Zero | RZ1 |
| 1 | RotaryEncoder_Switch | Keebio-Parts:RotaryEncoder_EC11 | SW1 |
Questions
How big is the Lumpen PCB?
It measures 238.1 × 86.1 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Lumpen use?
94 parts, built around the RP2040-ZERO. 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 Lumpen KiCad files?
From the calvin-mcd/lumpen repository on GitHub, at the commit this page was made from: the board is Project/lumpen.kicad_pcb and its schematic Project/lumpen.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Lumpen 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).
Similar boards
- 2 layers132.3 × 94.9 mm

- 2 layers321 × 92.3 mm

- 2 layers255.9 × 99.3 mm

Zerosprey42
beekeeb/zerosprey42
Zerosprey42 Keyboard is a wired, beginner friendly, choc hotswap, MonoBlockSplit (Unibody), column-staggered, DIY mechanical keyboard.
96 parts140 - 2 layers146.3 × 69.5 mm

- 2 layers54 × 64 mm

DonConIOmini
ravinrabbid/DonCon2040
RP2040 based firmware and hardware for DIY Taiko no Tatsujin Drum Controllers
96 parts66MIT - 2 layers52 × 50 mm

RP2040-TestPatternGenerator VGA
nmur/RP2040-TestPatternGenerator
A simple test pattern generator running on the RP2040 microcontroller
12 parts64GPL-3.0 - 2 layers120 × 40 mm

Buinchiez40
ChrisChrisLoLo/bunchiez40
A pocket keyboard that makes use of mouse switches to achieve a miniscule size
90 parts56GPL-3.0 - 2 layers305.2 × 76.2 mm
