An attempt to design and build an open source isomorphic keyboard.
Isomorphic keyboards have keys arranged so that each chord shape is the same regardless of the start note. A regular piano keyboard is not isomorphic - a perfect fifth chord of C is very different in shape to a perfect fifth chord of F#. With a regular keyboard a large number of chord shapes must be memorised, but an isomorphic keyboard has a much small pool of chord shapes.
The layout of the keyboard is a grid following the Tonnetz pattern of notes.
When the prototype keyboard is complete, all source files (code, schematic, pcb etc) will be made open source.
Compact chord shapes
Isomorphic chord shapes reduces the number of shapes to memorise
Compact shapes make it easier to hold more keys with fewer fingers
Cannot spread fingers well, closer is better
Less tiring on hands
Velocity produced by time between two switches
Min 7 octaves
Compact and lightweight
Analysis and design of keyboard layout [Complete]
Prototype A - Key Mechanism Prototype [Complete]
Prototype B - Small section test [Awaiting PCBs]
Full Keyboard - TODO
Current layout design:
Gateron White / Clear
MX clone with low actuation force without clickyness
Tiny switch with low actuation force
Discrete Semiconductors / Diodes and Rectifiers
The MX internal switch mechanism contains a plunger that is stopped by a well that extends beyond the base. A hole is required in keyboard PCBs to accommodate this well.
By cutting off the well, the plunger is able to extend beyond the base and strike a switch below it.
The MX switch variant chosen is the Gateron White (a MX clone), due to the the low force required and silent operation.
The MX switches are held in place using a plate that the MX switches clip onto. Normally this plate would be laser cut, however a PCB without traces is used instead as it is cheaper. The holes for the switch body to enter are made during the PCB manufacturing.
[Image source: EVQQ2 datasheet]
The switch has a very low actuation force, so little resistance when pressed by the MX switch's plunger.
One problem with this switch is that is a surface mount component and so not easy to solder by hand.
Male header on the EVQQ2 layer
Dual entry female header on the MX layer
Matrix columns shared between layers via headers
MX row output passed to EVQQ2 layer (which also has the Teensy LC controller)
Note: the space between PCBs means that the male header's plastic component must be smaller than usual
Due to height of female header, the Plate cannot cover this header
DSA keycaps are rated for all rows on a computer keyboard, so they all must have the same shape and no slope.
Tonnetz keyboard requires all the keys caps to be identical without slope.
Three 74HC595 chips will be used to drive the 24 columns of the keyboard's button matrix. I built a prototype on breadboard to ensure the circuit design and code were correct, As this was just a test of the columns, LEDs are used instead of buttons.