Skip to the content
2 layers220 × 70 mmBemini rp, the printed circuit board in 3D

A miniature mechanical keyboard controller with a rotary encoder for staggered-key rhythm games.

Size
220 × 70 mm
Copper layers
2
Thickness
1.6 mm
Parts
70
Nets
40
Pads
351
Tracks, vias
515, 15
Pours
2
Routed
Yes
KiCad
KiCad 5 (file 20171130)
Created
13 Feb 2022
Updated
6 Mar 2024

Overview

Bemini rp is an open-source printed circuit board by ianklug, from the ianklug/bemini repository on GitHub, published under the CC-BY-SA-4.0 licence. It is a 2-layer board of 220 × 70 mm with 70 parts on 40 nets, routed with 515 tracks and 15 vias.

It is built around the RP2040, W25Q128JVSIQ and AP2112K-3.3, with the BSS138 and WS2812B among its other parts. Its parts include 24 switches, 16 capacitors, 10 resistors, 3 ICs and 2 diodes. It belongs with the RP2040 boards of this library.

Main components

5

README

README.md

Bemini

A miniature mechanical keyboard controller with a rotary encoder for staggered-key rhythm games.

Bemini PCB

Design by ianklug. Art by clue.

Special thanks to Sebastiaan Swinkels for technical assistance.

Made with KiCad and Blender.

Please clone this repository using the --recurse-submodules flag. Some of the required symbol and footprint libraries will not be included otherwise.

Versions

Please note that the RP2040 models are functional at a hardware level, but software is incomplete.

The 2.x versions (bemini-rp) use the RP2040 MCU, and require different firmware from the 1.x versions. They also include a few new features and refinements over the 1.x models, including M2 mounting holes and an RGB indicator LED.

The 1.x versions (bemini-atmel) use the Atmega32U4 MCU, in either the MU or AU footprint. These versions are no longer recommended.

Firmware

Bemini is powered by QMK Firmware.

Bemini ships with a customized keymap that is ideal for use with many common rhythm games. More information about the default keymap is available here.

You may customize Bemini's keymap by following the instructions in these documents. This will require a reflash of your board's firmware. Use QMK Toolbox to flash if on Windows or MacOS, or the QMK CLI with avrdude on Linux.

Printed Parts

The .stl files for Bemini's 3D-printed parts are included in the models directory. I print these parts on a Prusa i3 MK3S in black PLA on a smooth steel print bed.

The newer turntable (v2) is a single piece, and requires no supports. It should be printed with the top facing down. Infill should be at least 15%. This is the recommended version.

The first turntable (v1) prints in two pieces (main and cap) which snap together. This may improve the quality of some of the touch surfaces if your prints are inconsistent. Print with the flat top of the cap facing down, and the flat ring (the bottom) of the main body facing down. The body will require supports.

The encoder retainer should be printed with the flat part facing down. Slide this piece in between the encoder's legs on the underside of the board to secure the encoder, if you do not wish to solder it in place.

Manufacturing

Manufacture at your own risk. I can not guarantee the quality or functionality of boards which are not sold directly by me.

Please note that most PCB manufacturers have a minimum order quantity of five units.

Hand-soldering Beminis from scratch is extremely difficult and NOT recommended due to the small size of the surface-mount components and their pads. Instead, PCB assembly services can source and assemble all the small parts on the bottom of the board. Depending on the manufacturer, you may only need to hand-solder some of the larger parts, such as the USB port and the switch sockets.

I can personally recommend JLCPCB or PCBWay, but most PCB manufacturers should be capable of producing Bemini.

Zipped gerber files are present for the production designs of each variation of Bemini. They are called <variation>-gerbers-<version>.zip and should be compatible with most PCB manufacturing services.

If you will be ordering from JLCPCB, use <variation>-gerbers-jlcpcb-<version>.zip. These gerbers have the JLCPCB serial number placed in an easily-readable location on the back of the board. Make sure to choose "Specify a location" under "Remove Order Number" so that this number is printed where expected.

Production Beminis are two-layer FR4, 1.6mm thick. The RP2040 versions measure 220x70mm. They are assembled using lead-free solder. BOM and Centroid files are present for each board in the format expected by JLCPCB.

The USB connector is a GCT USB4085. The hot-swap sockets are Kailh sockets. The encoder sockets are Mill-Max 3305 receptacles. The encoder is a Bourns PES12. An Alps EC12E will also work. The RGB LED is a WS2812B.

License

Shield: CC BY-SA 4.0

This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.

CC BY-SA 4.0

Parts

