Author Topic: Bison keyboard build  (Read 15886 times)

0 Members and 1 Guest are viewing this topic.

Offline peterstock

  • Thread Starter
  • Posts: 25
Bison keyboard build
« on: Wed, 19 February 2014, 16:24:47 »
I needed a new keyboard and I decided my trusty TypeMatrix 2020 could be improved upon. After some searching I found Jesse's Keyboard.IO http://launch.keyboard.io/ which looked most like what I wanted. But it's not available yet :(  So I decided to make something like it - slightly different, but I want to give credit to a big part of the design inspiration/plagiarism! I hope it's ok to do a one-off home-build that draws fairly heavily from another design? Also I was influenced by Oobly's board - that looks pretty amazing, but angled thumbs was beyond me for a first build.

Anyway, here's the pictures:

54869-0
4 layers: 3mm acrylic base, 10mm acrylic spacer, 1.5mm steel plate, 10mm acrylic top.

54871-1
Wiring detail. Diodes put on the columns because they're straight and the rows aren't. Switches are angled at 90 degrees to their normal orientation to make the pins in a better position for routing the row wires and diodes.

54873-2
Wiring overview.

54875-3
Stripboard design, to mount Teensy 2.0 board inverted. Hole cut to allow space for mini USB connector and another hole cut for the reset button, for re-programming it.

54877-4
Wiring detail of board connections. Messy soldering on top-right - my tip was near the end of its poor life :(

54879-5
Wire routing could have been better, but it fits - just.

54881-6
I went for Clear switches.

54883-7
The end result. I named it Bison because I think the hand clusers look like the shape of a Bison :)

Apart from a couple of bug fixes in my firmware (right hand not working -> change uint_8 to uint_16 - if only all bugs would be this easy) it went smoothly, which was a bit unexpected!

I have a key layout I'm fairly happy with, but I'm a bit rubbish on it at the moment - 3 keys is something my thumbs need a little time to get used to!


DXF files if anyone's interesting in them:
* KB023 layer1 3mm acrylic.DXF (36.97 kB - downloaded 364 times.)
* KB023 layer2 10mm acrylic.DXF (38.89 kB - downloaded 368 times.)
* KB023 layer3 1.5mm steel.DXF (58.7 kB - downloaded 371 times.)
* KB023 layer4 10mm acrylic.DXF (40.6 kB - downloaded 372 times.)

Thankyou all for your lovely site which was a great source of information! I knew not the first thing about keyboard construction a few weeks ago.

Offline SpAmRaY

  • NOT a Moderator
  • * Certified Spammer
  • Posts: 14667
  • Location: ¯\(°_o)/¯
  • because reasons.......
Re: Bison keyboard build
« Reply #1 on: Wed, 19 February 2014, 16:26:13 »
Wow man that is one gorgeous board!!

Offline lcs

  • Lover of Grape Drank
  • Posts: 669
  • Location: Brazil
  • はやく
Re: Bison keyboard build
« Reply #2 on: Wed, 19 February 2014, 16:36:45 »
VERY nice :)

Offline peterstock

  • Thread Starter
  • Posts: 25
Re: Bison keyboard build
« Reply #3 on: Wed, 19 February 2014, 16:38:09 »
Thanks :)  Feel free to take the CAD files and make your own if you want!

Offline clickclack123

  • Posts: 357
  • Location: Australia, Mate!
Re: Bison keyboard build
« Reply #4 on: Wed, 19 February 2014, 17:22:49 »
Awesome build! This board continues to amaze me!

I was thinking about building something almost exactly like this!

Offline Oobly

  • * Esteemed Elder
  • Posts: 3929
  • Location: Finland
Re: Bison keyboard build
« Reply #5 on: Thu, 20 February 2014, 04:20:42 »
That looks great! Nice design and very nice build!

I love having thumb keys. Makes typing much more fun.

This website is full of awesome, so many cool projects and friendly people.
Buying more keycaps,
it really hacks my wallet,
but I must have them.

