Author Topic: WIP 3D Printed Extended Ergonomic keyboard - with maybe a trackball  (Read 10046 times)

0 Members and 1 Guest are viewing this topic.

Offline rsheldiii

  • Thread Starter
  • Posts: 21
Hey guys,
 making two keyboards at the same time right now because I'm a glutton for punishment. This keyboard is going to be my at home keyboard, so it's a lot more ridiculous and a bit less professional than my work keyboard.

My first project board was an ergodox, which felt pretty awesome for the most part, but I could not get past having symbols on a separate layer. I tried a bunch of different layouts but the position of the brackets and right shift are burned into my brain, so I set it aside for a while. Luckily, a couple months later, Adereth came out with his really nice parametric ergonomic split hand keyboard: https://github.com/adereth/dactyl-cave/. 3d printing is another hobby of mine, so I set about printing out a test piece. It's pretty neat, but I wanted to play around with an inverted thumb cluster and I needed the extended keys I mentioned earlier, so I set about modifying his code. Clojure looks pretty cool but I don't have a lot of exposure to Lisp-like languages, so I figured it would be faster if I just converted whatever I needed to regular SCAD and add the rest.

I switched to a plate design as its a little bit sturdier, which necessitated changing the row offsets to row insets in order to get a solid plate that didn't overlap key space. I had to design a new enclosure now that the top was all different, but the row/column code is mostly the same.

The result of that so far is this:



This was about 30 minutes away from being my final design. I'm not super happy with the thumb cluster look, but the functionality is good, and everything else is perfect. I  just needed a little tray and hole cutout for the teensy on both ends and I was going to print the left half tonight (since the right half will take something like 12 hours) That is, until someone mentioned in a completely unrelated thread how cool it would be if the ergo dox had a trackball. Which sounds like... an amazing idea.

so now I have a trackball on overnight. I chose the Kensington Orbital because it's smallish:



so it will actually fit well in one of the thumb clusters, and because it was one of few that someone had a teardown picture of:



which doesn't look nearly as bad as I assumed it would look (I thought it would be soldered to the board). It seems to have its own support system as opposed to the Logitech Trackman which is preferable, and I have plenty of wire and shrink tubing at home to extend those two sets of wires, and there is plenty of space underneath the keyboard to hide the PCB, especially on the right hand version, so I think this plan is a go.

One small caveat though: I ended up looking around on geekhack and this has definitely been thought of before, but it looks like most people haven't posted results. I noticed this thread: https://geekhack.org/index.php?topic=55960.0 talking about adding a trackpoint to an ergodox running tmk_firmware being rather simple. looking in the source there is also a usb_mouse.c file, which is good, since the kensington is USB. I am not much of a microcontroller person, so I'd love to hear if anyone has done this before; is it possible with a trackball? can you just connect the wiring to a couple pins and redo the config and poof? That would be wonderful, I'l love to limit the amount of cables coming out of this thing as the halves are already going to be separate, but worst comes to worst I can just have three USB outs.

my next update will probably be prototyping the new thumb cluster to house the trackball while I try and figure out this whole integrated mouse issue

EDIT: almost forgot, here's an early prototype of the row layout without insets, just to make sure my 3d printer could actually handle something that required so much support:

« Last Edit: Thu, 23 April 2015, 00:09:17 by rsheldiii »

Offline vvp

  • Posts: 886
Re: WIP 3D Printed Extended Ergonomic keyboard - with maybe a trackball
« Reply #1 on: Thu, 23 April 2015, 03:44:14 »
Nice. I'm glad other people are trying to make their own contoured keyboard.
Here is my attempt at it: Katy keyboard (K80CS)

Offline kurplop

  • THE HERO WE DON'T DESERVE
  • Posts: 992
Re: WIP 3D Printed Extended Ergonomic keyboard - with maybe a trackball
« Reply #2 on: Sun, 17 May 2015, 19:45:57 »
It looks great. This is the first I've seen this thread and don't know how it slipped past my ultra sensitive, split keyboard with trackball detecting nose.  I'm interested in seeing more. Keep the progress reports coming.

Offline crimsonflame

  • Posts: 2
