Pica40 v2
Split keyboard with 40 keys using XIAO controllers.
Pica pica - european (common) magpie
Features
- 40 keys
- high profile (regular MX switches with hotswap sockets) or low profile (soldered low-profile ChocV2 switches)
- wired/wireless versions
- aggressive stagger
- slightly splayed for pinky columns
Wired version
- XIAO RP2040 controller
- QMK firmware
- USB-C or TRRS connection between splits
- one rotary encoder (without click)
- status LED
Wireless version
- XIAO nRF52840 BLE controller
- ZMK firmware
- two rotary encoders (without click, only master side encoder is currently supported by ZMK)
- on/off toggle
- battery connectors
[!NOTE]
I created a beta version with small improvements for wireless version - https://github.com/zzeneg/pica40/tree/v2.2-beta?tab=readme-ov-file#v22. I'm fairly confident it should work but I'm not able to verify it at the moment. You can order it at your own risk, let me know if everything worked.
Photos
wired version with 3d printed case
wired/wireless versions with Choc V2
Pica40 family - ChocV2 with low profile keycaps, ChocV2 with MT3 keycaps, Pica40 v1 with MT3 keycaps, regular switches and hotswap sockets
Firmware
Gerber files
Case files (STL - 3d printed, MX hotswap only)
All files are in stl folder.
Top:
- wired/wireless versions
- with and without encoders
- normal and thin versions (see bottom parts for difference)
Bottom:
Normal version - solid cover, cutouts for legs.
Thin version - 1.2mm lower than normal version, cutouts for all elements. Has additional cutouts for magnets.
Thin vs normal:
Case files (DXF - for metal/acrylic)
Bill of materials
- PCBs
- 2 XIAO MCUs - RP2040 for wired version, nRF52840 for wireless
- 40 SMD SOD-123 1N4148 diodes
- 1 or 2 EC11/12 rotary encoder with knob (diameter up to 20mm)
- [MX hotswap version] 3d printed case (top and bottom, left and right - 4 files)
- [MX hotswap version] 40 hotswap sockets
- [MX hotswap version] M2 standoffs (4mm for thin, 5mm for normal), 3mm M2 screws with flat head
- [MX hotswap thin version] 8x2mm magnets (optional)
- [ChocV2 soldered version] FR4/metal/acrylic bottom plates, metal/acrylic MCU cover (optional)
- [ChocV2 soldered version] 6mm M2 screws, M2 nuts and washers
- [Wired only] USB-C 16pin connectors
- [Wired only] TRRS PJ-320A connectors
- [Wireless only] 2x on/off toggle MSK-12C02
- [Wireless only] 2x Li-Ion 3.7V battery (up to 25x14x5 for standard case)
- 7mm legs or rubber sheet (recommended for thin version)
Build log
TODO
Development
For proper KiCad setup install my zzkeeb library.
Changelog
V2.1
- added TRRS support
- wired version supports rotary encoder on any side
- remove unused for FR4/acrylic/metal sandwich case, 3D printing is better and cheaper
- improved 3D printed case with a new shape and parts
V2
- reworked to true split with two XIAO MCUs controllers
- added splay to pinky columns
- all case/pcb files are not compatible with V1
V1
- split with single Pro Micro based MCU and handwired connection
Support
If you like my work and want to support my future designs, please consider sponsorship.