Offline yasuo

  • Posts: 978
  • Location: ID
  • spanengan puyeng newbie
Re: Bison keyboard build
« Reply #6 on: Thu, 20 February 2014, 04:29:21 »
Really nice :thumb:

very similar M System :p
Logitech MK220 Colemak DH
SplitSyml by Moz BlacksMx fuk blacks

2/3 8.5pm                                          in de la my september month ya da all get my fukka "fake message"

Offline peterstock

  • Thread Starter
  • Posts: 25
Re: Bison keyboard build
« Reply #7 on: Thu, 20 February 2014, 08:03:34 »
Really nice :thumb:

very similar M System :p

Yes! What a beautiful selection of keyboards these are :)


Offline AGmurdercore

  • Posts: 261
  • Location: Bulgaria
Re: Bison keyboard build
« Reply #8 on: Thu, 20 February 2014, 09:22:45 »
SICK work man, good job, really good job!
What the hell am I even doing

Offline heedpantsnow

  • * Esteemed Elder
  • Posts: 3692
  • Location: Orlando, FL
  • Old enough to know better
Re: Bison keyboard build
« Reply #9 on: Thu, 20 February 2014, 12:34:12 »
Freaking awesome!
I'm back.

Espresso machine overhaul: https://geekhack.org/index.php?topic=78261.0

Carbon Fiber keyboard base: https://geekhack.org/index.php?topic=54825

Offline vivalarevolución

  • Posts: 2146
  • Location: Naptown, Indiana, USA
  • Keep it real b/c any other way is too stressful
Re: Bison keyboard build
« Reply #10 on: Thu, 20 February 2014, 12:49:21 »
baller.
Wish I had some gif or quote for this space, but I got nothing

Offline CPTBadAss

  • Woke up like this
  • Posts: 14363
    • Tactile Zine
Re: Bison keyboard build
« Reply #11 on: Thu, 20 February 2014, 12:53:39 »
Nice build! Did you just use Hasu/Soarer's code as the firmware? Or I should ask, how did you program it?

Offline peterstock

  • Thread Starter
  • Posts: 25
Re: Bison keyboard build
« Reply #12 on: Thu, 20 February 2014, 13:36:37 »
I looked at the TMK code, it's very useful to have a reference, but I decided to write my own - I have quite simple needs so my code is pretty simple (no leds, diodes assumed on all switches). I just call the API functions from the usb_keyboard library from the PJRC site (which I think the TMK code does too).

Here's my firmware as of now:
* Bison firmware 1.0.zip (16.71 kB - downloaded 355 times.)

My code is all in keyboard.c, the other files are straight from the PJRC usb keyboard example (except a 1 line change to the Makefile for the target):
http://www.pjrc.com/teensy/usb_keyboard.html