Re: WIP 3D Printed Extended Ergonomic keyboard - with maybe a trackball
« Reply #3 on: Tue, 02 June 2015, 15:29:05 »
This is awesome! I've been looking for a contoured ergo board like this. I've been eyeing the Kinesis Advantage, but I don't like the lack of real function keys and modifiers. I like the idea of the bundled trackball!

Offline rsheldiii

  • Thread Starter
  • Posts: 21
Re: WIP 3D Printed Extended Ergonomic keyboard - with maybe a trackball
« Reply #4 on: Tue, 02 June 2015, 17:27:08 »
Hey thanks for all the interest guys, I'm glad people find this cool :). I'm still actively developing this, I just hit a couple snags recently with my 3d printer. I tried switching to a .8mm nozzle for better layer adhesion and speed (would have cut the right hand print from 16 hours to 6), but I was getting terrible print quality and curling, so I switched back to the old .4mm. In order to further combat curling I began to install a new extruder mount with a much better fan shroud but I snapped the thermister wire in the process :/ got the parts in for a new one recently and I'm going to reassemble the hotend tonight and hopefully do a little further prototyping on the trackball mount. I've currently got the correct angle, diameter and space allowance but I'm a few millimeters off on the mounting holes. I'll post pictures once I get the prototype locked down.

Nice. I'm glad other people are trying to make their own contoured keyboard.
Here is my attempt at it: Katy keyboard (K80CS)

That looks neat! I believe I stumbled onto your post before while doing research. Did you write the SPI support for your RJ45 connection? I realized in order for function layers to work properly, I will need to connect these via some sort of communications relay. I was thinking of going for I2C over TRSS so I could just use the I2C code already in the ergodox branch of the tmk_firmware, despite my experience with the TRSS ports on my ergodox and the stuff I can find about I2C on the internet.

It looks great. This is the first I've seen this thread and don't know how it slipped past my ultra sensitive, split keyboard with trackball detecting nose.  I'm interested in seeing more. Keep the progress reports coming.

will do!

This is awesome! I've been looking for a contoured ergo board like this. I've been eyeing the Kinesis Advantage, but I don't like the lack of real function keys and modifiers. I like the idea of the bundled trackball!

For sure. I have an ergodox, and I looked into the kinesis for a bit, but both lack good spots for the bracket keys and shoehorning a control cluster into the ergodox didn't work out that well, so I started to look for another solution. I don't mind function keys on another layer, so I don't have a function row on my current model, but the SCAD could easily be modified to support that. It's not parametric in the traditional sense, in that it needs a bit of work to change parameters and some post-processing, but it wouldn't take more than a couple minutes. You'd just have to increase the row count and reposition the case cutoffs.

I actually debated grabbing the kinesis PCBs and a teensy breakout board ala this site: http://michael.stapelberg.de/Artikel/kinesis_custom_controller/ and prototyping an enclosure for that. It's a neat idea, especially if you aren't down for hand-wiring things, but ultimately I decided I'd get more control over the shape if I went PCBless.

Offline vvp

  • Posts: 886
Re: WIP 3D Printed Extended Ergonomic keyboard - with maybe a trackball
« Reply #5 on: Tue, 02 June 2015, 18:16:01 »
That looks neat! I believe I stumbled onto your post before while doing research. Did you write the SPI support for your RJ45 connection? I realized in order for function layers to work properly, I will need to connect these via some sort of communications relay. I was thinking of going for I2C over TRSS so I could just use the I2C code already in the ergodox branch of the tmk_firmware, despite my experience with the TRSS ports on my ergodox and the stuff I can find about I2C on the internet.
I use SPI for connection of an additional external EEPROM. The code is working. I can write and read the EEPROM at 8MHz clock.
As for as the connection of the left and the right side, I do not use SPI there. I considered it as an alternative but a solution with two shift registers is simpler and quicker. So, the left side only contains two shift registers to scan the matrix. This needs only 6 wires (Vcc, GND, dataOut, dataIn, clk_74hc164, clk_74hc165). SPI port expander would need 6 wires too. So there is no difference there. A piece of ethernet cable works fine.
« Last Edit: Tue, 02 June 2015, 18:49:42 by vvp »

Offline crimsonflame

  • Posts: 2
