YLW - 50-key split keyboard prototype

thefish

22 Feb 2014, 00:08

Image


Hi guys, i've just finished a working prototype of my split-hand column-layout keyboard. This is my first build report, so please do not judge me harshly. Also English is not my native language, so please excuse me for mistakes i will inevitably make.

Long time ago i've seen the concept of miniguru, and decided to have one whatever it takes.
But you all know the rest of this story. So the logical decision was to build one for myself (the concept has heavily mutated over time, as you could see further down the post). I was drawing concepts, reading forums and learning the keyboard science for couple of years, but one day i was like struck by the lighting. In April 2013 philpirj published the a great article on russian Slashdot - worklog of his Codename: Hornet. I've read it and decided that the time for my own build finally has come.

I started with a set of Cherry MX's ordered here on Deskthority, a set of keycaps (from Ducky Yellow, i beleive) from a local WASD reseller, and a burning wish to change the world. But the world, and namely the Russian post service, had its own plans, so the assembly was set back for a while. Order was placed around end of April, and it took around one week for Russian Post Office to bring the switches from Germany to Moscow and another two months for taking it from their main office to my home, which happened to be 4 km away. I personally think that they are conducting experiments with some kind of space-time rifts, which may lead to an occasional fire.

Finally, in July the switches have arrived (sorry for quality, took the shot with my other flipflop).
Spoiler:
Image
But at given time i could not begin the assembly - i was in middle of moving to another development team, switching to another programming language and database, and other boring job-related stuff. Despite the initial idea of creating something like the dreaded miniguru, philpirj, who by the time was my regular email correspondent, pointed out that split-keyboard may suit my requirements much better. After cutting about a square mile of cardboard for prototyping purposes, i had to agree and ended up with concept of symmetric split keyboard with column key layout.
Spoiler:
Image
My job was keeping me extremely busy till this January, when i finally got some time to order the acrylic case for my keyboard. When it arrived, i immidiately assembled left-side case just with switches and keycaps to see what it would like.
Spoiler:
Image
Need i to say with how much excitement was i looking forward to the weekend?
By the way, i am no engineer (software doesn't count) and my last contact with soldering was about 20 years ago, in the school. So i was getting nervous not only because of excitement, but also because of lack of confidence in my abilities to actually assemble something that could look like a working keyboard. Even from 10 meters away.

Finally, the friday night has come, and instead of a bar, i locked in the kitchen and began (mysterious) construction.

Image

First thing i've realised was that in chase for compactness i've heavily overestimated the amount of real estate inside the case. The reason became obvious when i measured thickness of wall plates - instead of 3mm they were 1.5 mm thick, just like the upper lid. Double-check this next time. But this can be solved by using small pillars between the layers. Second mistake was relying only on acrylic mounting plate for holding the switches - it crankled up and down, so i had to reinforce it by glueing one layer of sidewall to lids directly. But nothing could not stop me, so the next day i had this - soldered left "hand" with diodes and IDC connector:
Spoiler:
Image

Image
There was a slight problem although - i did not know was it operational or not. Nobody likes to read manuals and test everything before first beta release :) So till the moment of plugging the USB cable i was uncertain - will it work or not, and assembled everything on blind faith.

Now was the time for hard part - the one with Teensy. Because of lacking free space i was unable to set the chip on proper pins, and had to solder the wires directly. Never repeat my mistake, because re-soldering these in search of short circuits is a real pain. After about 20 hours of cursing, burning my hands with solder, and desperate search for suitable wires (i've cut the twisted pair cable in the end) the right "hand" was ready:

Image

Doesn't it look like two twistes octopuses? :)

And then the hell with firware has come. I did not know where which side of diode is (yeah, i was SO electronically illiterate guy), so i was unsure about right direction of current flow. After several rewrites, hours of staring in manual and more cursing i was still at the beginning - nothing worked. But then i accidentaly circuited contacts on column and row, and a letter L appeared in terminal! Damn, i guessed the flow wrong! From this position, thanks to Hasu and his firware collection, i was finally able to guess which ports must be set to inputs and which ones to outputs. It took a week or so. :D

Now some more photos:
Spoiler:
Image

Image

Image

Image
Conslusion:

Even a person without any background in engineering can assemble a custom keyboard. It's not easy, imo, but certainly possible.
Before planning the design, you must order all the internal parts and measure sizes, if you have no experience. This will help you much, beleive me. Also, find a couple of hours to watch some soldering tutorials on Youtube - these video examples saved me many, many nerves.
And get a good set of tools, they will serve you for years.

Further plans are:
  • - create a proper acrylic case (i broke the right lid twice in the process, and had to glue it together)
    - get rid of this flat ribbon between the left and right part, and use a shift-register or i2c with thin cable instead
    - refine the layout, i am not totally happy with what i have right now
Thanks to:
Philpirj, without your initial impulse and support this project would never have happened.
matt3o, your BrownFox tutorial was a lifesaver!
hasu, for the code and all the firmware examples.
And all the Deskthority community for creating a great resouce for keyboard fans.

In case you are interested in building something similar, here are the templates, and firmware.

Cheers, guys!

Image
Last edited by thefish on 05 Oct 2021, 11:54, edited 7 times in total.

User avatar
Muirium
µ

22 Feb 2014, 00:36

Well done. It's always a thrill to get your own creation up and running.

Although the all-acrylic look is quite nice, I can't advise it for the plate itself. (As you discovered.) Steel's the stuff.

How does your layout compare to an ErgoDox?

CJNE

22 Feb 2014, 00:49

Kudos to you for pulling through and complete your project!
How are the keys mapped?
Do you have a picture with your hand resting in the home row position?

User avatar
Vierax

22 Feb 2014, 05:44

Hello to you, Xubuntu user ;)

