Split keyboard with 40 keys using XIAO controllers.
Pica pica - european (common) magpie
- 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
- XIAO RP2040 controller
- QMK firmware
- USB-C or TRRS connection between splits
- one rotary encoder (without click)
- status LED
- 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.
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
- QMK - available in main repository, also check my fork for most recent updates. Compiled file.
- Vial - my fork. Compiled file.
- ZMK - Source code, compiled left, compiled right, reset
All files are in stl folder.
- wired/wireless versions
- with and without encoders
- normal and thin versions (see bottom parts for difference)
Normal version - solid cover, cutouts for legs. Thin version - 1.2mm lower than normal version, cutouts for all elements. Has additional cutouts for magnets.
- Curved bottom for MX hotswap with 3D printed case
- Bottom for soldered ChocV2
- MCU cover
- MCU cover with encoder hole
- 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)
TODO
For proper KiCad setup install my zzkeeb library.
- 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
- reworked to true split with two XIAO MCUs controllers
- added splay to pinky columns
- all case/pcb files are not compatible with V1
- split with single Pro Micro based MCU and handwired connection
If you like my work and want to support my future designs, please consider sponsorship.