# Split Ortho Keyboard with TCA8418 Matrix Expanders

## Overview

![](https://cdn-learn.adafruit.com/assets/assets/000/115/984/medium800/3d_printing_sok-9447.jpg?1666156114)

![](https://cdn-learn.adafruit.com/assets/assets/000/116/085/medium800thumb/3d_printing_split2.jpg?1666373500)

Forget about that staggered key layout -- a holdover from mechanical typewriters -- and build your own custom ortholinear keyboard! Honor the angle of your wrists with the split design.

This 60% layout is fast and efficient (once you practice and get used to a new way of working) -- keyboard "layers" allow you to access any key you need by "lowering" or "raising" to whole new sets of keys.

Pick your favorite MX compatible keyswitches and press them into the socketed 6x5 NeoKey PCB. Build a 3D printed or 3D printed/laser cut acrylic combo case.

Two **TCA8418** matrix expanders handle reading the diode key matrices, and a **Kee Boar**  **KB2040** running CircuitPython does the rest, acting as a USB HID keyboard device.

Create and edit your own custom layouts with the **keymaps.py** config file. The layout I used was inspired by [this keyboard project](https://sgotti.dev/post/the-quest-for-the-perfect-keyboard-and-layout/).

![](https://cdn-learn.adafruit.com/assets/assets/000/116/083/medium800/3d_printing_sok-9315.jpg?1666372496)

## Parts
### Adafruit QT Py RP2040

[Adafruit QT Py RP2040](https://www.adafruit.com/product/4900)
What a cutie pie! Or is it... a QT Py?&nbsp;This diminutive dev board comes with one of our new favorite chip, the RP2040. It's been made famous in the new [Raspberry Pi Pico](https://www.adafruit.com/pico) _and_ our [Feather...](http://www.adafruit.com/product/4884)

In Stock
[Buy Now](https://www.adafruit.com/product/4900)
[Related Guides to the Product](https://learn.adafruit.com/products/4900/guides)
![Video of hand holding a QT Py PCB in their hand. An LED glows rainbow colors.](https://cdn-shop.adafruit.com/product-videos/640x480/4900-06.jpg)

### STEMMA QT / Qwiic JST SH 4-Pin Cable - 400mm long

[STEMMA QT / Qwiic JST SH 4-Pin Cable - 400mm long](https://www.adafruit.com/product/5385)
This 4-wire cable is a little over 400mm / 15.7" long and fitted with JST-SH female 4-pin connectors on both ends. Compared with the chunkier JST-PH these are 1mm pitch instead of 2mm, but still have a nice latching feel, while being easy to insert and remove.

<a...></a...>

In Stock
[Buy Now](https://www.adafruit.com/product/5385)
[Related Guides to the Product](https://learn.adafruit.com/products/5385/guides)
![Angled shot of 400mm long STEMMA QT cable.](https://cdn-shop.adafruit.com/640x480/5385-01.jpg)

### Part: Adafruit TCA8418
quantity: 2
Keypad Matrix and GPIO Expander Breakout
[Adafruit TCA8418](https://www.adafruit.com/product/4918)

### Part: NeoKey 5x6 Ortho Snap-Apart Mechanical Key Switch PCB
quantity: 2
NeoKey 5x6 Ortho Snap-Apart Mechanical Key Switches
[NeoKey 5x6 Ortho Snap-Apart Mechanical Key Switch PCB](https://www.adafruit.com/product/5157)

### Part: Kailh Mechanical Key Switches
quantity: 6
Linear Black 10 pack
[Kailh Mechanical Key Switches](https://www.adafruit.com/product/4953)

You'll want to pick some keycaps. If you are highly elite and need no legends, try one of the choices below. Otherwise, search online for " **MX compatible ortholinear keycap set**". The ones used in this guide are the **Drop MT3 profile Dancer ortho** kit.

### Part: Blue DSA Keycaps
quantity: 6
10 pack
[Blue DSA Keycaps](https://www.adafruit.com/product/5005)

### Part: Dark Blue DSA Keycaps
quantity: 6
10 pack
[Dark Blue DSA Keycaps](https://www.adafruit.com/product/5016)

 **or**

### Part: Cyan MA Keycaps
quantity: 12
5 pack
[Cyan MA Keycaps](https://www.adafruit.com/product/5174)

### Brass Heat-Set Inserts for Plastic - M3 x 4mm - 50 pack

[Brass Heat-Set Inserts for Plastic - M3 x 4mm - 50 pack](https://www.adafruit.com/product/4255)
Wanna improve the connection strength between your project's 3D-printed parts, and also have nice clean surfaces? Instead of gluing bits together, or screwing plastic screws directly into your 3D prints, use strong and reusable machine screws and heat-set inserts. Heat set inserts are only...

In Stock
[Buy Now](https://www.adafruit.com/product/4255)
[Related Guides to the Product](https://learn.adafruit.com/products/4255/guides)
![pile of 50 Brass Heat-Set Inserts for Plastic - M3 x 4mm.](https://cdn-shop.adafruit.com/640x480/4255-02.jpg)

### Black Nylon Machine Screw and Stand-off Set – M3 Thread

[Black Nylon Machine Screw and Stand-off Set – M3 Thread](https://www.adafruit.com/product/4685)
Totaling **420 pieces** , this **M3 Screw Set** &nbsp;is a must-have for your workstation.&nbsp;You'll have enough screws, nuts, and hex standoffs to fuel your maker tendencies&nbsp;for days on end! M3 size screws fit a number of&nbsp;Adafruit breakout/dev board...

In Stock
[Buy Now](https://www.adafruit.com/product/4685)
[Related Guides to the Product](https://learn.adafruit.com/products/4685/guides)
![Opened box showing many nylon screws](https://cdn-shop.adafruit.com/640x480/4685-01.jpg)

### Black Nylon Machine Screw and Stand-off Set – M2.5 Thread

[Black Nylon Machine Screw and Stand-off Set – M2.5 Thread](https://www.adafruit.com/product/3299)
Totaling 380 pieces, this **M2.5 Screw Set** &nbsp;is a must-have for your workstation.&nbsp;You'll have enough screws, nuts, and hex standoffs to fuel your maker tendencies&nbsp;for days on end! M2.5 size screws fit almost all of the Adafruit breakout/dev board mounting holes...

In Stock
[Buy Now](https://www.adafruit.com/product/3299)
[Related Guides to the Product](https://learn.adafruit.com/products/3299/guides)
![Black Nylon Screw and Stand-off Set with M2.5 Threads, kit box](https://cdn-shop.adafruit.com/640x480/3299-00.jpg)

### Part: Little Rubber Bumper Feet
quantity: 2
Pack of 4
[Little Rubber Bumper Feet](https://www.adafruit.com/product/550)

- [Next Page](https://learn.adafruit.com/split-ortho-keyboard/build-the-split-ortho-keyboard.md)

## Featured Products

### Adafruit QT Py RP2040

[Adafruit QT Py RP2040](https://www.adafruit.com/product/4900)
What a cutie pie! Or is it... a QT Py?&nbsp;This diminutive dev board comes with one of our new favorite chip, the RP2040. It's been made famous in the new [Raspberry Pi Pico](https://www.adafruit.com/pico) _and_ our [Feather...](http://www.adafruit.com/product/4884)

In Stock
[Buy Now](https://www.adafruit.com/product/4900)
[Related Guides to the Product](https://learn.adafruit.com/products/4900/guides)
### Adafruit TCA8418 Keypad Matrix and GPIO Expander Breakout

[Adafruit TCA8418 Keypad Matrix and GPIO Expander Breakout](https://www.adafruit.com/product/4918)
It's a GPIO expander, it's a keypad matrix driver... its the **Adafruit TCA8418 Keypad Matrix and GPIO Expander Breakout** - a cute and powerful I2C GPIO expander&nbsp;_and_ keypad matrix driver! This chip is quite fancy, with the ability to act as your I2C...

In Stock
[Buy Now](https://www.adafruit.com/product/4918)
[Related Guides to the Product](https://learn.adafruit.com/products/4918/guides)
### STEMMA QT / Qwiic JST SH 4-Pin Cable - 400mm long

[STEMMA QT / Qwiic JST SH 4-Pin Cable - 400mm long](https://www.adafruit.com/product/5385)
This 4-wire cable is a little over 400mm / 15.7" long and fitted with JST-SH female 4-pin connectors on both ends. Compared with the chunkier JST-PH these are 1mm pitch instead of 2mm, but still have a nice latching feel, while being easy to insert and remove.

<a...></a...>

In Stock
[Buy Now](https://www.adafruit.com/product/5385)
[Related Guides to the Product](https://learn.adafruit.com/products/5385/guides)
### NeoKey 5x6 Ortho Snap-Apart Mechanical Key Switches w/ NeoPixel

[NeoKey 5x6 Ortho Snap-Apart Mechanical Key Switches w/ NeoPixel](https://www.adafruit.com/product/5157)
For folks who want ready-to-go keeb action, we've got the lovely [Adafruit Macropad with a 3x4 grid of MX+NeoPixel key switches](https://www.adafruit.com/product/5100) - but for those who like to forge their own path, we now present the easiest way of creating custom ortholinear...

Out of Stock
[Buy Now](https://www.adafruit.com/product/5157)
[Related Guides to the Product](https://learn.adafruit.com/products/5157/guides)
### Kailh Mechanical Key Switches - Linear Black - 10 pack

[Kailh Mechanical Key Switches - Linear Black - 10 pack](https://www.adafruit.com/product/4953)
For crafting your very own custom keyboard, these **&nbsp;Kailh Black&nbsp;Linear mechanical key switches** &nbsp;are deeee-luxe! With smooth actuation and Cherry MX compatibility, they're lovely when you want a&nbsp; **smooth linear&nbsp;** keystroke with a...

In Stock
[Buy Now](https://www.adafruit.com/product/4953)
[Related Guides to the Product](https://learn.adafruit.com/products/4953/guides)
### Brass Heat-Set Inserts for Plastic - M3 x 4mm - 50 pack

[Brass Heat-Set Inserts for Plastic - M3 x 4mm - 50 pack](https://www.adafruit.com/product/4255)
Wanna improve the connection strength between your project's 3D-printed parts, and also have nice clean surfaces? Instead of gluing bits together, or screwing plastic screws directly into your 3D prints, use strong and reusable machine screws and heat-set inserts. Heat set inserts are only...

In Stock
[Buy Now](https://www.adafruit.com/product/4255)
[Related Guides to the Product](https://learn.adafruit.com/products/4255/guides)
### Black Nylon Machine Screw and Stand-off Set – M2.5 Thread

[Black Nylon Machine Screw and Stand-off Set – M2.5 Thread](https://www.adafruit.com/product/3299)
Totaling 380 pieces, this **M2.5 Screw Set** &nbsp;is a must-have for your workstation.&nbsp;You'll have enough screws, nuts, and hex standoffs to fuel your maker tendencies&nbsp;for days on end! M2.5 size screws fit almost all of the Adafruit breakout/dev board mounting holes...

In Stock
[Buy Now](https://www.adafruit.com/product/3299)
[Related Guides to the Product](https://learn.adafruit.com/products/3299/guides)
### Black Nylon Machine Screw and Stand-off Set – M3 Thread

[Black Nylon Machine Screw and Stand-off Set – M3 Thread](https://www.adafruit.com/product/4685)
Totaling **420 pieces** , this **M3 Screw Set** &nbsp;is a must-have for your workstation.&nbsp;You'll have enough screws, nuts, and hex standoffs to fuel your maker tendencies&nbsp;for days on end! M3 size screws fit a number of&nbsp;Adafruit breakout/dev board...

In Stock
[Buy Now](https://www.adafruit.com/product/4685)
[Related Guides to the Product](https://learn.adafruit.com/products/4685/guides)

## Related Guides

- [Adafruit QT Py RP2040](https://learn.adafruit.com/adafruit-qt-py-2040.md)
- [Adafruit NeoKey 5x6 Ortho Snap-Apart](https://learn.adafruit.com/adafruit-neokey-5x6-ortho-snap-apart.md)
- [Adafruit TCA8418 Keypad Matrix and GPIO Expander Breakout](https://learn.adafruit.com/adafruit-tca8418-keypad-matrix-and-gpio-expander-breakout.md)
- [How to Build a Testing Jig](https://learn.adafruit.com/how-to-build-a-testing-fixture.md)
- [NeoPixel Mini VU Meter](https://learn.adafruit.com/neopixel-mini-vu-meter.md)
- [eInk FeatherWing Display Stand](https://learn.adafruit.com/eink-featherwing-display-stand.md)
- [Animated Edge Lit Acrylic NeoPixel Lamp](https://learn.adafruit.com/acrylic-neopixel-lamp.md)
- [QT Py Snap Fit Case](https://learn.adafruit.com/qt-py-snap-fit-case.md)
- [Remote Effects Trigger Box](https://learn.adafruit.com/remote-effects-trigger.md)
- [Pip-Boy 2040 Wrist-Mounted Prop](https://learn.adafruit.com/pip-boy-2040.md)
- [Personal and Portable ESP32-S2 Web Server](https://learn.adafruit.com/wordle-personal-esp32-s2-web-server.md)
- [CircuitPython Trombone Champ Controller](https://learn.adafruit.com/circuitpython-trombone-champ-controller.md)
- [Using the CircuitPython Extension for Visual Studio Code](https://learn.adafruit.com/using-the-circuitpython-extension-for-visual-studio-code.md)
- [MIDI Foot Pedal](https://learn.adafruit.com/midi-foot-pedal.md)
- [Prop-Maker Feather Talking Adabot Clock](https://learn.adafruit.com/prop-maker-feather-talking-adabot-clock.md)
- [NeoKey Emoji Keyboard](https://learn.adafruit.com/neokey-emoji-keyboard.md)
- [Walkmp3rson: Personal MP3 'Tape' Player](https://learn.adafruit.com/walkmp3rson-personal-mp3-tape-player.md)
- [PyPortal Case](https://learn.adafruit.com/pyportal-case.md)