That's a really impressive work !
And then the hell with firware has come. I did not know where which side of diode is (yeah, i was SO electronically illiterate guy), so i was unsure about right direction of current flow. After several rewrites, hours of staring in manual and more cursing i was still at the beginning - nothing worked. But then i accidentaly circuited contacts on column and row, and a letter L appeared in terminal! Damn, i guessed the flow wrong! From this position, thanks to Hasu and his firware collection and with all examples within i was finally able to guess which ports must be set to inputs and which ones to output. It took a week or so
Fortunately, there are firmware examples in both input-output/column-row way :)

thefish

22 Feb 2014, 09:38

How does your layout compare to an ErgoDox?
I have much less keys, so the modificators are used much more instesively. Cannot tell if it is good or bad.
How are the keys mapped?

Code: Select all

Default Layer:

    GRV,   Q,   W,   E,   R,   T,                  Y,   U,   I,   O,   P,   EQL, 
   SLSH,   A,   S,   D,   F,   G,   PGUP,  HOME,   H,   J,   K,   L,   SCLN,QUOT, 
   LBRC,   Z,   X,   C,   V,   B,   PGDN,  END,    N,   M,   COMM,DOT, BSLS,RBRC, 
                FN0, FN1, FN2, FN3, FN4,   FN9,    FN8, FN7, FN6, FN5   

Layer 1: Movement
     NO,   1,   2,   3,   4,   5,                    6,   7,   8,   9,   0,MINS, 
     NO,  NO,PGUP,  UP,PGDN,HOME,   NO,     NO,   LEFT,DOWN,  UP,RGHT,SCLN,QUOT, 
     NO,  NO,LEFT,DOWN,RGHT, END,   NO,     NO,   NO,  NO,  NO,  NO,  NO,  NO, 
                FN0, FN1, FN2, FN3, FN4,   FN9,    FN8, FN7, FN6, FN5   

Layer 2: F-keys 

     NO,  F1,  F2,  F3,  F4,  F5,                 F6,   F7,   F8,  F9, F10, MINS, 
     NO,  NO,PGUP,  UP,PGDN,HOME,   NO,     NO,   LEFT,DOWN,  UP,RGHT,SCLN,QUOT,
     NO,  NO,LEFT,DOWN,RGHT, END,   NO,     NO,   NO,  NO,  NO,  NO,  NO,  NO, 
                FN0, FN1, FN2, FN3, FN4,   FN9,    FN8, FN7, FN6, FN5   
};
And the modificators are configured like this (left to right):

Code: Select all

FN0 = L1 / space
FN1 = meta with tap tab
FN2 = ctrl with tap escape
FN3 = alt with tap del
FN4 = shift with tap tab

FN5 = shift with tap space
FN6 = alt with tap backspace
FN7 = ctrl with tap enter
FN8 = meta with tap tab
FN9 = L2 symbols with tap enter
This is what i have right now, not a final version.
Do you have a picture with your hand resting in the home row position?
Sure!

Image
Last edited by thefish on 10 Mar 2016, 14:57, edited 1 time in total.

Findecanor

22 Feb 2014, 14:10

Great build! Interesting layout with all thumbkeys having dual roles. :shock:

Parak

22 Feb 2014, 18:11

Mинздрав предупреждает: курение это яд.

Nice build otherwise :D

User avatar
philpirj

23 Feb 2014, 19:45

Looks good. Was glad to help!

CJNE

24 Feb 2014, 08:26

Looks very interesting, the thumb cluster looks to be a bit more accessible than it is on the ErgoDox.
Do you enjoy typing on it? It's going to take some time getting used to i would imagine.

thefish

24 Feb 2014, 11:26

CJNE wrote:Looks very interesting, the thumb cluster looks to be a bit more accessible than it is on the ErgoDox.
Do you enjoy typing on it? It's going to take some time getting used to i would imagine.
Of course i enjoy typing on it! Why you even doubt? :D

But you are right, right now typing on this keyboard feels painfully slow - i'm just getting used to column layout.
With help of typing tutors i achieved about 100 symbols / minute with 9% of errors (my median result on usual keyboard is about 180-220/3%), quite a nice progress for few days. My biggest problem atm are []/{} and () symbols, as former ones are in an unusual place, and latter ones require two modifier keys to type.

User avatar
Daniel

24 Feb 2014, 20:36

Nice build I really like it's compactness.

nano

25 Feb 2014, 11:31

Awesome project!

I can see some more plates on the desk. Are those for sale?

thefish

25 Feb 2014, 17:07

nano wrote:Awesome project!

I can see some more plates on the desk. Are those for sale?
Thanks!
These parts are for the planned second version of keyboard :)
Last edited by thefish on 25 Feb 2014, 22:56, edited 1 time in total.

mtl

25 Feb 2014, 21:46

Great project. Something like this would be nice to have on an armchair, sort of like webwit's DataHand, especially if both sides could be made wireless.

Post Reply

Return to “Workshop”