final project: split typing/musical keyboard
overview
What does it do?
For my final project, I am building a keyboard that doubles as a typing device and a musical keyboard. The keys are hexagon-shaped and lay on a staggered grid, which suits the Wicki-Hayden isomorphic note layout. The keyboard consists of two halves that are held together by magnets but can be separated in order to be placed a shoulder-length apart for a comfortable typing stance. When typing, the halves are electrically connected via a cable, and the individual halves are rotated slightly to transform the row-staggered layout used for music to a column-stagger that aligns one column with each finger. The two halves can also be folded over on top of each other in a transport configuration that saves space and protects the keys.
All keys have individual RGBW backlighting that can be used e.g. to highlight a specific musical scale, or simply for aesthetic effect. Each half contains an ATMega32U2 microcontroller and features its own USB port, so that they can also be used independently.
Who’s done what beforehand?
The musical keyboard is explicitly inspired by Toms Jensens Janko Keystep project, in which he added a similar hexagonal array of buttons to an existing MIDI controller. However due to constraints in the product he started with, sets of two keys are physically connected and cannot be sensed independently, and the keys are made of opaque 3d printed plastic and have no backlighting.
Another similar musical keyboard is the Lumatone, which does feature backlighting (and a lot more keys). However the Lumatone is in a very heavy desktop formfactor and the large velocity-sensitive keys and and slanted design makes it unsuitable for typing.
On the other hand, the typing design is inspired by split ergonomic keyboards, such as those developed by g Heavy Industries. These keyboards consist of two halves linked by TRS or TRRS cable to connect power and a serial bus. Split ergonomoic keyboards are often design with a small number of keys, takign advantage of deep configurability and features like key chording or multiple layers of key assignments to make up for the lack of distinct keys while keeping the amount of movement and stretching required while typing to a minimum.
What did you design?
I designed and manufactured the hexagonal keycaps, a number of wax molds to cast them, two double-layer PCBs (one per hand), and the two halves of the keyboard case.
What materials and components were used? Where did they come from? How much did they cost?
The keycaps were originally made from Bresciani Cristal EP epoxy resin and cast in molds made out of machinable wax. After a long struggle with the unmolding process, I concluded it was just going too slowly and decided to mill them out of POM (delrin) instead. The resulting white keycaps spread the light much more evenly and work really well aesthetically. The keyboard case was also machined out of POM. Aside from solder joints, some M3 hardware is also used to physically retain the PCBs in the respective halves of the case. 3D printing was used to prototype different case designs and spacings and fit for the hexagonal grid and keyswitches.
All of these components and materials, as well as the scrap wood that was used at times as fixtures where parts of stock and scrap material stored and provided by OpenDot.
The keyswitches were purchased from gboards.ca and cost $0.80 per switch. The electronic components that were not already part of the inventory were purchased from RS electronics and Digikey.
Fabricated Components | |||
---|---|---|---|
PCB Left Hand | 1 | ||
PCB Right Hand | 1 | ||
Case Left Hand | 1 | ||
Case Right Hand | 1 | ||
Keycap | 40 | ||
Keycap w/ Homing Mark | 4 | ||
Off-the-Shelf Components | |||
Component | Qty | Unit Price | Ext. Price |
Capacitor 1206 20pF | 4 | $0.20 | $0.80 |
Capacitor 1206 1uF | 4 | $0.20 | $0.80 |
Capacitor 1206 0.1uF | 12 | $0.20 | $2.40 |
Diode SOD-123 (1N416) | 44 | $0.10 | $4.18 |
USB B-Mini Connector (Amphenol 10033526) | 2 | $1.10 | $2.20 |
Pogo Pin Target (Mill-Max 856-10-004-40-001000) | 1 | $5.55 | $5.55 |
Pogo Pins (Mill-Max 575-8542200440001101) | 1 | $4.10 | $4.10 |
TRS Audio Jack (CUI SJ-3523-SMT) | 2 | $0.87 | $1.74 |
OLED Display Panel Module | 1 | $2.00 | $2.00 |
Resistor 1206 10k | 4 | $0.20 | $0.80 |
Resistor 1206 22 | 4 | $0.20 | $0.80 |
Kailh Choc PG1350 Keyswitch | 44 | $0.60 | $26.40 |
SK6812 5050 RGB(W) LED | 44 | $0.55 | $24.20 |
ATMega32U2 MCU (TQFP) | 2 | $2.46 | $4.92 |
8MHz Ceramic Crystal | 2 | $0.50 | $1.00 |
Copper Rivets ID/OD 0.6/0.8mm (Bag of 100) | 1 | $14.35 | $14.35 |
FR4 Double-layer blank 152x152mm | 2 | $8.30 | $16.60 |
M3x8 Bolt | 6 | $0.20 | $1.20 |
Sum | $114.04 |