P2PPCB platform is a software / hardware complex for rapid prototyping of 3D-shaped PC keyboards, offered by DecentKeyboards.
With P2PPCB platform, you can design your own 3D-shaped keyboards, like this one:
The above is not easy. It takes several hours by a highly skilled operator (me).
But the one below can be done in a few hours by a newbie who has a Windows PC (English) and a broadband connection, without any charge:
You can build your own design using a 3D printing service, P2PPCB components, and switches / keycaps / stabilizers / etc. as you like.
ntcs.mp4
P2PPCB platform uses single IDC contacts for wiring, as shown here:
Simply push a wire into a contact by a special hand tool.
Kyocera AVX provides them. Details can be found here: https://www.kyocera-avx.com/products/connectors/wire-to-board/single-idc-contact-22-28-awg-9176-400/
Point-to-point wiring with PCB without soldering, hence the name is "P2PPCB".
Point-to-point wiring is much more flexible than ordinary PCB. 3D-shape is the best example. Rapid and easy prototyping of ordinary keyboards is also a happy use. With P2PPCB platform, you don't need to build a dedicated PCB for each design. Just a 3D-printed frame, and the software helps your CAD operation a lot.
Socket connects the switch to the PCB. There is nothing to solder by yourself, even in the case of split keyboards. (But if you need to connect a debugger, soldering is required.)
- keyboard-layout-editor.com : Open-source
- Autodesk Fusion 360: Charge-free for hobbyists
- P2PPCB Composer F360: Open-source
- QMK firmware: Open-source
As long as your project stays on a PC screen, there is no charge.
Up to six per keyboard usually.
Available switches:
- MX (Kailh MX and many other Cherry MX compatible)
- Kailh Choc V1
- Kailh Choc V2
- Gateron LP
Available stabilizers:
- Cherry-style plate-mount (for MX)
- Coaster (for MX)
- Kailh Choc V1 stabilizer (for Choc V1)
- Gateron LP
Stabilizer for Choc V2 is not available yet because there is no such item in the market yet. I hope it will appear on the market. But by modifying a Cherry-style plate-mount stabilizer with a knife, it works (very geeky way).
P2PPCB Composer F360 (PC0) is an add-in of Autodesk Fusion 360 (F360) on Windows PC. F360 runs on Mac too, but PC0 lacks some features on Mac. More details can be found here: https://github.com/hajimen/p2ppcb_software/tree/main/p2ppcb_composer_f360
PC0 handles keycaps to check interference and to help your design process. The following are available on PC0. You can of course put other keycaps on your 3D-printed keyboards.
- XDA (9.5 mm height. CAUTION: There are a lot of "XDA" profiles in the market)
- DSA
- Cherry profile
- OEM profile
- Kailh Choc V1
- Junana MX (New profile from DecentKeyboards)
Only Junana MX can mate with Choc V2 or Gateron LP, normally. In fact DSA 1u can do it in a deep geeky way.
Dig into P2PPCB Internal/Depot Parts mU0jU/Cap DSA 1u.*
component of your F360 file, and find what to do.
There are many dedicated components for P2PPCB platform. It also requires general-purpose parts like switches and keycaps.
DecentKeyboards is selling P2PPCB components. General-purpose parts are at your own choice.
A mainboard connects the USB to the matrix wires. Comparison chart of the three mainboards:
Alice | Bob | Charlotte | |
---|---|---|---|
Cost | Bad | Cheapest | Good |
Size | Bad | Smallest | Good |
Split Keyboard | USART | N/A | Qwiic |
Qwiic | Yes | No | Yes |
Matrix Size | 8x24 + 2x6 | 12x16 | 12x16 + 2x3 |
Matrix Wire | Dupont | 30 pin ribbon | 36 pin ribbon |
Switch LED | 12 | 0 | 6 |
Underglow | Yes | No | No |
USART | Yes | No | No |
Complexity | Bad | Simplest | Good |
I don't recommend Alice in most cases. It is only good for R&D labs that have a high precision and large size 3D printer. If you use a 3D printing service, go with Bob or Charlotte.
Alice accepts female Dupont wire as matrix wire. It is cheaper and more convenient than Bob / Charlotte's IDC ribbon cable. A Dupont wire is not very reliable, but sufficient for trial-and-error iterations of a design process. A harness kit (the picture above) is available for high reliability, but it is quite expensive.
You might think that IDC ribbon cable is available for Alice. I thought so, too. But 1.27 mm pitch ribbon cable (common thing) is too thick for a single IDC contact. I could not make it reliable. (This is a big reason why I made Bob and Charlotte.)
Bob is the smallest and cheapest but lacks a lot of features. You can configure most things with VIA https://www.caniusevia.com/. With Bob, you can live without QMK firmware configuration in most cases.
If you need a split keyboard / switch LED / Qwiic connector, Charlotte is recommended. If you go with Charlotte, QMK firmware is a must.
(You may wonder how Charlotte uses I2C for split keyboards. I implemented I2C slave mode that ChibiOS doesn't have. The code is RP2040 only, sorry.)
A matrix wire connects a mainboard to contacts.
Alice accepts a female Dupont wire as a matrix wire. It is a general-purpose part, not a P2PPCB component. A harness kit for Alice is available as a P2PPCB component, but it is not recommended in most cases.
Bob and Charlotte accept 1.00 mm pitch IDC ribbon rainbow cable as matrix wire. This pitch is not very common. These are P2PPCB components. When you build a keyboard, peel off the bonds of wires (easy to peel) and use them as single wires.
MX, Choc, and Gateron LP socket are available. LED and normal for each socket. So:
- MX LED
- MX normal
- Choc LED
- Choc normal
- Gateron LP LED
- Gateron LP normal
are available.
(You may wonder how an LED and a switch both can be driven / read by only one pair of wires. By utilizing the forward voltage (Vf) of LEDs. Below its Vf, an LED has no current flow (no light, of course). We can read a switch by applying a voltage lower than the Vf. To drive an LED, a resistor is connected in series with the switch. Even when the switch is closed, the resistor produces enough voltage to drive the LED which is connected in parallel to the switch-resistor. Reading and driving are multiplexed by time division in high frequency like PWM.)
To push a wire to a single IDC contact, use this mount. Insert the cuboid end into the switch hole of a frame.
You can get this component by printing the F3D file: p2ppcb_component_reference/contact-to-socket/Single IDC Contact Push Mount.f3d
.
Charlotte uses Qwiic (3.3V I2C with Vdd on JST-SH 4-pin connector) for split keyboards. The Qwiic-to-TRRS assembly is available as a P2PPCB component. TRRS cable is a general-purpose part.
P2PPCB split keyboard kit contains:
- Qwiic-to-TRRS assembly: 2 pcs
- TRRS cable 50 cm: 1 piece
(No P2PPCB component for USART split keyboards of Alice. Connect by female / female Dupont wire or solder a terminal of your own choice.)
You can use the 3D model of TRRS terminal by Place Misc command of PC0.
Even with 3D-shaped keyboards, height-adjustable feet are indispensable for many reasons. Rubber sole is also indispensable. P2PPCB platform has its own foot kit.
You can embed trackpad modules to your keyboards. Available trackpad models:
- Azoteq ProxSense TPS43 / TPS65 after Dec 2022
- (With light modification) Cirque TM023023 / TM035035 / TM040040
A Qwiic-to-FFC adapter kit contains a Qwiic-to-FFC adapter and the FFC.
The trackpad modules above have FFC connectors. The Qwiic-to-FFC adapters connect the trackpad modules to the mainboards of P2PPCB.
You can use the 3D models of the adapter and the trackpad modules by Place Misc command of PC0.
The Qwiic-to-FFC adapters have DR or RDY contact. They are for power saving. QMK doesn't need them. In the future, they may be good for wireless keyboards.
P2PPCB platform requires so many parts to build a real keyboard.
- Special hand tool for single IDC contact (special bit and common handle)
- Mainboard (with screws)
- Contact-to-socket assembly
- Single IDC contact push mount
- Matrix wire
- Adjustable foot kit
- Key switch
- Keycap
- 3D-printed frame
- One Philips and one flat screwdriver :-)
In these parts, difficult-to-reuse is only matrix wire and frame. You can reuse contact-to-socket assembly up to three times (according to Kyocera AVX. I guess much more actually).
So DecentKeyboards combined them into P2PPCB Starter Kit (except screwdriver). Just by getting this kit, you can build and test a P2PPCB-based keyboard by hand.
Purchase Starter Kit Bob from DecentKeyboards
Purchase Starter Kit Charlotte from DecentKeyboards
This repository contains a lot of technical details about P2PPCB platform. You'll need it if you want to go deep.
p2ppcb_component_reference
: P2PPCB component
p2ppcb_starter_kit_reference
: P2PPCB Starter Kit
If you have any questions, please feel free to join the discussions: https://github.com/hajimen/p2ppcb_software/discussions