Re: WIP 3D Printed Extended Ergonomic keyboard - with maybe a trackball
« Reply #6 on: Tue, 02 June 2015, 20:07:29 »
For sure. I have an ergodox, and I looked into the kinesis for a bit, but both lack good spots for the bracket keys and shoehorning a control cluster into the ergodox didn't work out that well, so I started to look for another solution. I don't mind function keys on another layer, so I don't have a function row on my current model, but the SCAD could easily be modified to support that. It's not parametric in the traditional sense, in that it needs a bit of work to change parameters and some post-processing, but it wouldn't take more than a couple minutes. You'd just have to increase the row count and reposition the case cutoffs.

Actually, I have a pinky related RSI problem, so what I plan on doing is mapping the off-side pinky keys to Fn keys. I use the Fn keys much less often than modifier keys, but would still allow single key access to many macros I use in Vim and other software. I plan on trying to shoehorn in more thumb keys, and relocate the left thumb cluster closer (due to a table saw accident 10 yrs ago) as I like the idea of leaving modifiers to a stronger digit. When I tried an early prototype of Keyboardio, I liked the splayed thumb cluster, but my left thumb was only hitting the edge.

I love the age we live in now. Makes it so much easier to pull off  a project like this than just a few years ago.

Offline whatchamccallum

  • Posts: 10
Re: WIP 3D Printed Extended Ergonomic keyboard - with maybe a trackball
« Reply #7 on: Sat, 20 June 2015, 18:42:20 »
Any chance of getting your CAD drawings? Did you ever come up with your solution for the Trackball? I installed a trackball in the middle of my Kinesis Advantage and love it. Nothing drove me more crazy than having to reach for a mouse. I'm likely going to stick to a unibody design like the Kinesis but I would like more control over the keys and your design is an awesome starting place for me.

Offline berserkfan

  • Posts: 2135
  • Location: Not CONUS Not CONUS Not CONUS Not CONUS
  • changing diapers is more fun than model f assembly
Re: WIP 3D Printed Extended Ergonomic keyboard - with maybe a trackball
« Reply #8 on: Sat, 20 June 2015, 22:00:09 »
I noticed you have a Kensington trackball. Ever considered using the wireless version of that mouse? It'll save you wiring up more stuff.

Really excited at this project. Looks like another potential winner of the Keyboard of the Month competition.
Most of the modding can be done on your own once you break through the psychological barriers.

Offline rsheldiii

  • Thread Starter
  • Posts: 21
Re: WIP 3D Printed Extended Ergonomic keyboard - with maybe a trackball
« Reply #9 on: Sun, 05 July 2015, 19:34:17 »
Any chance of getting your CAD drawings? Did you ever come up with your solution for the Trackball? I installed a trackball in the middle of my Kinesis Advantage and love it. Nothing drove me more crazy than having to reach for a mouse. I'm likely going to stick to a unibody design like the Kinesis but I would like more control over the keys and your design is an awesome starting place for me.

ah, I didn't realize I hadn't linked the SCAD files! Sorry about that, here they are: https://github.com/rsheldiii/openSCAD-projects/tree/master/cave It's a little rough around the edges as I've mostly been concentrating on getting things in the correct place so far. The trackball STL is a prototype of the positioning, and it's almost right. There's still something a little off about the screwholes... honestly it probably doesn't matter that much, since it seems to be solid enough, but I'll probably go through a few more iterations so I can screw it down

I noticed you have a Kensington trackball. Ever considered using the wireless version of that mouse? It'll save you wiring up more stuff.

Really excited at this project. Looks like another potential winner of the Keyboard of the Month competition.

the wireless one is a good idea! Definitely a good way to limit the number of wires coming out. I might stick with the wired one for now, if I can get it to work that would be stellar, but it's good to know the wireless one is an option!


So as far as updates go, I've been prototyping the trackball enclosure off and on, but I'm starting to second guess myself on the thumb clusters again... they'll probably be fine, but I'd rather them be spectacular. I'm going to see if I can't come up with a better idea come this weekend and if not I'll just print the damn thing. Worst case scenario and I hate them it's a couple hours of time and like 12 dollars worth of plastic, which is nothing compared to what I've already spent on my other boards.

Offline Heliobb

  • Posts: 94
Re: WIP 3D Printed Extended Ergonomic keyboard - with maybe a trackball
« Reply #10 on: Sat, 29 August 2015, 05:43:34 »
Anything new with your keyboard?
Novatouch TKL - Leopold FC660C - PBT my life.