To build it, you just need to install AVR (from http://www.pjrc.com/teensy/gcc.html) and type 'make'.

I put the rows on pins F0-F1/F4-F6 and columns on B0-B7/C6-C7/D0-D5, and strobe the rows and sense the columns. A couple of bits of code would obviously have to be changed if you use different pins.

There's not many comments in the code - sorry. The only thing that might not be obvious is the L_HOLD and L_LOCK macros for the layout definition - they're for layer switching, to act like shift or act like caps lock (layer numbering starts at 0).

I think it can be improved by making some changes to improve the handling of the special 'shifted' characters like +*(). I'd want the fake shifts to not mess with normal keys - e.g. if you make dedicated '*' and '/' keys and type '/*' and '*/' but hold the first when pressing the second it currently sends '/*' and '*?'. I also want to be able to set specially-handled 'unshiftable' characters like 0 which still sends 0 when shift is down. Windows doesn't seem to recognise KP_EQUALS and KP_COMMA, but the normal ones send + and < when shift is down.

Anyway, I hope this is useful to someone. Again, feel free to do whatever you want with the code.

Offline Grimey

  • Posts: 262
  • Location: Eye Oh Wah
Re: Bison keyboard build
« Reply #13 on: Thu, 20 February 2014, 17:50:40 »
Out of curiosity who did the cutting for you?  More importantly was it an online shop?
Erlang your pants off

Offline Matt3o

  • -[°_°]-
  • ** Robot Emeritus
  • Posts: 3547
  • Location: Italy
Re: Bison keyboard build
« Reply #14 on: Fri, 21 February 2014, 01:40:28 »
really great work! thanks for sharing all the info and the source file. Really appreciated.

I would advice you to look at LUFA for your firmware http://www.fourwalledcubicle.com/LUFA.php , though.

Offline peterstock

  • Thread Starter
  • Posts: 25
Re: Bison keyboard build
« Reply #15 on: Fri, 21 February 2014, 02:52:41 »
Grimey: I used http://www.cut-tec.co.uk/. If I do it again I might try to find a make space thing if there is one locally, which I would guess would be cheaper.

Matt3o: Thanks for the link - I'll look at it later. I just went for the simplest possible API, and the PJRC code made it _really_ simple ^_^

Offline philpirj

  • Posts: 18
  • Location: Saint-Petersburg, Russia
Re: Bison keyboard build
« Reply #16 on: Fri, 21 February 2014, 03:37:13 »
Really impressed!
How is it going, can you post some typing videos?

Offline peterstock

  • Thread Starter
  • Posts: 25
Re: Bison keyboard build
« Reply #17 on: Fri, 21 February 2014, 13:35:45 »
Really impressed!
How is it going, can you post some typing videos?

The main keys are not that much different, but having the modifiers on the thumb keys is going to take me some time to get used to. I've changed the layout quite a few times getting something comfortable for all the different modifier combinations I use - I was just reading a thread where there wasn't much love for Visual Studio and ctrl/shift/arrows navigation, but I use that a lot :P

Offline CPTBadAss

  • Woke up like this
  • Posts: 14363
    • Tactile Zine
Re: Bison keyboard build
« Reply #18 on: Fri, 21 February 2014, 13:37:25 »
Can you post some typing videos?

Agreed, if you have the ability and chance to do so, please post a video :D.

Offline hoggy

  • * Ergonomics Moderator
  • Posts: 1502
  • Location: Isle of Man
Re: Bison keyboard build
« Reply #19 on: Sat, 22 February 2014, 01:07:20 »
That looks fantastic.  I'd love to have something like that on my desk.
GH Ergonomic Guide (in progress)
http://geekhack.org/index.php?topic=54680.0

Offline peterstock

  • Thread Starter
  • Posts: 25
Re: Bison keyboard build
« Reply #20 on: Sat, 22 February 2014, 10:52:02 »
Can you post some typing videos?

Agreed, if you have the ability and chance to do so, please post a video :D.

Here's a video of the 'Aesop's Fables' text from typingtest.com. It doesn't seem to show very much to me, but I hope you get something from it. :)  I've rotated it so it's not upside down. The middle right thumb is space, the outer left thumb is shift and the right big index finger key is backspace.

Offline obra

  • * Commercial Vendor
  • Posts: 137
Re: Bison keyboard build
« Reply #21 on: Sun, 23 February 2014, 15:10:26 »
I needed a new keyboard and I decided my trusty TypeMatrix 2020 could be improved upon. After some searching I found Jesse's Keyboard.IO http://launch.keyboard.io/ which looked most like what I wanted. But it's not available yet :(  So I decided to make something like it - slightly different, but I want to give credit to a big part of the design inspiration/plagiarism! I hope it's ok to do a one-off home-build that draws fairly heavily from another design?

Very nicely put together! And yes, we all draw from each other as we're designing things. Especially for a one-off board, I don't think you need to feel at all guilty about picking the best stuff from other designs. (And really, the Tron project  & M-System did this all 20 years ago)

Offline MOZ

  • KING OF THE NEWBIES
  • * Maker
  • Posts: 3981
  • Location: Jo'burg
  • Busy making stuff
Re: Bison keyboard build
« Reply #22 on: Mon, 24 February 2014, 03:08:12 »
Beautiful board!

Offline peterstock

  • Thread Starter
  • Posts: 25
Re: Bison keyboard build
« Reply #23 on: Tue, 25 February 2014, 15:40:45 »
I needed a new keyboard and I decided my trusty TypeMatrix 2020 could be improved upon. After some searching I found Jesse's Keyboard.IO http://launch.keyboard.io/ which looked most like what I wanted. But it's not available yet :(  So I decided to make something like it - slightly different, but I want to give credit to a big part of the design inspiration/plagiarism! I hope it's ok to do a one-off home-build that draws fairly heavily from another design?

Very nicely put together! And yes, we all draw from each other as we're designing things. Especially for a one-off board, I don't think you need to feel at all guilty about picking the best stuff from other designs. (And really, the Tron project  & M-System did this all 20 years ago)

Thanks :)  I've been experimenting with layouts for the thumb keys - they're taking a while to get used to, but I'm getting there. I thought I'd post my first week's experience in case it's useful to you.

I find the middle of the 3 thumb keys is the most comfortable to reach. The outer ones are next best, with the inner ones being least comfortable (contrary to what I was expecting) - especially for holding down. They're not so bad to press once, but it seems that holding keys (shift, control etc.) is easier with the thumbs at a greater angle from the hand. You can download the .DXF files in the OP to see how the positions of my thumb keys match up with yours.

Getting a layout that uses the thumbs for the modifiers has been a tricky problem. My objective was to not have to move from the resting position and 'cheat' by using the fingers to press more than 1 thumb key on each side, but still be able to comfortably access all combinations of modifiers (ctrl+shift, alt+shift, function+ctrl, function+shift, function+ctrl+shift [for cursor movement and selection]). I've got something that I think works well for me.

The modifiers on the left hand home row on Layer 1 are to use with the cursor keys, so neither hand has to move. The number row was dropped in favour of dedicated function keys and a numeric pad layout on Layer 2.

Layer 0:
55614-0

Layer 1:
55616-1

Layer 2:
55618-2

Offline clickclack123

  • Posts: 357
  • Location: Australia, Mate!
Re: Bison keyboard build
« Reply #24 on: Tue, 25 February 2014, 21:01:53 »
Interesting, you must use the FKeys more than the numbers, you only have numbers on Layer 3.

I'm the other way around, I only know how to touchtype numbers above the letters, not on a numpad.

Looks like a big reach to me to get to the Enter key.

On my Ergodox, I have the enter key where your space is, middle of the right thumbs, and space to the right of that. That's been good although I have mixed up space and enter quite a few times.

I'm hoping I will eventually develop a bit of thumb dexterity, 20 years of only space on the thumbs might take a few weeks to unlearn. It's not helping that I have a "normal" keyboard at work, but I'm going to build something a bit like the bison for work soon so then I should be able to unlearn.
« Last Edit: Tue, 25 February 2014, 21:04:29 by clickclack123 »

Offline obra

  • * Commercial Vendor
  • Posts: 137
Re: Bison keyboard build
« Reply #25 on: Wed, 26 February 2014, 11:04:49 »


Thanks :)  I've been experimenting with layouts for the thumb keys - they're taking a while to get used to, but I'm getting there. I thought I'd post my first week's experience in case it's useful to you.

I find the middle of the 3 thumb keys is the most comfortable to reach. The outer ones are next best, with the inner ones being least comfortable (contrary to what I was expecting) - especially for holding down. They're not so bad to press once, but it seems that holding keys (shift, control etc.) is easier with the thumbs at a greater angle from the hand. You can download the .DXF files in the OP to see how the positions of my thumb keys match up with yours.


We've probably spent more time tweaking the thumb keys than just about anything else. Well, aside from pinkie key positions.

I find it's _much_ easier to deal with the thumb keys if the duplicated keys are mirrors of each other.

My next rev of thumb key layout shows up from Seeed Studio tomorrow. We're trying going to 1x1 keys rather than 1.5 so we can get a nice tight arc that doesn't require thumb contortions.

« Last Edit: Wed, 26 February 2014, 12:19:03 by obra »

Offline peterstock

  • Thread Starter
  • Posts: 25
Re: Bison keyboard build
« Reply #26 on: Thu, 27 February 2014, 03:56:01 »
Interesting, you must use the FKeys more than the numbers, you only have numbers on Layer 3.

I've never been good at doing the numbers on the top row. And I do seem to use F-keys quite a bit, often with Ctrl and Shift, which makes for annoyance if I have to press another key to get to the layer too.


We've probably spent more time tweaking the thumb keys than just about anything else. Well, aside from pinkie key positions.

I find it's _much_ easier to deal with the thumb keys if the duplicated keys are mirrors of each other.

My next rev of thumb key layout shows up from Seeed Studio tomorrow. We're trying going to 1x1 keys rather than 1.5 so we can get a nice tight arc that doesn't require thumb contortions.

That's interesting - that was exactly my thoughts to start with, laying out all the modifiers the same for both hands, so you have 2 keys for each of them. But I found that I used up too much valuable thumb-key real estate like that and always ended up having to put some important keys in rubbish places. Of course, a single modifier key means you have to do same-hand chording, but I think this is less of a problem with a thumb modifier than with a pinkie one.

But you have a palm key too, which might eliminate this problem :)

Offline mtl

  • Posts: 180
Re: Bison keyboard build
« Reply #27 on: Thu, 27 February 2014, 15:30:31 »
Very cool board. :-) I agree having function keys on a separate layer can be inconvenient. Ctrl+Alt+FN+1, etc. are not so easy.
MX13 SpaceSaver | Phantom | Tactoblack Filco -10 | Realforce 103U-UW | Variable Clicky Deck 82 | Deck Legend

Offline technomancy

  • Posts: 134
Re: Bison keyboard build
« Reply #28 on: Fri, 28 February 2014, 15:56:00 »
That looks really cool. Do you have an estimate of how much it cost to make? (or how much time it took to laser cut?) Also curious about the dimensions and weight of the board.

Offline peterstock

  • Thread Starter
  • Posts: 25
Re: Bison keyboard build
« Reply #29 on: Mon, 03 March 2014, 14:55:26 »
Cost: lots. Stuff seems to cost about the same number in £ as $, even though it shouldn't. I didn't do my own laser cutting, so I have no idea of the time. I think it's about 400mm wide - the CAD files are up at the top if you want a look. Weight is heavy, but that's an indication of quality, right? :)

Offline qisqaqas

  • Posts: 21
  • Location: between keyboard and chair
  • I'm just a maker wannabe.
Re: Bison keyboard build
« Reply #30 on: Thu, 16 April 2015, 15:33:19 »
I'm building something like this right now. Something really similar. And now the funny part: I didn't know about this. I googled, reseached the ergonomical stuff for almost a year and  half and didn't find this topic or your work. I'm a saad panda. Mostly because I'm amazed by this. What you are did is truly beautyful. :thumb:

Sooo how is your keyboard working now?  :)
This message is made by 100% recycled electrons.

Offline peterstock

  • Thread Starter
  • Posts: 25
Re: Bison keyboard build
« Reply #31 on: Sat, 05 September 2015, 15:58:34 »
It's working fine and I'm a pretty happy bunny. One day a key didn't work -  I opened it up and just had to re-melt a dry joint. Apart from that no problems!

If I was to design a new keyboard, I'd probably have a little more angle between the hands. And I'd like to either make the hands tented, or the thumb clusters angled in relation to the main finger keys (like Oobly's keyboard), or both.

If you want something similar, you should take a look at Jesse's Keyboard.IO project:

http://www.keyboard.io/

Good luck in the pursuit of your ergonomic dreams! :-)