70
QtyValueFootprintReferences
22MX-NoLEDkeyswitches:Kailh_socket_PG1350K1, K2, K3, K4, K5, K6, K7, K8, K9, K10, K11, K12, K13, KA1, KA2, KA3 +6
10100nFKeebio-Parts:C_0402C3, C8, C9, C10, C11, C12, C13, C14, C15, C16
6MountingHoleMountingHole:MountingHole_2.2mm_M2H1, H2, H3, H4, H5, H6
410kKeebio-Parts:R_0402R1, R7, R9, R10
2,
210uFKeebio-Parts:C_0402C1, C2
21kKeebio-Parts:R_0402R6, R8
21uFKeebio-Parts:C_0402C4, C5
222pFKeebio-Parts:C_0402C6, C7
227Keebio-Parts:R_0402R4, R5
25.1kKeebio-Parts:R_0402R2, R3
112MHzKeebio-Parts:Crystal_SMD_3225-4pin_3.2x2.5mmY1
120V 1AKeebio-Parts:D_SOD-323D1
1500mAKeebio-Parts:Fuse_0805F1
1AP2112K-3.3Package_TO_SOT_SMD:SOT-23-5U3
1BOOTkicad-open-modules:TS-1187A-B-A-BSW1
1BSS138Package_TO_SOT_SMD:SOT-23Q1
1LOGObemini:kayboards-logo-smallerG***
1LOGObemini:bemini-logo-smallerG***
1RESETkicad-open-modules:TS-1187A-B-A-BSW2
1RP2040rp2040:RP2040U1
1Rotary_EncoderRotary_Encoder:RotaryEncoder_Alps_EC12E_Vertical_H20mmRE1
1USB_C_Receptacle_USB2.0Type-C:USB_C_GCT_USB4085J1
1W25Q128JVwinbond:W25Q128JVPIQU2
1WS2812BKeebio-Parts:WS2812BLED1

More from ianklug/bemini

1
  • 2 layers199 × 65 mmBemini atmel au, the printed circuit board in 3D

    Bemini atmel au

    ianklug/bemini

    A miniature mechanical keyboard controller with a rotary encoder for staggered-key rhythm games.

    47 parts55CC-BY-SA-4.0

Similar boards

  • 2 layers312.5 × 122.3 mmSHEGO75-V5, the printed circuit board in 3D

    SHEGO75-V5

    Charading/Shego75HE

    My endgame 75% hall effect keyboard

    392 parts75
  • 4 layers150 × 100 mmZpn devboard, the printed circuit board in 3D

    Zpn devboard

    CRImier/MyKiCad

    My KiCad boards. Can't be bothered uploading individually anymore, so here you go.

    168 parts253GPL-3.0
  • 2 layers42 × 42 mmLoadcellSensor, the printed circuit board in 3D

    LoadcellSensor

    jujojujo2003/Ender-3-3DPrinter-Load-Cell-Bed-Leveling-Sensor

    This is a Load Cell based bed leveling sensor based on the RP2040 and TI ADS1235 ADC that should mount onto any vertical MGN12H gantry. My printer is an Ender 3 with a bunch of linear rail mods.

    56 parts5MIT
  • 4 layers39.7 × 56.8 mmPicopoweredv3, the printed circuit board in 3D

    Picopoweredv3

    nimitvijayvargee/picopowered

    A simple microcontroller built around the RP2040.

    54 parts1
  • 4 layers76 × 50 mmWigglecam, the printed circuit board in 3D

    Wigglecam

    jadenrhee/wigglecam-controller

    RP2040 co-processor board for a 4-lens wigglegram camera: constant-current flash, controls, battery telemetry, Pi 5 I2C interface. 4-layer, DRC-clean, fab-ready.

    105 parts
  • 4 layers52.8 × 61.2 mmGameboyCartridgeV1.3, the printed circuit board in 3D

    GameboyCartridgeV1.3

    shilga/rp-gameboy-cartridge-hw

    You should order with ENIG (electroless nickel immersion gold) plating. While the cartridge will work with HASL you will getter contact with ENIG and it is less prone to wearing down.

    60 parts72CERN-OHL-P-2.0
  • 2 layers475 × 139.9 mmSkogaslider main pcb, the printed circuit board in 3D

    Skogaslider main pcb

    skogaby/skogaslider

    Firmware, CAD, and PCB files for the skogaslider, an RP2040-based controller to simulate Chunithm's gameplay experience

    175 parts18MIT
  • 2 layers91.5 × 71.5 mmNeurodots, the printed circuit board in 3D

    Neurodots

    ki-manufaktur/neurodots

    This project is inspired by the 3D printed 4x4 Colour Dot Puzzle by Sebastian Coddington and featured in Hackaday: Color Dot Puzzle Will Wrinkle Your Brain.

    74 parts2

Questions

How big is the Bemini rp PCB?

It measures 220 × 70 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Bemini rp use?

70 parts, built around the RP2040, W25Q128JVSIQ, AP2112K-3.3 and BSS138. 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 Bemini rp KiCad files?

From the ianklug/bemini repository on GitHub, at the commit this page was made from: the board is bemini-rp/bemini-rp.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the Bemini rp design in my own project?

Its repository publishes it under the CC-BY-SA-4.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).