# "Mother of all Demos" USB Keyset

## Overview

![](https://cdn-learn.adafruit.com/assets/assets/000/137/169/medium800thumb/3d_printing_demoB.jpg?1748361611 )

https://youtu.be/A8RW3y0CIgw

## Custom USB HID

This is a take on a custom computer input device, inspired by the [original Doug Engelbert "Mother of all Demos" keyset from the 1960's](https://www.youtube.com/watch?v=UhpTiWyVa6k) that never quite caught on. This 5-finger keyset lets you type without moving your hand, entering full words and phrases by pressing multiple keys simultaneously as a chord.

It connects to a computer (PC, Mac, Linux, iOS) and appears as an additional keyboard. CircuitPython makes it easy to create keyboard devices with microcontrollers containing native USB.

## 3D Printed Chording Keyset

It features an Adafruit QT Py RP2040 running CircuitPython code. The case design is fully 3D printed and uses CHOC low-profile key switches. The piano-style keys are inspired by a hinged lever mechanism that is commonly used in traditional piano instruments.&nbsp;

![](https://cdn-learn.adafruit.com/assets/assets/000/137/171/medium640/3d_printing_hero-keyset.jpg?1748363164)

## Nod to Mother of All Demos

This project is inspired by&nbsp;[Ken Shirriff's](https://www.righto.com/2025/03/mother-of-all-demos-usb-keyset-interface.html) blog post. Our remake pays homage to the original keyset from the Zerox Alto computer. It features similar dimensions and piano-style keys.

![](https://cdn-learn.adafruit.com/assets/assets/000/137/170/medium640/3d_printing_usb-keyset-interface.jpg?1748361806)

# 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)

Out of 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)

### Kailh CHOC Low Profile White Clicky Key Switches

[Kailh CHOC Low Profile White Clicky Key Switches](https://www.adafruit.com/product/5114)
For crafting your very own custom keyboard, these **&nbsp;Kailh Choc Low Profile Clicky White&nbsp;mechanical key switches** &nbsp;are super slim, with ultra-low profile compared to MX compatible switches!

Please note these are&nbsp; **NOT MX...**

In Stock
[Buy Now](https://www.adafruit.com/product/5114)
[Related Guides to the Product](https://learn.adafruit.com/products/5114/guides)
![Angled shot of ten white Kailh Choc V1 keycaps.](https://cdn-shop.adafruit.com/640x480/5114-00.jpg)

### Switch Sockets for Kailh CHOC Compatible Keys - 10 Pack

[Switch Sockets for Kailh CHOC Compatible Keys - 10 Pack](https://www.adafruit.com/product/5118)
Back in _my_ day, if you wanted to make a mechanical keyboard, you had to solder in expensive key switches onto your PCB - and woe to the person who decided they wanted to change their linear keys instead of clicky ones! Bah humbug, kids these days have no idea, what with their...

In Stock
[Buy Now](https://www.adafruit.com/product/5118)
[Related Guides to the Product](https://learn.adafruit.com/products/5118/guides)
![Angled shot of ten Choc switch sockets.](https://cdn-shop.adafruit.com/640x480/5118-00.jpg)

### Silicone Cover Stranded-Core Wire - 50ft 30AWG White

[Silicone Cover Stranded-Core Wire - 50ft 30AWG White](https://www.adafruit.com/product/3169)
//www.youtube.com/embed/W85OajXuDRA
?start=10

Silicone-sheathing wire is super-flexible and soft, and its also strong! Able to handle up to 200°C and up to 600V, it will do when PVC covered wire wimps...

Out of Stock
[Buy Now](https://www.adafruit.com/product/3169)
[Related Guides to the Product](https://learn.adafruit.com/products/3169/guides)
![A spool of white AWG wire.](https://cdn-shop.adafruit.com/640x480/3169-01.jpg)

### Silicone Cover Stranded-Core Wire - 50ft 30AWG Blue

[Silicone Cover Stranded-Core Wire - 50ft 30AWG Blue](https://www.adafruit.com/product/3166)
Silicone-sheathing wire is super-flexible and soft, and its also strong! Able to handle up to 200°C and up to 600V, it will do when PVC covered wire wimps out. We like this wire for being extremely supple and flexible, so it is great for wearables or projects where the wire-harness has to...

In Stock
[Buy Now](https://www.adafruit.com/product/3166)
[Related Guides to the Product](https://learn.adafruit.com/products/3166/guides)
![A spool of light blue AWG wire.](https://cdn-shop.adafruit.com/640x480/3166-01.jpg)

### Part: USB-C Cable
quantity: 1
Blue USB Type C to USB A Cable with 540 Degree Rotating End - 1 meter long
[USB-C Cable](https://www.adafruit.com/product/6278)

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

- [Next Page](https://learn.adafruit.com/usb-keyset/circuit-diagram.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)

Out of Stock
[Buy Now](https://www.adafruit.com/product/4900)
[Related Guides to the Product](https://learn.adafruit.com/products/4900/guides)
### Kailh CHOC Low Profile White Clicky Key Switches

[Kailh CHOC Low Profile White Clicky Key Switches](https://www.adafruit.com/product/5114)
For crafting your very own custom keyboard, these **&nbsp;Kailh Choc Low Profile Clicky White&nbsp;mechanical key switches** &nbsp;are super slim, with ultra-low profile compared to MX compatible switches!

Please note these are&nbsp; **NOT MX...**

In Stock
[Buy Now](https://www.adafruit.com/product/5114)
[Related Guides to the Product](https://learn.adafruit.com/products/5114/guides)
### Switch Sockets for Kailh CHOC Compatible Keys - 10 Pack

[Switch Sockets for Kailh CHOC Compatible Keys - 10 Pack](https://www.adafruit.com/product/5118)
Back in _my_ day, if you wanted to make a mechanical keyboard, you had to solder in expensive key switches onto your PCB - and woe to the person who decided they wanted to change their linear keys instead of clicky ones! Bah humbug, kids these days have no idea, what with their...

In Stock
[Buy Now](https://www.adafruit.com/product/5118)
[Related Guides to the Product](https://learn.adafruit.com/products/5118/guides)
### Silicone Cover Stranded-Core Wire - 50ft 30AWG White

[Silicone Cover Stranded-Core Wire - 50ft 30AWG White](https://www.adafruit.com/product/3169)
//www.youtube.com/embed/W85OajXuDRA
?start=10

Silicone-sheathing wire is super-flexible and soft, and its also strong! Able to handle up to 200°C and up to 600V, it will do when PVC covered wire wimps...

Out of Stock
[Buy Now](https://www.adafruit.com/product/3169)
[Related Guides to the Product](https://learn.adafruit.com/products/3169/guides)
### Silicone Cover Stranded-Core Wire - 50ft 30AWG Blue

[Silicone Cover Stranded-Core Wire - 50ft 30AWG Blue](https://www.adafruit.com/product/3166)
Silicone-sheathing wire is super-flexible and soft, and its also strong! Able to handle up to 200°C and up to 600V, it will do when PVC covered wire wimps out. We like this wire for being extremely supple and flexible, so it is great for wearables or projects where the wire-harness has to...

In Stock
[Buy Now](https://www.adafruit.com/product/3166)
[Related Guides to the Product](https://learn.adafruit.com/products/3166/guides)
### Blue USB Type C to USB A Cable with 540 Degree Rotating End

[Blue USB Type C to USB A Cable with 540 Degree Rotating End](https://www.adafruit.com/product/6278)
Some days we're feeling extra fancy here at the 'fruit warehouse, and we have a big soft spot for colorful&nbsp;cables that make our projects look like Transformers. Like, peep [this fully reversible pink/purple Blinka-inspired cable](https://www.adafruit.com/product/4111)....

Out of Stock
[Buy Now](https://www.adafruit.com/product/6278)
[Related Guides to the Product](https://learn.adafruit.com/products/6278/guides)
### Little Rubber Bumper Feet - Pack of 4

[Little Rubber Bumper Feet - Pack of 4](https://www.adafruit.com/product/550)
Keep your electronics from going barefoot, give them little rubber feet! These small sticky bumpers are our favorite accessory for any electronic kit or device. They are sticky, but not impossible to remove. They're small enough to fit onto any board, and have just enough height to give...

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

## Related Guides

- [Adafruit QT Py RP2040](https://learn.adafruit.com/adafruit-qt-py-2040.md)
- [CircuitPython Trombone Champ Controller](https://learn.adafruit.com/circuitpython-trombone-champ-controller.md)
- [Audio Synthesis with CircuitPython synthio](https://learn.adafruit.com/audio-synthesis-with-circuitpython-synthio.md)
- [Adafruit I2S Amplifier BFF](https://learn.adafruit.com/i2s-amplifier-bff.md)
- [Leverless Controller](https://learn.adafruit.com/leverless-controller.md)
- [Light Up your Costume with Noods](https://learn.adafruit.com/light-up-your-costume-with-noods.md)
- [Lemon Mechanical Keypad](https://learn.adafruit.com/qtpy-lemon-mechanical-keypad-macropad.md)
- [Toddler Timer](https://learn.adafruit.com/toddler-timer.md)
- [LEGO Set Lighting](https://learn.adafruit.com/lego-set-lighting.md)
- [Tandy 1000 Keyboard to USB with CircuitPython](https://learn.adafruit.com/tandy-1000-keyboard-to-usb-with-circuitpython.md)
- [Halloween Neon LED Signs](https://learn.adafruit.com/halloween-neon-led-signs.md)
- [Customizing USB Devices in CircuitPython](https://learn.adafruit.com/customizing-usb-devices-in-circuitpython.md)
- [An Introduction to RP2040 PIO with CircuitPython](https://learn.adafruit.com/intro-to-rp2040-pio-with-circuitpython.md)
- [Using the CircuitPython Extension for Visual Studio Code](https://learn.adafruit.com/using-the-circuitpython-extension-for-visual-studio-code.md)
- [IBM PC Keyboard to USB HID with CircuitPython](https://learn.adafruit.com/ibm-pc-keyboard-to-usb-hid-with-circuitpython.md)
