Author Topic: Project: 3D Printed Split Ergo  (Read 4605 times)

0 Members and 1 Guest are viewing this topic.

Offline bogamo

  • Thread Starter
  • Posts: 5
Project: 3D Printed Split Ergo
« on: Thu, 30 June 2016, 22:11:56 »


I designed this split-ergo keyboard in OnShape.   The basic electronic design of the keyboard is similar to the ergodox keyboard, allowing me to modify the tmk-ergodox firmware slightly to power it.

The positioning of the keys is similar-ish to that of the Kinesis Advantage keyboard, except for the thumb cluster which is quite different.
I can't seem to manage all the thumb keys on the Kinesis, so I put fewer thumb keys on this one.

It uses Cherry MX Clear switches

I've also added two thumb joysticks.  The one on the right is for the mouse, the one on the left is either arrow keys, home/end/pgup/pgdn, or H/V scroll wheel depending on what layer the keyboard is in.

It has 6 Adafruit RGB Neopixel LED lights.  1 For a layer indicator.  2 for keyboard illumination, and 2 for caps, num lock. The last light indicates if it is in mac or PC mode (the green key on the left side is command for mac, and alt for PC).

The top row turns into numbers/symbols if you hold down space.  You get FN keys by holding down backspace.    I also have a media key layer and a mouse layer.

There is absolutely no reason to take you hands off the home row with this keyboard :)

I'm still tweaking the mouse acceleration and fine-tuning the keyboard layouts.  I've been typing on it for four days now, and I can happily report that it is totally usable.

This is probably the first project I've done that actually has polish to it.  (Until you pry open to bottom to see the crazy wiring job I did)

I played around with using a blackberry trackball for a pointer (https://www.sparkfun.com/products/13169), but I found it was too coarse for what I needed.  I'd love to put on a larger (marble sized) trackball, but I haven't found where to buy one.

What I settled on for the joystick to make it usable is to have three acceleration modes.  The normal mode is good for moving the cursor around the screen, but doesn't have the accuracy for hitting small targets..  So when you are about to click a mouse button, you activate the mouse layer.  When the mouse layer is active, it defaults to super-slow.   There is also a "turbo" key on the mouse layer that makes the cursor zip from one monitor to the other.





3D model: https://cad.onshape.com/documents/fce02a3c00135dfe031d5e0c/w/bb8ad02d4e18a6534dd01967/e/d34919a923e8a29a0e1b6362

tmk-ergodox firmware:
https://github.com/cub-uanic/tmk_keyboard/tree/cub_layout

Joysticks
https://www.adafruit.com/products/444


Offline MOZ

  • KING OF THE NEWBIES
  • * Maker
  • Posts: 3981
  • Location: Jo'burg
  • Busy making stuff
Re: Project: 3D Printed Split Ergo
« Reply #1 on: Fri, 01 July 2016, 06:04:17 »
Brilliant!

Offline MajorKoos

  • Posts: 851
  • Location: Bay Area
  • 1 life please. Extra large.
Re: Project: 3D Printed Split Ergo
« Reply #2 on: Fri, 01 July 2016, 16:59:47 »
Very cool.

FWIW, the bubbling on the surface of the right wrist rest makes me think the printer isn't cooling the filament quick enough.

Offline Epic

  • Posts: 55
Re: Project: 3D Printed Split Ergo
« Reply #3 on: Fri, 01 July 2016, 19:06:03 »
this is sick. how does the printed material feel against your wrist?

Offline bogamo

  • Thread Starter
  • Posts: 5
Re: Project: 3D Printed Split Ergo
« Reply #4 on: Fri, 01 July 2016, 19:22:13 »
I put some of these Goldtouch wrist wrests on top of the plastic.  The plastic is too low to be a wrist wrest without them.  They are also somewhat heavy, anchoring the keyboard to the desk so it doesn't slide around.


Offline suicidal_orange

  • * Global Moderator
  • Posts: 4771
  • Location: England
Re: Project: 3D Printed Split Ergo
« Reply #5 on: Sat, 02 July 2016, 03:36:27 »
This thread/keyboard needs a better name!  Good work :thumb:
120/100g linear Zealio R1  
GMK Hyperfuse
'Split everything' perfection  
MX Clear
SA Hack'd by Geeks     
EasyAVR mod

Offline t8c

  • Posts: 172
  • Location: NO, EUR
Re: Project: 3D Printed Split Ergo
« Reply #6 on: Sat, 02 July 2016, 03:44:09 »
Was it a lot of work to add the two joysticks to the TMK firmware :D ? I would like to do something similar myself  :cool:

Offline algernon

  • Posts: 311
  • A tiny mouse, a hacker.
    • Diaries of a Madman
Re: Project: 3D Printed Split Ergo
« Reply #7 on: Sat, 02 July 2016, 04:41:58 »
Very interesting, and inspiring! Love the combination of the joystick and key wells! Curious how it will fare in the long run!

Offline bogamo

  • Thread Starter
  • Posts: 5
Re: Project: 3D Printed Split Ergo
« Reply #8 on: Sat, 02 July 2016, 06:33:00 »
Was it a lot of work to add the two joysticks to the TMK firmware :D ? I would like to do something similar myself  :cool:

It wasn't that bad.  I basically modified mousekeys so that I could set the x,y,h, and v from my joystick code.

The hard part was reading the left joystick from the teensy on the right side.   The two halves are only connected by 4 wires (I use a USB cable, so I can disconnect them), which are used as an I2C bus.    I use a MCP23018 I/O expander, just like ergodox, but that is digital only. It doesn't handle reading the analog values from the joystick.    So I ended up putting a second teensy in the left side, and put that on the I2C bus.  The second teensy simply reports the joystick values, and drives the three neopixels on the left side.

If I were to do it over, I'd emulate the MCP23018 in the teensy, eliminating the MCP23018 altogether.

If you wanted to have both joysticks attached to the same controller, it's almost trivial.

I'd love to share the code, though, it's a modification to tmk-ergodox, which is a fork of tmk.   I'm not thrilled with the idea of forking a fork.

In the next few days, I'll try to consolidate and clean up my code, then I guess I could try submit it as a pull request.

I'd really like to see people making similar keyboards (so I can learn and improve the design), so I want to share the code somehow.