Author Topic: Split Ortholinear Keyboard  (Read 5307 times)

0 Members and 1 Guest are viewing this topic.

Offline layornos

  • Thread Starter
  • Posts: 23
Split Ortholinear Keyboard
« on: Sun, 31 July 2016, 05:34:40 »
Dear Geekhack-Community,

i am trying to design a ortholinear split keyboard, 5x6 switches per side.

Inspired by the ErgoDox, i want to hold the costs as low as possible by creating a PCB that can be used for both sides.
Now my problem: I have no experience in creating PCBs and i am to not sure if i am on the right way:

144232-0
144234-1
144236-2

Update 1 31.07.2016
I have added a crystal, two capacitors and i removed the unused track in the top left corner.

Update 2 01.08.2016_1620
Added Status LEDs, Diode between UVCC and PIN1, conneced remaining VCCs and GNDs.

Update 3 03.08.2016
Changed footprints and the layout of the pcb. What tracks should the jumpers connect to make this pcb switchable?

Greetings
« Last Edit: Wed, 03 August 2016, 16:06:24 by layornos »

Offline suicidal_orange

  • * Global Moderator
  • Posts: 4771
  • Location: England
Re: Split Ortholinear Keyboard
« Reply #1 on: Sun, 31 July 2016, 06:22:50 »
Welcome to GH :)

This is a solid start, really easy to see what's going on which is great for debugging.

I'm no expert on PCB design but I can see a floating trace in the top left corner, should it be going somewhere?

I can say that the switch matrix part looks good, you just need to smooth out the remaining 90 degree bends on the columns.  There are three inconsistencies on the bottom row which won't be a problem, but they have triggered my OCD :))
120/100g linear Zealio R1  
GMK Hyperfuse
'Split everything' perfection  
MX Clear
SA Hack'd by Geeks     
EasyAVR mod

Offline xondat

  • i'm not a star
  • * Maker
  • Posts: 5366
  • Location: United Kingdom
Re: Split Ortholinear Keyboard
« Reply #2 on: Sun, 31 July 2016, 06:50:33 »
I don't know much about PCB design but this makes it make sense to be, very clean. Do you know what you're doing for the case yet?

Offline spindle

  • Posts: 28
Re: Split Ortholinear Keyboard
« Reply #3 on: Sun, 31 July 2016, 07:39:35 »
I'm pretty sure you need a external crystal to use the atmega32u4 with USB, at least they come shipped from the factor expecting an external crystal. You might want to look into the ATxmega chips which can act as a full speed USB device using its internal oscillator http://www.atmel.com/ja/jp/Images/doc8388.pdf, or just add the external crystal.

Offline spindle

  • Posts: 28
Re: Split Ortholinear Keyboard
« Reply #4 on: Sun, 31 July 2016, 08:13:03 »
Ah, nvm my last comment, it looks like you can get the atmega32u4RC-au which comes with the fuses set to use the internal RC oscillator and the USB bootloader preprogrammed.

Offline layornos

  • Thread Starter
  • Posts: 23
Re: Split Ortholinear Keyboard
« Reply #5 on: Sun, 31 July 2016, 10:26:05 »
My question is, can this pcb used on each side (r/l)?

@xondat
When the PCB design is finished, i will try to prototype one with SketchUp and a 3D Printer.
« Last Edit: Sun, 31 July 2016, 13:20:42 by layornos »

Offline spindle

  • Posts: 28
Re: Split Ortholinear Keyboard
« Reply #6 on: Sun, 31 July 2016, 18:33:25 »
My question is, can this pcb used on each side (r/l)?

It looks like you are planning to flip the boards for the left and right halves based on the switch footprints. If that is the case, then you will need to make sure that your connectors will still work when you flip the board upsidedown.  One way to do this would be to use jumpers which you can solder to select which half you want the PCB to operate as.

Also, if you want to allow both sides to be plugged into by usb, you'll need some way for the microcontroller to detect if the USB connector is plugged in. I did this in my firmware using the fact that the promicro keeps the UVCC and VCC supplies separate and checking the UVCC voltage. Maybe you could do it here using a diode on UVCC and a I/O pin?

Another thing I noticed is you left some GND and VCC pins unconnected. Generally all the GND and VCC pins should be connected, see here for more info on that. And the Ucap pin should be connected to a 1uf cap.

Offline IBNobody

  • Posts: 113
