Carpo is a 36 keys, low profile, choc spaced, split keyboard. Based on the Holyiot 18010 BLE module.
It features kailh choc v1 switches, a 200mah battery, status led and a thin and sleek case.
More photos
The case is printed in JLCPCB using the 8001 resin
The keycaps are Pseudoku’s Chicago Stenographer, printed in JLCPCB using the JLC black resin.
The blue status LED will blink showing the Bluetooth status, if it’s breathing it’s disconnected. After connecting, it will blink a number of times, corresponding to the index of the current Bluetooth profile (profile 0 will blink 1 time, profile 1, 2 times, etc.)
The PCB gerbers are in ./pcb/gerbers/left_gerber.zip and ./pcb/gerbers/right_gerber.zip
This is the BOM for a single side, duplicate the quantity for both sides.
Reference | Value | Qty | LCSC | Aliexpress |
---|---|---|---|---|
C1 | 1nF | 1 | C1588 | link |
C4,C5 | 4.7uF | 2 | C19666 | link |
C6,C7 | 1uF | 2 | C1592 | link |
D1…D18 | 1N4148 | 18 | C909967 | link |
D19 | 1N5819W | 1 | C169540 | link |
D20 | RED | 1 | C2286 | link |
D21 | Blue | 1 | C72041 | link |
ESD1 | USBLC6-2P6 | 1 | C3647099 | link |
F1 | 500mA | 1 | C269104 | link |
J1 | USB_C_Receptacle | 1 | C168688 | link |
J2 | X1224WRS-02-LPV01 | 1 | C528028 | link |
Q1 | AO3401A | 1 | C15127 | link |
R1,R2 | 5.1K | 2 | C23186 | link |
R3 | 1M | 1 | C22935 | link |
R4 | 100k | 1 | C25803 | link |
R5,R9 | 1K | 2 | C21190 | link |
R6 | RPROG* | 1 | C22978 | link |
R7 | 806/820k | 1 | C103828 | link |
R8 | 2M | 1 | C22976 | link |
R_TACT1 | SW_Push | 1 | C79175 | link |
SW1…SW18 | SW_SPST | 18 | NA | link |
SW19 | PCM12SMTR | 1 | C221841 | link |
U1 | nRF52840_holyiot_18010 | 1 | NA | link |
U2 | XC6206P332MR-G | 1 | C5446 | link |
U3 | MCP73831 | 1 | C14879 | link |
NA | 502025 | 1 | NA | link |
NA | 781720002* | 1 | NA | link |
- RPROG: You can use 5.1K resistors already included for the USB-C. See schematic for RPROG values, keep it at max 500mA.
- 781720002: Buy the J003 option.
It’s recommended to print in resin, printing in FDM printers was not tested.
Currently, some walls near the battery switch and reset are too thin, if you are printing with jlcpcb they may complain about that. I will fix this in a future version. But the result came out fine.
Component | Quantity | Aliexpress |
---|---|---|
M2 Countersunk screw 8mm | 8 | link |
M2 Nut | 8 | link |
8x1.5mm Rubber Feet | 8 | link |
Left Top case | 1 | |
Left Bottom case | 1 | |
Right top case | 1 | |
Right bottom case | 1 |
The PCB is not easily hand solderable, I would recommend using a hotplate (I used this one), or a rework station. Also some pads in the holyiot 18010 are not accessible for hand soldering. Put solder paste in the pads and place the components. You can use as a reference the left ibom and right ibom. After that, ensure that there is no shorts.
To solder the cable included in the BOM to the battery, you can solder the cables directly to the battery cables, or unsolder the original battery cables, and solder the included cables to the battery. MAKE SURE TO NOT SHORT THE POSITIVE AND NEGATIVE LEADS, ESPECIALLY WHEN TRYING TO RUN THE CABLES WITH TWEEZERS TO THE SIDE OF THE BATTERY, DON’T ASK ME HOW I KNOW THIS
Carpo uses the Adafruit nRF52 Bootloader. You can get it in this fork. The nrfmicro wiki has a great section on flashing the bootloader, you can get it here, but following the build and flash sections of the Adafruit repo worked well for me. I used a rpi pico flashed with debugprobe. The SWD pins are accessible at the top of the PCB.
After flashing the bootloader, you should be able to double press the reset button to enter in the bootloader mode, the blue status LED should breathe and it should appear as a flash drive in your computer.
The ZMK config can be found in this repo. Just put the keyboard in bootloader mode, get the .uf2 firmware in the latest build artifact, and copy the respective left and right .uf2 file to the left and right keyboard.
The layout is pretty barebones, so customize as you wish. In the personal
branch I have the layout that I personally use.
It’s thanks to various open source projects that I was able to make the Carpo keyboard.
- TOTEM: Layout inspirations.
- Dao Choc BLE: Schematic design and PCB Layout.
- Wubbo: Schematic design.
- nRFMicro Schematic design and documentation, if it weren’t for the nRFMicro documentation, this project wouldn’t be possible.
- Corne-ish Zen: Case design and PCB Layout.