

Pierce
split 5x3 column stagger keyboard
- Size
- 114.6 × 91.3 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 35
- Nets
- 56
- Pads
- 381
- Tracks, vias
- 369, 8
- Pours
- 2
- Routed
- Yes
- KiCad
- KiCad 6 (file 20211014)
- Created
- 17 Feb 2021
- Updated
- 14 Sep 2024
Overview
Pierce is an open-source printed circuit board by durken1, from the durken1/pierce repository on GitHub, published under the MIT licence. It is a 2-layer board of 114.6 × 91.3 mm with 35 parts on 56 nets, routed with 369 tracks and 8 vias.
Its parts include 18 switches, 5 resistors and 1 capacitor. It belongs with the keyboards and input boards and the AVR (ATmega, ATtiny) boards of this library.
README
README.mdpierce 2.0

pierce 2.0 is a split modular wireless / semi-wireless 36 key column staggered keyboard. The design is inspired by Corne with more pinky stagger as well as only using 1u keycaps.
It is possible to build a wireless version or a semi wireless version. If building the wireless version an additional reciever dongle is required.
In the semi wireless version the wired half is also acting as a reciever for the wireless half.
Both versions have full QMK support.
Supported switches: MX, Choc V1, Alps
The semi wireless version has a built in reset circuit for connecting a PS/2 pointing device.
There are 3 different PCBs: wireless (reversible), wired (right) and reciever.
A programmer is necessary to flash the wireless modules. A cheap option is getting an ST-Link V2 clone from ebay.
Bill of materials
Wireless
| Qty | Item | Comments |
|---|---|---|
| 2 | Pierce 2.0 wireless PCB | |
| 1 | Pierce 2.0 reciever PCB | |
| 1 | Pro micro or equivalent | |
| 2 | Keystone 3034 Coin cell battery retainer | SMD |
| 2 | 2032 3.3V Coin cell battery | |
| 3 | YJ-14015 / Core51822 (B) | |
| 3 | 1x4 pin Right-angle 2.54 mm header | For programming RF modulules. Optional, temporary soldered wires works fine |
| 2 | 4.7 kΩ resistor | SMD 1206 |
| 1 | 1117 3.3 V regulator | SMD SOT-223 |
| 1 | THT momentary switch | 2 pin THT 6 mm |
Semi wireless
| Qty | Item | Comments |
|---|---|---|
| 1 | Pierce 2.0 wireless PCB | |
| 1 | Pierce 2.0 wired PCB | |
| 1 | Pro micro or equivalent | Elite C recommended if using trackpoint. (Pin D5 broken out) |
| 1 | Keystone 3034 Coin cell battery retainer | SMD |
| 1 | 2032 3.3V Coin cell battery | |
| 2 | YJ-14015 / Core51822 (B) | |
| 2 | 1x4 pin Right-angle 2.54 mm header | For programming RF modulules. Optional, temporary soldered wires works fine |
| 2/4 | 4.7 kΩ resistor | SMD 1206, 4 if using trackpoint, otherwise 2 |
| 1 | 1117 3.3 V regulator | SMD SOT-223 |
| 1 | THT momentary switch | 2 pin THT 6 mm |
| 1 | 100 kΩ resistor | SMD 1206 Only for trackpoint |
| 1 | 2.2 uF capacitor | SMD 1206 Only for trackpoint |
| 1 | Trackpoint module | R61 recommended, Only for.. well.. |
Build instructions
Soldering
The soldering is pretty straight forward and it should be obvious what component goes where. If you haven't soldered SMD components before I recommend watching a youtube tutorial or two beforehand. I suggest adding a bit of solder to the middle pad for the battery holder.
Flashing wireless modules
The following instructions is for using an ST-Link V2 clone and Windows.
-
Download and install OpenOCD from https://openocd.org/ and drivers for the programmer from https://www.st.com/en/development-tools/stsw-link009.html
-
Create a file called 'openocd.cfg' in the bin folder where you installed OpenOCD with the following content:
text #nRF51822 Target source [find interface/stlink-v2.cfg] transport select hla_swd set WORKAREASIZE 0x4000 source [find target/nrf51.cfg] -
Copy the relevant firmware .bin file to the bin folder where you installed OpenOCD
-
Connect the 4 pins SWCLK, SWDIO, GND and 3.3 V on the ST-Link V2 to the matching pad on the PCB and the ST-Link to the computer
-
Open a command prompt, navigate to the bin folder mentioned above and enter:
text openocd.exe -f openocd.cfg -
Open another command prompt and enter:
text telnet localhost 4444
You should now be connected to the programmer. Enter the following commands to flash the firmware:
halt
nrf51 mass_erase
program <firmware_file_name>.bin
resetThat's it! You should now have a working pierce keyboard.
Plates
These need some work
I have included files to 3D print bottom plates and switch plates (only for alps for now). The idea of the screwless bottom plates is to use a friction fit, but I'm not sure how well the current version fits.
Parts
35| Qty | Value | Footprint | References |
|---|---|---|---|
| 18 | SW_PUSH | pierce:MX_ALPS_PG1350_noLed | SW4, SW5, SW11, SW12, SW13, SW14, SW19, SW20, SW21, SW22, SW27, SW28, SW29, SW34, SW35, SW36 +2 |
| 4 | 4k7 | pierce:R_SMD_v2 | R2, R3, R4, R5 |
| 4 | Val** | kbd:M2_HOLE_v2 | Ref**, Ref**, Ref**, Ref** |
| 1 | 100k | pierce:R_SMD_v2 | R1 |
| 1 | 2u2 | pierce:C_SMD_v2 | C1 |
| 1 | Conn_01x04_Male | pierce:PinHeader_1x04_P2.54mm_Horizontal | PROGR1 |
| 1 | Elite-C_reverse | pierce:Elite-C_reverse_D5 | AVR1 |
| 1 | LD1117S33TR_SOT223 | Package_TO_SOT_SMD:SOT-223-3_TabPin2 | REG1 |
| 1 | SW_PUSH | kbd:ResetSW_1side | RST1 |
| 1 | Trackpoint | pierce:TRACKPOINT | TP1 |
| 1 | Val** | kbd:M2_Threads_v2 | Ref** |
| 1 | YJ14015 | pierce:YJ-14015 | YJR1 |
More from durken1/pierce
2- 2 layers112 × 91.3 mm

- 2 layers18.9 × 40 mm

Similar boards
- 2 layers97.2 × 59.1 mm

ArmLEDsPrototype
hackclub/OnBoard
💡 Join 1,000 teenagers and make your first PCB with a $100 grant!
35 parts915 - 2 layers62 × 42 mm

- 2 layers75 × 26 mm

DIY detector electron variant
ozel/DIY_particle_detector
A mobile low-cost spectrometer for measuring radioactivity and the energy of ionising radiation like alpha particles and electrons
35 parts558BSD-2-Clause - 2 layers45 × 25 mm

ReCamera Basically Board
Seeed-Studio/OSHW-reCamera-Series
reCamera is a series of open-source AI cameras.
35 parts495Apache-2.0 - 2 layers160.8 × 24.4 mm

- 2 layers75 × 50 mm

- 2 layers50 × 20.5 mm

- 2 layers50.5 × 67.1 mm

Questions
How big is the Pierce PCB?
It measures 114.6 × 91.3 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Pierce use?
35 parts. 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 Pierce KiCad files?
From the durken1/pierce repository on GitHub, at the commit this page was made from: the board is pcb/wired/pierce.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.
Can I use the Pierce design in my own project?
Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).