Re: Split Ortholinear Keyboard
« Reply #7 on: Sun, 31 July 2016, 22:53:35 »

Another thing I noticed is you left some GND and VCC pins unconnected. Generally all the GND and VCC pins should be connected, see here for more info on that.

And each VCC should have its own 0.1uF decoupling cap, placed as close to the pin as possible.

Offline layornos

  • Thread Starter
  • Posts: 23
Re: Split Ortholinear Keyboard
« Reply #8 on: Mon, 01 August 2016, 09:20:35 »
It looks like you are planning to flip the boards for the left and right halves based on the switch footprints. If that is the case, then you will need to make sure that your connectors will still work when you flip the board upsidedown.  One way to do this would be to use jumpers which you can solder to select which half you want the PCB to operate as.

Also, if you want to allow both sides to be plugged into by usb, you'll need some way for the microcontroller to detect if the USB connector is plugged in. I did this in my firmware using the fact that the promicro keeps the UVCC and VCC supplies separate and checking the UVCC voltage. Maybe you could do it here using a diode on UVCC and a I/O pin?

Another thing I noticed is you left some GND and VCC pins unconnected. Generally all the GND and VCC pins should be connected, see here for more info on that. And the Ucap pin should be connected to a 1uf cap.

As you suggested, i connected the remaining GND and VCC pins. Also i use now a diode between UVCC and PIN1 to detect if USB is connected. But i am not sure, if it will work as i implemented it.

The jumper and the decoupling thing... i try to figure it out.

Before you answered, i put 3 status leds on the pcb, to code 2^3-1 layers and probably some other states through blinking.
« Last Edit: Mon, 01 August 2016, 09:26:34 by layornos »

Offline nevin

  • Posts: 1646
  • Location: US
Re: Split Ortholinear Keyboard
« Reply #9 on: Thu, 11 May 2017, 00:42:48 »
Very nice. Sorry for the necro..., I am looking for one of these as well. Don't know why there aren't more split 60%-ish size boards (ergodox? kinda, maybe?). There's a ton of split 40% (which i am NOT interested in, WAY too many shortcuts for even the numbers to be buried, let alone F-keys). I definitely don't like stabilized keys but i don't know if i could go full 1u keys.

...

Ok. probably started this reply 2Hrs ago... the layout is definitely doable. Gets a little screwy with some of the punctuation/brackets/etc.. (depending on how you setup the layout) ...was playing with the layout editor to see if this was a feasible option. Here's an initial layout (by no means, is this what is intended for this project, just me messing around to see what a split 5x6 grid would look like layout wise)

168196-0

link to layout on Keyboard Layout Editor
http://www.keyboard-layout-editor.com/#/gists/7e73885197807c07dbd4204aa8b160b5

you could probably improve interest if you add pads for alps as well as MX.

Have you made any progress or is the project dead?
Keeb.io Viterbi, Apple m0110, Apple m0120, Apple m0110a, Apple 658-4081, Apple M1242, Apple AEK II, MK96, GH60/Pure, Cherry g84-4100, Adesso AKP-220B, Magicforce 68

Offline layornos

  • Thread Starter
  • Posts: 23
Re: Split Ortholinear Keyboard
« Reply #10 on: Thu, 11 May 2017, 11:26:59 »
I've ordered a batch of PCB's. But it is not working.

I don't know where the error is, and atm i've no time/money to work on this project.

In June i will rework the PCB and test it.

Offline nevin

  • Posts: 1646
  • Location: US
Re: Split Ortholinear Keyboard
« Reply #11 on: Thu, 11 May 2017, 13:05:15 »
thanks for the update. sucks the 1st round isn't working yet. hopefully someone here with experience troubleshooting will be able to pick out what's up. hopefully just a missing trace or something that can easily be fixed. wish i could be more help.

fingers crossed for you, wishing you the best on the project.

what layout did you have in mind for yourself? i'd be curious to see. i haven't had a ortholinear board yet but have been curious since OKLB put together the atomic.
Keeb.io Viterbi, Apple m0110, Apple m0120, Apple m0110a, Apple 658-4081, Apple M1242, Apple AEK II, MK96, GH60/Pure, Cherry g84-4100, Adesso AKP-220B, Magicforce 68

Offline layornos

  • Thread Starter
  • Posts: 23
