Skip to the content
2 layers203.3 × 107.6 mmKeyboard, the printed circuit board in 3D

A hobby keyboard

Size
203.3 × 107.6 mm
Copper layers
2
Thickness
1.6 mm
Parts
50
Nets
65
Pads
610
Tracks, vias
770, 53
Pours
320
Routed
Yes
KiCad
KiCad 7 (file 20221018)
Created
13 Sep 2023
Updated
8 Oct 2023

Overview

Keyboard is an open-source printed circuit board by mylestunglee, from the mylestunglee/articulation80 repository on GitHub. It is a 2-layer board of 203.3 × 107.6 mm with 50 parts on 65 nets, routed with 770 tracks and 53 vias.

Its parts include 40 switches, 2 resistors, 1 IC and 1 connector. It belongs with the keyboards and input boards and the AVR (ATmega, ATtiny) boards of this library.

README

README.md

articulation80

The articulation80 keyboard is a split keyboard with 4x9 column splayed keys and 4 thumb keys. The name is inspired from articulated buses, where this keyboard has many connected blocks.

Keyboard preview

It features:

  • Kailh Choc V1 hotswap support with choc spacing
  • A detachable inner number row with fixed outer number row
  • A detachable numpad
  • Serial or I2C connection between halves
  • Pro Micro-compatible controller support
  • No branding! If you are building this, you may want to add silk-screen to make soldering easier.

I took inspiration from many keyboards:

  • The general snappable layout from Breeze
  • The pinky stagger from Kyria
  • The column splay and thumb cluster from Hillside 52
  • Many popular keyboards to determine a suitable wiring diagram for TRRS, such as the Corne

Repository Contents

NameDescription
pcbKiCad 7 project with symbol diagrams, footprints and 3D models included
layout.FCStdFreeCad layout file outlining PCB and plate edges
articulation80QMK files for firmware

scripts/info_json_matrix

Generates info.json layout data for QMK by running python generate_layout.py layout.csv. layout.csv maps the visual key position with the pin row and column.

scripts/verify_geometry

Translates points generated by FreeCad into KiCad. export_points.py is a script intended to run inside FreeCad to export all points into a text file, called geometry.txt. update_geometry_markers.py uses geometry.txt to aid the correct placement of components on the PCB and edges by placing dummy components as markers. Using the snap tool in KiCad, one can construct the edge by connecting markers. remove_geometry_markers.py removes these markers. Perhaps there is a more efficient way to make FreeCad and KiCad work together with existing plugins.

After soldering, copy the articulation80 sub-directory into qmk_firmware/keyboards. Flash with:

text
qmk flash -kb articulation80 -km default -bl dfu-split-left

Replace left with right as necessary. This command assumes the Elite-C has been soldered using I2C. If not, change the bootloader in the command and in the info.json file.

Build Instructions

This build is very similar to existing keyboards. Please refer to the inspired keyboards for full instructions.

Build Parts

NameCountRemarks
PCB2
Plate2Ensure left and right are cut as required
Controller2A Pro Micro-compatible controller
TRRS jack2PJ-320A, ensure pins are through-hole
TRRS cable1Also called a 4-pin 3.5mm audio auxiliary cable
Reset button2Optional, PTS526 SM15 SMTR2 LFS recommended
Resistors2Optional, for I2C connection, RC1206FR-074K7
Diode80*SMD only, 1N4148W-TP, SOD-123 recommended
Hot swap key sockets80*CPG135001S30
Key Switch80*
Key Cap80*Ideally 6 key caps for thumbs
Hot swap controller sockets4Optional, 315-43-112-41-003000 or higher profile.
Hot swap pins48Optional, 3320-0-00-15-00-00-03-0
Rubber feet12Can have more for stability, 6 recommended minimum for each side. SJ-5302 CLEAR recommended.

*Adjust for number of keys desired.

See the documentation on QMK for how to solder the resistors. To minimise the complexity of the PCB, the left side controller is soldered upside down. There are four pads which connect the controller to the TRRS jack, these are intended to be soldered on the back side of the keyboard. From left to right with the back side facing up, if using serial connection, solder pads 1 and 4, otherwise if using I2C, solder 2, 3 and 4.

More Images

Featuring MBK and MCC POM keycaps.

Both sides Right side Side view Rendered PCB Layout diagram

Parts

50
QtyValueFootprintReferences
25Keykeyboard:KeySW01, SW02, SW11, SW12, SW13, SW16, SW17, SW20, SW21, SW22, SW23, SW24, SW26, SW27, SW30, SW31 +9
10Keykeyboard:KeyRightSW03, SW15, SW18, SW25, SW28, SW35, SW38, SW43, SW45, SW48
5Keykeyboard:KeyLeftSW00, SW10, SW14, SW40, SW41
2JumperSplitkeyboard:JumperJP1, JP2
2JumperSplitkeyboard:JumperSplitJP3, JP4
2Rkeyboard:SDR18R1, R2
1PTS526keyboard:PTS526SW_RST1
1ProMicrokeyboard:ProMicroU1
1RightPlatekeyboard:RightPlateH1
1TRRSkeyboard:PJ-320AJ1

Similar boards

  • 2 layers187.2 × 26.6 mmBlade12, the printed circuit board in 3D

    Blade12

    opulo-inc/lumenpnp

    The LumenPnP is an open source pick and place machine.

    50 parts3.7k
  • 2 layers45.7 × 25.9 mmAccessory, the printed circuit board in 3D

    Accessory

    usbarmory/usbarmory

    USB armory - The open source compact secure computer

    50 parts1.5k
  • 2 layers21 × 31.5 mmK1-aioc, the printed circuit board in 3D

    K1-aioc

    skuep/AIOC

    Ham Radio All-in-one-Cable

    50 parts1.4kMIT
  • 2 layers42 × 32.5 mmLipoboard, the printed circuit board in 3D

    Lipoboard

    hackclub/OnBoard

    💡 Join 1,000 teenagers and make your first PCB with a $100 grant!

    50 parts915
  • 2 layers101 × 31.5 mmManagement, the printed circuit board in 3D

    Management

    dennisss/dacha

    Monorepo for awesome tools/projects/libraries

    50 parts397Apache-2.0
  • 2 layers123.9 × 94.4 mmRoba R, the printed circuit board in 3D

    Roba R

    kumamuk-git/roBa

    50 parts363GPL-3.0
  • 2 layers50 × 25 mmMbus master, the printed circuit board in 3D

    Mbus master

    roarfred/AmsToMqttBridge

    Minimalistic system to read AMS/HAN data from electrical meter

    50 parts223

Questions

How big is the Keyboard PCB?

It measures 203.3 × 107.6 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Keyboard use?

50 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 Keyboard KiCad files?

From the mylestunglee/articulation80 repository on GitHub, at the commit this page was made from: the board is pcb/keyboard.kicad_pcb and its schematic pcb/keyboard.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Keyboard design in my own project?

Its repository states no licence, so its author keeps all rights: ask mylestunglee before reusing the design.