Re: Split Ortholinear Keyboard
« Reply #12 on: Thu, 11 May 2017, 13:39:05 »
I'm using the NEO2 Layout.
I don't like the double space. Instead of the left space, i would use shift. Also i would not use dedicated arrow keys, imho waste of space.


Here you can see my layout for a planck:
Code: [Select]
[_NEO] = {
{KC_ESC,  KC_X,    KC_V,    KC_L,    KC_C,    KC_W,    KC_K,    KC_H,    KC_G,    KC_F,    KC_Q,   KC_BSPC},
{KC_TAB,  KC_U,    KC_I,    KC_A,    KC_E,    KC_O,    KC_S,    KC_N,    KC_R,    KC_T,    KC_D,   KC_Z},
{KC_LSFT, KC_LBRC, KC_SCLN, KC_QUOT, KC_P,    KC_Y,    KC_B,    KC_M,    KC_COMM, KC_DOT,  KC_J,   KC_ENT },
{F(0), XXXXXXX, KC_LGUI, KC_LALT, KC_LSFT, KC_SPC,  KC_SPC,  NEOMOD4, NEOMOD3, BACKLIT, AUDIO,  RAISE}
}

[_NEOMOD3] = {
{_______,  XXXXXXX,    LSFT(KC_SLSH),   RALT(KC_8),    RALT(KC_9),    KC_GRV,    KC_EXLM,   KC_NUBS,    LSFT(KC_NUBS),    LSFT(KC_0),    LSFT(KC_6),    _______},
{_______,  RALT(KC_MINS),    LSFT(KC_7),    RALT(KC_7),    RALT(KC_0),    LSFT(KC_RBRC),    LSFT(KC_MINS),    LSFT(KC_8),    LSFT(KC_9),    KC_SLSH,   LSFT(KC_DOT),  RALT(KC_Q)},
{_______, KC_NUHS, LSFT(KC_4), RALT(KC_NUBS), RALT(KC_RBRC),   LSFT(KC_EQL),    KC_RBRC,    LSFT(KC_5),    LSFT(KC_2), LSFT(KC_NUHS),  LSFT(KC_COMM),    _______},
{_______, _______, _______, _______, _______, _______,  _______,  _______,    _______,    _______, _______,   _______}
}

[_NEOMOD4] = {
{_______,  KC_PGUP,    KC_BSPC,    KC_UP,    KC_DEL,    KC_PGDN,    XXXXXXX,   KC_7,    KC_8,    KC_9,    XXXXXXX,    _______},
{_______,  KC_HOME,    KC_LEFT,    KC_DOWN,    KC_RGHT,    KC_END,    XXXXXXX,    KC_4,    KC_5,    KC_6,    XXXXXXX,    XXXXXXX},
{_______, XXXXXXX, KC_END, KC_INS, KC_ENT,   KC_WBAK,   XXXXXXX,    KC_1,    KC_2, KC_3,  XXXXXXX,    _______},
{_______, _______, _______, _______, _______, _______,  _______,  _______,    _______,    _______, _______,   _______}
}
« Last Edit: Thu, 11 May 2017, 13:40:36 by layornos »

Offline nevin

  • Posts: 1646
  • Location: US
Re: Split Ortholinear Keyboard
« Reply #13 on: Thu, 11 May 2017, 17:07:37 »
NEO2, never heard of that before. looked it up, very interesting.

Arrows, for what i do, it's a necessity. but definitely not for everyone.

Just a couple months ago i got a GH60 pcb (my 1st programable) to replace the pcb in my KBT Pure that was slowly dying. Lately i've been playing with TMK firmware on a teensy with some old apple boards. Very cool stuff, dual role keys and a lot of features i'm surprised aren't featured in more of our niche boards (Poker, Matias, Leopold, Filco, etc...)
Keeb.io Viterbi, Apple m0110, Apple m0120, Apple m0110a, Apple 658-4081, Apple M1242, Apple AEK II, MK96, GH60/Pure, Cherry g84-4100, Adesso AKP-220B, Magicforce 68

Offline ErgoMacros

  • Posts: 313
  • Location: SF Bay Area
Re: Split Ortholinear Keyboard
« Reply #14 on: Sun, 25 June 2017, 02:35:40 »
Hi,
Looks like an interesting project.
How far did you get with debugging the boards? For example did you get any key presses to work on one side?
What kind of problems did you see?

(I'm not an expert, but if there's something I could do to help...)
Today's quote: '...“but then the customer successfully broke that.”