Author Topic: MEK - 3d printed modular ergonomic keyboard, teensy, mechanical switches  (Read 48395 times)

0 Members and 3 Guests are viewing this topic.

Offline iso

  • Thread Starter
  • Posts: 230
MEK - Modular ergonomic keyboard

A. Module case - extra buttons, trackpad
B. Foot
C. Module bracket
D. Handle with brackets
E. Left console
F. Console bracket - Ball head joint for the left-right console
G. Module support
H. Right console
I. Aluminum pipe - 25mm dia, 400mm long.
J. Ball head joint - thumb articulation
K. Thumb arm support
L. Bracket/ballhead joint for central console
M. Central console
N. Thumb cluster
O. Thumb arm support

The legs have wingnuts on the back side so I can adjust the height/slope, those can be moved to the front as needed
Already printed bunch of keycaps but I`m waiting for some filament samples to have those in various colors, I will post pictures later
Used about 40% from a 1kg roll, approx 40 components, not counting bolts/washers/nuts.
I will add the models soon so everyone can print their own.
Center console and the module will have custom keys/shortcuts/functionality.
An accountant wil be able to attach a different center console/module from a media editor or programmer.

This is work in progress.

Offline iso

  • Thread Starter
  • Posts: 230
Keycaps - A to Z, printed at 0.08, about 7hr, PLA.

Will fit Cherry MX/Gateron, enjoy.

Font used - https://www.dafont.com/kimberley.font
« Last Edit: Fri, 15 March 2019, 22:24:10 by iso »

Offline Coreda

  • Posts: 772
Watching with interest  :D

Offline iso

  • Thread Starter
  • Posts: 230
Numbers, 1 to 12 and + -, printed at 0.08, about 3hr.

First layer is always jagged, looks ugly because needs to stick to the printer bed and has extra pressure on it, easily fixed with exacto and patience
« Last Edit: Sat, 16 March 2019, 03:49:48 by iso »

Offline iso

  • Thread Starter
  • Posts: 230
Last night I glued all switches on the left/right console plus the thumb cluster
On the printer, the top row symbols, dedicated switch for each, no more holding shift/modifier, OBJ attached.


Offline iso

  • Thread Starter
  • Posts: 230
Left and right console keycaps are done, on the printer, thumb keycaps.


Return 2x
Backspace 2x
Blank 2x
Shift
Alt
Control
Tab
Menu
Windows
Run

I havent decided yet If Im gonna have 2 "space" keys or just one.

« Last Edit: Sun, 17 March 2019, 21:16:29 by iso »

Offline nevin

  • Posts: 1646
  • Location: US
WOW! Extremely impressive!

thanks for sharing!
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 iso

  • Thread Starter
  • Posts: 230
Looking sexy all medium gray, all center console switches glued in place, I`m happy with the keycaps on thumb cluster.
Some of the symbols look too thin, like & $ and %, I will have to reprint some of them.
Over 60 keycaps left to print for the center console, at least 24h printing time, I will do the F keys first because I already have the numbers then the rest of the symbols and  end with macro/modifier keys.
After cleaning the keycaps with the exacto knife I will add nail polish inside the grooves, 4 diff. colors, F keys, macro, symbol/number and letter.

Offline iso

  • Thread Starter
  • Posts: 230
Resized font for (  )  @  *  _  =  ` and %
( and ) been moved half mill. to the side from center.
Added ESC (arrow up at 45%) and DELETE (thumb down) keycaps




Offline nevin

  • Posts: 1646
  • Location: US
(.....wolf whistle) .....just unbelievable.

if you need a hand with the symbols/icons, i can help and probably feed you a vector file you can import into your 3d software.

was figuring you were going to do some kind of infill.

i'd be curious to hear what the caps sound like. it's a really unique design, solid, plus different material/construction than standard molded keycaps.

i see the stems on the caps are square-ish, nice touch. how much room do you have between the cap stem & the housing?

what are your initial thoughts on the concave alpha clusters?

are those razer green switches?
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 iso

  • Thread Starter
  • Posts: 230
Re: MEK - 3d printed modular ergonomic keyboard, teensy, mechanical switches
« Reply #10 on: Mon, 18 March 2019, 23:04:18 »
Keycaps printed are 12.20mm by 12.40mm
This fluctuates, if you print at high temperature the keycap will shring slighty more, also, depends on the material too, PETG does not shrink as much as ABS, but who cares, less than half a mill, you`re not looking at the keyboard anyway :)
When pressed, the top of the keycap is about 1.2mm above the body of the switch.
The margin from the edge of the stem to the inside of the switch is very small, i`d say 0.1mm, but again depends what material you`re printing with and temperatures, if I feel is grinding, and is happening sometimes, I get a fine file and I give it 2 smooth passes and its gone.
The "hat" is 2.5mm thick, the font is sunk in about 1.5mm, deep enough that after I add nail polish and sand it off to get a crisp edge, I will still have 1 mill. left.
The keycaps does not touch the switch except where the stem is, around it, so, whatever noise the switch makes.
From A to Z and thumb cluster I`m using quiet brown gaterons, for all other im using older switches I pulled from a razer keyboard I bought off ebay for $15 free shipping , some guy`s dog ate the cable and he was selling it for that not knowing that people do take those apart and re-use the switches.
Fonts work the best with 3ds max because generates the high quality shape even after resizing, and they are free for personal use, at dafont.com, search for icon or symbols, you`ll find them.

When you print at 0.08mm, all layers,  is very hard to calibrate the printer, the room temperature will throw off the calibration, in the morning I have to rise the bed slightly and afternoon when gets warm, to lower it. Without exageration I probably did over 50 caps before I got it to print consistently acceptable, the first layer still looks jagged at close inspection, nothing an exacto knife cant fix, but still :)

3ds max got text as shape, then convert to poly, then extrude the polygons upward, then close borders, move it 1.5mm over the keycap model, center it and merge/cut, bam, new keycap.
« Last Edit: Mon, 18 March 2019, 23:07:17 by iso »

Offline nevin

  • Posts: 1646
  • Location: US
Re: MEK - 3d printed modular ergonomic keyboard, teensy, mechanical switches
« Reply #11 on: Tue, 19 March 2019, 00:38:57 »
interesting.
yeah, i guess they would be quieter, not having a chamber (underside of normal cap) to effect the sound.

keycap process.... now that's dedicated.

what do you think about the silent browns? i've been looking at them and the aliaz switches. i've been using cherry browns with the qmx silencing clips on my 60% for what... 3 years now.... (wow, didn't realize it was that long ago). i definitely think the internal dampening is a better setup (like the old dampened alps) i also have a set of the newer plate mount compatible qmx silencing clips but i don't like them as much. the tolerances around the cap stem are too tight and would bind occasionally when i first got them. the rubber is different & not as good as the original.
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 iso

  • Thread Starter
  • Posts: 230
Re: MEK - 3d printed modular ergonomic keyboard, teensy, mechanical switches
« Reply #12 on: Tue, 19 March 2019, 11:32:13 »
To me a keyboard or a mouse is just an input device, I dont have... fetishizing tendencies when talking/owning/creating those, its either working the way I want it or not.
Then boils down to I do something about it to make it work, if the answer is still no then I move on to somehing that is working or maginally better or at least I can do something to modify it to my liking to serve its purpose.
I dont have any of that internal dialog... oh I wish this was stainless steel and every time I press the button an angel would come down from heaven and give me a foot massage  :))

Offline praxis87

  • Posts: 44
  • Location: WA, USA
Re: MEK - 3d printed modular ergonomic keyboard, teensy, mechanical switches
« Reply #13 on: Tue, 19 March 2019, 14:45:11 »
To me a keyboard or a mouse is just an input device, I dont have... fetishizing tendencies when talking/owning/creating those, its either working the way I want it or not.
Then boils down to I do something about it to make it work, if the answer is still no then I move on to somehing that is working or maginally better or at least I can do something to modify it to my liking to serve its purpose.
I dont have any of that internal dialog... oh I wish this was stainless steel and every time I press the button an angel would come down from heaven and give me a foot massage  :))

 :)) :)) :)) :)) Funniest post I've ever read on here.  I thought I was there with you until I realized that I've spent almost $200 on keycaps at this point.
Dactyl-Manuform 5x6 | 1984 IBM Model M | Anne Pro 2 | Sweet16 | MEM-AR v9

Offline iso

  • Thread Starter
  • Posts: 230
Re: MEK - 3d printed modular ergonomic keyboard, teensy, mechanical switches
« Reply #14 on: Tue, 19 March 2019, 18:15:30 »
Well now, I`m in the wrong business, I feel I can produce stainles steel keycaps. How much would you pay for a set ? :) @praxis87

Offline Sintpinty

  • Carbon Based Life Form
  • Posts: 1667
  • Location: A can of beans in the cupboard
  • she/her/they/them/any except he him
    • My Roblox Profile
Re: MEK - 3d printed modular ergonomic keyboard, teensy, mechanical switches
« Reply #15 on: Fri, 22 March 2019, 19:35:18 »
Wow

Offline iso

  • Thread Starter
  • Posts: 230
Re: MEK - 3d printed modular ergonomic keyboard, teensy, mechanical switches
« Reply #16 on: Sat, 23 March 2019, 15:14:27 »
At first I had keycaps printed in 4 main colors and the characters painted to contrast, light gray/black, medium gray/white, blue/white, black/white. Volume up/down were light orange/black. After I installed everything... it was too distracting, so I decided to print everything again on medium gray and only use different colors for characters. Only the modifiers, macro, F keys will be different, numbers/letters/symbols will be medium gray/black.

I found that nail polish is perfect for painting the characters, dries fast, dries hard, easy to sand off the excess, multiple colors including clear coating, built it tiny brush.

Since the groove on the key is about 1.2mm deep, will take some time for the lacquer to dry, usually I leave it about 1hr, re-apply, let it dry again, re-apply.
Needs to be done multiple times because as lacquer dries, will shrink, some may like that, I like to have it flat
If you don`t let it dry properly, when applying the clear coating, the still wet lacquer will bleed in, mixing or will smear over the file/sand paper.
After drying I keep the key upside down and do 4, 5 light passes on a medium coarse metal file, till the dry lacquer is level with the top layer, then another 4, 5 passes on a super fine metal file, blow the dust with compressed air.

At his point the key is done unless you want to add a clear lacquer coating on top, the process is pretty much the same but will take super fine sand-paper/file, lots of patience to only grind off portion of the clear coating and keep it matte. I only did this to demonstrate the technique, I don`t find it necessary.

After little usage the clear coating on top will get slightly shiny, if that bothers you, don`t apply it.

I only used PLA for keycaps, after few months, depending on how these wear out, I will give nylon a try.

Center console:
Row1 : ESC - Win - Page break - Scroll-lock - Insert - Caps lock - Print screen - Delete
Row 2: Home - Shift+home - Volume up - Volume down - Macro 1 - Macro 2 - Shift+end - End
Row 7: [ -  Control+S - Control+A - Firefox - Control panel - Desktop folder - Page up - ]
Row 8: Control+C - Control+V - Control+X - Control+Z - Control+Y - Page down

Left thumb:
Return - ALT
Space - Shift
Backspace - Control

Right thumb:
Menu - Return
Tab - Space
Run command - Backspace


Why so many keys ? I`m trying to not use modifiers, every char has its own key as much as possible, to me the speed is not much of a factor but success rate, meaning less backspacing/deleting although I predict my speed will increase too the moment I get used to the new layout.

Uploading keycaps models soon, stay tuned.




Offline iso

  • Thread Starter
  • Posts: 230
Re: MEK - 3d printed modular ergonomic keyboard, teensy, mechanical switches
« Reply #17 on: Sat, 23 March 2019, 23:14:10 »
ALL KEYCAPS

All keycaps included plus some variations of same key I tried, so, some keys will appear twice, there are plenty of free 3d programs that will let you import OBJs and separate the models and export/print only what you need.

FREE FOR PERSONAL USE
[/color]

KEYBOARD MODEL

MEK.zip includes the keyboard files minus the module and the teensy box that attaches to the handle, on the back of the keyboard, I will add those later.

I`m using 4-40 screws/bolts, M3 would be a better choice.
Consoles have a slot for FC-14P 14 pin JTAG, will allow you to detach consoles, add different module, etc.

Enjoy.
« Last Edit: Sun, 24 March 2019, 13:57:55 by iso »

Offline iso

  • Thread Starter
  • Posts: 230
Re: MEK - 3d printed modular ergonomic keyboard, teensy, mechanical switches
« Reply #18 on: Sun, 24 March 2019, 05:20:11 »
Now a question for you guys, will a teensy 2.0 handle 120 keys ? Thanks.

Offline nevin

  • Posts: 1646
  • Location: US
Re: MEK - 3d printed modular ergonomic keyboard, teensy, mechanical switches
« Reply #19 on: Sun, 24 March 2019, 07:27:57 »
It's more the number of rows & columns then the # of keys.

What's your matrix? Think I counted it before... 8x18? If it is 8x18, you'd need 26 open ports. (Dont have everything in front of me at the moment)

IF the teensy 2.0 is too small (not enough ports) you can always get teensy 2++ that will definitely cover it. There are also some other controllers that look good for handwire QMK proton c & postage board. I don't know details off the top of my head about either yet but both look promising as purpose built keyboard controllers. Love the way the postage was designed to connect/sit over 3 switches. This is very smart and aleviates having to come up with some way to mount the controller (like teensy/pro micro).
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 iso

  • Thread Starter
  • Posts: 230
Re: MEK - 3d printed modular ergonomic keyboard, teensy, mechanical switches
« Reply #20 on: Sun, 24 March 2019, 17:17:55 »
Thanks nevin

Perhaps I should have uploaded this picture before asking  :))
I have wired a keyboard before and I didnt care about rows/columns, didnt even knew thats a thing few years back.


Offline iso

  • Thread Starter
  • Posts: 230
Re: MEK - 3d printed modular ergonomic keyboard, teensy, mechanical switches
« Reply #21 on: Sun, 24 March 2019, 19:52:04 »
Teensy box model attached, the back of the box got slots where the wires can come out.
Tape the teensy to the box with sticky double sided tape, althought if you choose to get the wires out from behind the box,  that should be enough to keep it in place.

Offline nevin

  • Posts: 1646
  • Location: US
Re: MEK - 3d printed modular ergonomic keyboard, teensy, mechanical switches
« Reply #22 on: Mon, 25 March 2019, 00:56:09 »
Looking good!

Yeah, re-counted, i'd go with an 8x18 matrix (if wiring it straight, with one controller), thumb clusters & arrows would get rolled into the rows of the side clusters. With an 8x18 matrix, you'd need 26 pins. The Teensy 2.0 only has 25, so you'd either have to get really creative with the matrix or just jump up to a Teensy++ 2.0 which has 46 pins. (go for the Teensy++ 2.0 and save the headaches for another day)

Another way to do it would be to set it up like a split board, using a simple TRRS cable between components. Wire the two side clusters together on one controller as a 7x10 matrix (17 pins) you could route the wires through the aluminum pipe (out of sight/way), then a 8x8 matrix (16 pins) for the center cluster on anther controller and the TRRS to connect the two controllers either using serial or i2c. i have not seen a 3 controller/cluster setup yet (one master, two slaves) but might? ...be possible?

you were saying about switching out the center cluster and this would make it a lot easier.

some good articles on hand wiring:
https://geekhack.org/index.php?topic=87689.0
https://deskthority.net/viewtopic.php?f=7&t=6050&start=
https://beta.docs.qmk.fm/for-makers-and-modders/hand_wire

Here's a shot of my split board (Keeb.io - Viterbi) that uses TRRS between halves
215934-0
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 iso

  • Thread Starter
  • Posts: 230
Re: MEK - 3d printed modular ergonomic keyboard, teensy, mechanical switches
« Reply #23 on: Mon, 25 March 2019, 01:42:27 »
Thats a pretty kbd you`ve got there. Medium gray/dark pink mix, nice. Is it dark pink or is just the way my display renders it ?
Thanks for the info and suggestions, I will have to create a case for teensy 2.0 ++, looks like is gonna create the least ammount of trouble.

I dont care much about the way it looks like for now, I could cut 2, 20mm by 5mm slots on the aluminium pipe and 3d print a case for the teensy, have the electronics inside the pipe,  have console cables come out of those holes and  the USB cable coming out on one end.  All 3 consoles gonna have JTAGs connectors, I can swap them and flash a different HEX, depending which consoles are attached, second central console, module, will have its own USB.

The whole thing as it is, with all the mistakes,  bad prints, re-doing parts, improvements took over 500 man hours. I kind of want to be done with this stage and actually have a functional KBD, I just ordered a Teensy 2.0 ++

Just happens that I was checking international space station news and they had some pictures from inside, wires/connectors/pipes/motors/switches/instruments everywhere. Thats what the most expensive piece of machinery ever created by humans looks like when an engineer never gets to talk to a designer, feels good.


Offline nevin

  • Posts: 1646
  • Location: US
Re: MEK - 3d printed modular ergonomic keyboard, teensy, mechanical switches
« Reply #24 on: Mon, 25 March 2019, 02:35:15 »
Thanks. It's dark grey & red. They were cheap, thick, PBT blanks off of aliexpress. Different colors and random novelty keys to help identify certain keys on the board. It's my 1st split board as well as my 1st ortholinear board and i love it. I haven't tried tenting it yet though.

JTAG for connecting sides to center.... from what i'm looking at, looks like you'll use 12 out of the 14, so that should work fine. i can draw up a matrix if it will help you.

..." like when an engineer never gets to talk to a designer, feels good." Yep, all for function over form. I think there's more of an ART in making it work than making it look good.
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 iso

  • Thread Starter
  • Posts: 230
Re: MEK - 3d printed modular ergonomic keyboard, teensy, mechanical switches
« Reply #25 on: Mon, 01 April 2019, 19:43:23 »
Teensy  2.0 ++ arrived !
New box and handle attached
Hand wiring on weekend if time allows, with pics.

Offline nevin

  • Posts: 1646
  • Location: US
Re: MEK - 3d printed modular ergonomic keyboard, teensy, mechanical switches
« Reply #26 on: Tue, 02 April 2019, 04:32:15 »
Looking good. Excited for you. :D
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 iso

  • Thread Starter
  • Posts: 230
Re: MEK - 3d printed modular ergonomic keyboard, teensy, mechanical switches
« Reply #27 on: Mon, 08 April 2019, 23:05:02 »
Tried other ways to make the thumb cluster more flexible.
To me feels more natural for the fingers to move up/down and thumb left/right, oppossable
Thats why the new thumb cluster arm where the buttons position will take less time to re-learn and adjust to the space between the key.
I`ve created 2 new but the second felt better, I`ve uploaded both so there are more options too choose from.
The original arm model can be download from previous posts.
Please be aware I`ve only uploaded one for each, you will have to duplicate and mirror the model to match lef/right side, those are asymetrical.

Offline iso

  • Thread Starter
  • Posts: 230
Re: MEK - 3d printed modular ergonomic keyboard, teensy, mechanical switches
« Reply #28 on: Mon, 22 April 2019, 22:56:15 »
Left console is 90% done, thumb switches left to do, wire all that to the JTag connector then wire the Teensy.
Has to work flawlesly before I proceeed to center and right console. Solderign took about 40 min.
Took a while because I had to create new attachment for the soldering jig so I can solder standing up and "machined" a new tip for my cheapo soldering iron.
Wires seems to touch, they dont, when im happy with the way is all wired up, I`ll add some epoxy to keep them from accidentally touch and protect from vibrations on the long run.


Offline nevin

  • Posts: 1646
  • Location: US
Re: MEK - 3d printed modular ergonomic keyboard, teensy, mechanical switches
« Reply #29 on: Wed, 24 April 2019, 07:19:31 »
you're just all sorts of handy, aren't you.

cheap-o soldering irons unite (hold crap iron up in the air) i'm also in the cheap-o soldering iron club.

i also have a really old, wooden handle one too (not good for fine stuff, but great for big old chunky 1/10th scale R/C stuff like motor terminals & NiCd battery packs, soldering 9-13awg wire)
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

Re: MEK - 3d printed modular ergonomic keyboard, teensy, mechanical switches
« Reply #30 on: Wed, 24 April 2019, 08:43:28 »
Please let me know when you decide to do a tkl

Offline nevin

  • Posts: 1646
  • Location: US
Re: MEK - 3d printed modular ergonomic keyboard, teensy, mechanical switches
« Reply #31 on: Wed, 24 April 2019, 08:57:01 »
TKL?   Once you go split, any standard form factor board that's one piece is kind of a step backwards. Plus, there are tons of TKLs, parts & kits already available.
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

Re: MEK - 3d printed modular ergonomic keyboard, teensy, mechanical switches
« Reply #32 on: Wed, 24 April 2019, 09:52:09 »
I don't really see any good and inexpensive set available for the tkl format. It seems that we have only the kprepublic ( or is it kbdfans?) 90 USD kit and nothing else.

Offline nevin

  • Posts: 1646
  • Location: US
Re: MEK - 3d printed modular ergonomic keyboard, teensy, mechanical switches
« Reply #33 on: Wed, 24 April 2019, 10:29:37 »
BUILDING is ALWAYS more expensive than BUYING. You build to make it your own, your selection of switches, pcb, case, etc... or if something you want does not exist in any current product.

TKL PCB selection help

Does it need to be fully programmable?

If you're just looking for that form factor, just about every gaming keyboard manufacturer carries a tkl. you can get other brands for less than $30 for a mechanical TKL.

Some brands even have replaceable controllers.... buy stock, buy alternate controller, plug it in, program it, done. Examples: Unloved Bastard Controller, Pegasus Hoof Controller. Or turn just about any usb keyboard into a programmable keyboard with Hasu's USB to USB Controller Converter.

You could also buy a cheap board & swap pcba like the Tragicforce 68 alternate pcb for MagicForce 68 (not TKL, but close)
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

Re: MEK - 3d printed modular ergonomic keyboard, teensy, mechanical switches
« Reply #34 on: Wed, 24 April 2019, 11:57:12 »
BUILDING is ALWAYS more expensive than BUYING. You build to make it your own, your selection of switches, pcb, case, etc... or if something you want does not exist in any current product.

TKL PCB selection help

Does it need to be fully programmable?

If you're just looking for that form factor, just about every gaming keyboard manufacturer carries a tkl. you can get other brands for less than $30 for a mechanical TKL.

Some brands even have replaceable controllers.... buy stock, buy alternate controller, plug it in, program it, done. Examples: Unloved Bastard Controller, Pegasus Hoof Controller. Or turn just about any usb keyboard into a programmable keyboard with Hasu's USB to USB Controller Converter.

You could also buy a cheap board & swap pcba like the Tragicforce 68 alternate pcb for MagicForce 68 (not TKL, but close)

Thank you very much. I'm not looking for a cheap keyboard. I like to spend on pcb, keycaps and switches, but I HATE expensive aluminium case. They are noisy, fragile and ugly.

Offline nevin

  • Posts: 1646
  • Location: US
Re: MEK - 3d printed modular ergonomic keyboard, teensy, mechanical switches
« Reply #35 on: Wed, 24 April 2019, 12:10:33 »
Thank you very much. I'm not looking for a cheap keyboard. I like to spend on pcb, keycaps and switches, but I HATE expensive aluminium case. They are noisy, fragile and ugly.

Apologies then, you mentioned you were looking for something inexpensive.

I don't really see any good and inexpensive set available for the tkl format. It seems that we have only the kprepublic ( or is it kbdfans?) 90 USD kit and nothing else.
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

Re: MEK - 3d printed modular ergonomic keyboard, teensy, mechanical switches
« Reply #36 on: Wed, 24 April 2019, 14:48:11 »
Thank you very much. I'm not looking for a cheap keyboard. I like to spend on pcb, keycaps and switches, but I HATE expensive aluminium case. They are noisy, fragile and ugly.

Apologies then, you mentioned you were looking for something inexpensive.

I don't really see any good and inexpensive set available for the tkl format. It seems that we have only the kprepublic ( or is it kbdfans?) 90 USD kit and nothing else.

Everything is inexpensive if you remove those stupid and ugly as ass aluminium case.

Offline iso

  • Thread Starter
  • Posts: 230
Re: MEK - 3d printed modular ergonomic keyboard, teensy, mechanical switches
« Reply #37 on: Wed, 24 April 2019, 20:02:47 »
Teensy 2.0 ++ = $23
Filament = about $7 (PLA) - I assume you have a 3d printer and you dont have to pay for plastics. Keycaps alone will take longer to print than the frame on regular printers
Aluminium pipe = $5
20x 4/40 nuts/bolts = $10
120 Gateron switches $100 brand new, you can get a used keyboard and take it apart/pull the switches for under $35
Your time  - This is the tricky one, if you`ve never done this before is gonna take 15+ hr. Let say you make $35/h, times 15, over $500.
The question is, is it important you assemble one from A to Z or is important you own one ? If you want to own one and dont have the time/patience, pay someone to put it together for you and only do the soldering/firmware.

Re: MEK - 3d printed modular ergonomic keyboard, teensy, mechanical switches
« Reply #38 on: Thu, 25 April 2019, 15:48:51 »
Maybe you should have started with the 35 usd / hour so I could have stopped reading your post right from the start  :)) This is a hobby.

Offline iso

  • Thread Starter
  • Posts: 230
Re: MEK - 3d printed modular ergonomic keyboard, teensy, mechanical switches
« Reply #39 on: Sat, 27 April 2019, 12:24:51 »
...no need to get scared, that was just a number, trying to help you figure out what`s worth time wise, usually this kind of project doesnt take 3 days, takes months, few hundreds stretched over few few months is not that much really, and you end up with a device you`ll be using for years and actually does what you need the way you need it with unprecedent level of customisation.


Offline iso

  • Thread Starter
  • Posts: 230
Re: MEK - 3d printed modular ergonomic keyboard, teensy, mechanical switches
« Reply #40 on: Mon, 29 April 2019, 00:04:35 »
Managed to make the 5x5 left console work.
I`m stuck, trying to figure out how to make the whole thing work, no matter how I add the pins/rows/columns wont let finish config and export the firmware.

["!","@","#","$","%",{x:2.75},"ESC","WIN","PB","SL","IN","CL","PS","DEL",{x:2.75},"^","&","*","-","+"],
["1","2","3","4","5",{x:2.75},"H","SHH","VU+","VD-","M1","M2","SHE","E",{x:2.75},"6","7","8","9","0"],
["q","w","e","r","t",{x:2.75},"<","1","2","3","4","5","6",">",{x:2.75},"y","u","i","o","p"],
["a","s","d","f","g",{x:2.75},"/","7","8","9","10","11","12","\\",{x:2.75},"h","j","k","l"],
["z","x","c","v","b",{x:2.75},"{","|","_","`","'","\"",";","}",{x:2.75},"n","m"],
[{y:-0.25,x:21.5},"u"],
[{y:-0.75,x:7.75},"(","=","?",":",".","~",",",")"],
[{y:-0.75,x:5},"RET","ALT",{x:9.5},"MEN","RET"],
[{y:-0.5,x:20.5},"l","d","r"],
[{y:-0.75,x:7.75},"[","CS","CA","FX","GEA","DES","PU","]"],
[{y:-0.75,x:5},"SPA","SHI",{x:9.5},"TAB","SPA"],
[{y:-0.25,x:8.75},"CC","CV","CX","CZ","CY","PD"],
[{y:-0.75,x:5},"BKSP","CTRL",{x:9.5},"CMD","BKSP"]

Offline nevin

  • Posts: 1646
  • Location: US
Re: MEK - 3d printed modular ergonomic keyboard, teensy, mechanical switches
« Reply #41 on: Mon, 29 April 2019, 04:21:21 »
it all depends on how it's wired. the code has to match the wiring schematic. i've never used keyboard layout editor for a keymap. i've always just edited the code in the keymap file. a keymap for a split board does not look like a split board keymap (it's code looks just like it would if it was a one piece keyboard). i mean, the keymap does not define where the different modules start and end, especially if you are wiring it straight through. for your MEK i was looking at it as an 8x18 matrix. 8 rows, 18 columns.

example of a 5x14 matrix keymap:
Code: [Select]
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {

/* QWERTY
 * ,------------------------------------------------.      ,------------------------------------------------.
 * |  Ins |   `  |   1  |   2  |   3  |   4  |   5  |      |   6  |   7  |   8  |   9  |   0  | Bksp | Del  |
 * |------+------+------+------+------+------+------|      |------+------+------+------+------+------+------|
 * |   -  | Tab  |   Q  |   W  |   E  |   R  |   T  |      |   Y  |   U  |   I  |   O  |   P  |   [  |   ]  |
 * |------+------+------+------+------+------+------|      |------+------+------+------+------+------+------|
 * |   =  | Esc  |   A  |   S  |   D  |   F  |   G  |      |   H  |   J  |   K  |   L  |   ;  |   "  |Enter |
 * |------+------+------+------+------+------+------|      |------+------+------+------+------+------+------|
 * | Pg Up| Shift|   Z  |   X  |   C  |   V  |   B  |      |   N  |   M  |   ,  |   .  |   /  | Home | End  |
 * |------+------+------+------+------+------+------|      |------+------+------+------+------+------+------|
 * | Pg Dn|Adjust| Ctrl | Alt  | GUI  |Lower |Space |      |Space |Raise | Left | Down |  Up  | Right|   \  |
 * `------------------------------------------------'      `------------------------------------------------'
 */
  [_QWERTY] = LAYOUT_ortho_5x14(
    KC_INS,  KC_GRV , KC_1   , KC_2   , KC_3   , KC_4   , KC_5   ,     KC_6   , KC_7   , KC_8   , KC_9   , KC_0   , KC_BSPC, KC_DEL ,
    KC_MINS, KC_TAB , KC_Q   , KC_W   , KC_E   , KC_R   , KC_T   ,     KC_Y   , KC_U   , KC_I   , KC_O   , KC_P   , KC_LBRC, KC_RBRC,
    KC_EQL,  KC_ESC , KC_A   , KC_S   , KC_D   , KC_F   , KC_G   ,     KC_H   , KC_J   , KC_K   , KC_L   , KC_SCLN, KC_QUOT, KC_ENT ,
    KC_PGUP, KC_LSFT, KC_Z   , KC_X   , KC_C   , KC_V   , KC_B   ,     KC_N   , KC_M   , KC_COMM, KC_DOT , KC_SLSH, KC_HOME, KC_END ,
    KC_PGDN, ADJUST , KC_LCTL, KC_LALT, KC_LGUI, LOWER  , KC_SPC ,     KC_SPC , RAISE  , KC_LEFT, KC_DOWN, KC_UP  , KC_RGHT, KC_BSLS
  ),

the visual example of the layout doesn't to anything as it's commented out, just a visual reference of the layout.

the actual "layout" is:
Code: [Select]
  [_QWERTY] = LAYOUT_ortho_5x14(
    KC_INS,  KC_GRV , KC_1   , KC_2   , KC_3   , KC_4   , KC_5   ,     KC_6   , KC_7   , KC_8   , KC_9   , KC_0   , KC_BSPC, KC_DEL ,
    KC_MINS, KC_TAB , KC_Q   , KC_W   , KC_E   , KC_R   , KC_T   ,     KC_Y   , KC_U   , KC_I   , KC_O   , KC_P   , KC_LBRC, KC_RBRC,
    KC_EQL,  KC_ESC , KC_A   , KC_S   , KC_D   , KC_F   , KC_G   ,     KC_H   , KC_J   , KC_K   , KC_L   , KC_SCLN, KC_QUOT, KC_ENT ,
    KC_PGUP, KC_LSFT, KC_Z   , KC_X   , KC_C   , KC_V   , KC_B   ,     KC_N   , KC_M   , KC_COMM, KC_DOT , KC_SLSH, KC_HOME, KC_END ,
    KC_PGDN, ADJUST , KC_LCTL, KC_LALT, KC_LGUI, LOWER  , KC_SPC ,     KC_SPC , RAISE  , KC_LEFT, KC_DOWN, KC_UP  , KC_RGHT, KC_BSLS
  ),

even in the code, the tabs/spaces are just there to help visualize.

so yours will have some blank spots in your matrix as your side clusters are not 8 rows high. which is fine.
i'll have to look to see if there is a 8x18 layout supported in QMK, if not, there's another file that will have to be created (i think)

send me the link to your layout on keyboard layout editor please. i'll be able to show you what i'm thinking about more easily.

hope this helps make sense of some of it.

i can't work through all this right now, but we'll get you squared away.
« Last Edit: Mon, 29 April 2019, 04:25:22 by nevin »
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 nevin

  • Posts: 1646
  • Location: US
Re: MEK - 3d printed modular ergonomic keyboard, teensy, mechanical switches
« Reply #42 on: Mon, 29 April 2019, 04:38:01 »
some stuff defined in config.h (again, an example, not your code)
specifying number of rows & columns, pin assignments, diode direction, etc...

Code: [Select]
#include "config_common.h"

/* USB Device descriptor parameter */
#define VENDOR_ID       0xCB10
#define PRODUCT_ID      0x1157
#define DEVICE_VER      0x0100
#define MANUFACTURER    Keebio
#define PRODUCT         The Viterbi Keyboard
#define DESCRIPTION     Split 5x14 ortholinear keyboard

/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 10
#define MATRIX_COLS 7

// wiring of each half
#define MATRIX_ROW_PINS { D4, D7, E6, B4, B5 }
#define MATRIX_COL_PINS { F5, F6, F7, B1, B3, B2, B6 }
#define SOFT_SERIAL_PIN D0

/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW

/* Set 0 if debouncing isn't needed */
#define DEBOUNCING_DELAY 5
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 iso

  • Thread Starter
  • Posts: 230
Re: MEK - 3d printed modular ergonomic keyboard, teensy, mechanical switches
« Reply #43 on: Mon, 29 April 2019, 10:46:03 »
Thanks @nevin
I mashed all the keys together and ignored the... design, added 5 extra keys to simplify it, 16x8
Pin wise, becomes D0,D1,D2,D3,D4,D5,D6,D7,C0,C1,C2,C3,C4,C5,C6,C7 - B0,B1,B2,B3,B4,B5,B6,B7
Ill give that a try, I might finish it before weekend, we`ll see.


["!","@","#","$","%","ESC","WIN","PB","SL","IN","CL","PS","DEL","^","&","+"],
["1","2","3","4","5","H","SHH","VU+","VD-","M1","M2","SHE","E","6","7","0"],
["q","w","e","r","t","<","1","2","3","4","5","6",">","y","u","p"],
["a","s","d","f","g","/","7","8","9","10","11","12","\\","h","j","macro"],
["z","x","c","v","b","{","|","_","`","'","\"",";","}","n","m","macro"],
["RET","ALT","MEN","RET","up","(","=","?",":",".","~",",",")","*","-","macro"],
["SPA","SHI","TAB","SPA","down","[",{x:-1},"right","CS","CA","FX","GEA","DES","PU","]","8","9","macro"],
["BKSP","CTRL","CMD","BKSP","left","CC","CV","CX","CZ","CY","PD","k","l","i","o","macro"]


Offline nevin

  • Posts: 1646
  • Location: US
Re: MEK - 3d printed modular ergonomic keyboard, teensy, mechanical switches
« Reply #44 on: Tue, 30 April 2019, 08:58:32 »
sorry, i desperately wanted to reply yesterday but was buried with the last of the vehicle wraps.

i see what you did but the keymap has to match the wiring or you won't get the character you are expecting.

found a way to show you what i'm talking about.

go here
https://kbfirmware.com/

- dump layout into paste box (this is a optimized/condensed layout for wiring & keymap)
Code: [Select]
[{c:"#b8beff"},"!","@","#","$","%",{c:"#abffc3"},"ESC","WIN","PB","SL","IN","CL","PS","DEL",{c:"#ffabab"},"^","&","*","-","+"],
[{c:"#b8beff"},"1","2","3","4","5",{c:"#abffc3"},"H","SHH","VU+","VD-","M1","M2","SHE","E",{c:"#ffabab"},"6","7","8","9","0"],
[{c:"#b8beff"},"q","w","e","r","t",{c:"#abffc3"},"<","1","2","3","4","5","6",">",{c:"#ffabab"},"y","u","i","o","p"],
[{c:"#b8beff"},"a","s","d","f","g",{c:"#abffc3"},"/","7","8","9","10","11","12","\\",{c:"#ffabab"},"h","j","k","l"],
[{c:"#b8beff"},"z","x","c","v","b",{c:"#abffc3"},"{","|","_","`","'","\"",";","}",{c:"#ffabab"},"n","m",{x:1,c:"#fcc683"},"u"],
[{x:3,c:"#00efff"},"RET","ALT",{c:"#abffc3"},"(","=","?",":",".","~",",",")",{c:"#ff3333"},"MEN","RET",{c:"#fcc683"},"l","d","r"],
[{x:3,c:"#00efff"},"SPA","SHI",{c:"#abffc3"},"[","CS","CA","FX","GEA","DES","PU","]",{c:"#ff3333"},"TAB","SPA"],
[{x:3,c:"#00efff"},"BKSP","CTRL",{x:1,c:"#abffc3"},"CC","CV","CX","CZ","CY","PD",{x:1,c:"#ff3333"},"CMD","BKSP"]

218264-0

link to edited/condensed layout


- this will give you an idea what the firmware is expecting the wiring to look like

218266-1

- and this is what the keymap will look like for the above wiring
Code: [Select]
KEYMAP(
KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_ESC, KC_LGUI, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_DEL, KC_CIRC, KC_AMPR, KC_ASTR, KC_MINS, KC_PLUS,
KC_1, KC_2, KC_3, KC_4, KC_5, KC_H, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_E, KC_6, KC_7, KC_8, KC_9, KC_0,
KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LABK, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_RABK, KC_Y, KC_U, KC_I, KC_O, KC_P,
KC_A, KC_S, KC_D, KC_F, KC_G, KC_SLSH, KC_7, KC_8, KC_9, KC_NO, KC_NO, KC_NO, KC_BSLS, KC_H, KC_J, KC_K, KC_L,
KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LCBR, KC_PIPE, KC_UNDS, KC_GRV, KC_QUOT, KC_DQUO, KC_SCLN, KC_RCBR, KC_N, KC_M, KC_U,
KC_NO, KC_LALT, KC_LPRN, KC_EQL, KC_QUES, KC_COLN, KC_DOT, KC_TILD, KC_COMM, KC_RPRN, KC_NO, KC_NO, KC_L, KC_D, KC_R,
KC_NO, KC_NO, KC_LBRC, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_RBRC, KC_TAB, KC_NO,
KC_NO, KC_LCTL, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO),


i've never used this tool (kbfirmware.com) but found it to show you an example of how i'd lay out the wiring & keymap

if you do end up trying this site for your firmware, here's some specifics for your setup
- pick AT90USB1286  from the controller pop-down on the pins tab (AT90USB1286 = teensy ++2.0)
- specify rows & colums & mess with the rest of the settings.

you can keep the modules separated by the jtag connectors like you were originally planning. should use 13 out of the 14 pins of the connector. (8 rows & 5 columns) controller being in the middle/center section.

218268-2
« Last Edit: Tue, 30 April 2019, 09:05:14 by nevin »
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 iso

  • Thread Starter
  • Posts: 230
Thanks again @nevin for everything
I forgot to get out of incognito mode on my browser and after spending about 40 min to configure keys and all that, I could not save the source/hex file because some of the website functionality was limited.... so I had to doit again :)

After another 20 min, it was faster because I understood how to do everything, I got the HEX, flashed the firmware on my Teensy ++ and right after I plug it in, will start adding commas and semicolons without user imput. No wires attached, bare board just the firmware.  Not sure what is happening and how to stop it from doing that from the start.
If I "press" any key, will stop and behave normally.

Anyway, I attached the files I got from kbfirmware.com just in case someone wants to give it a tray and play with it.
I will finish this even if the "bug" continues, does not bother me if starts typing when I first plug it in.
Is gonna bother me if randomly starts doing that or gets worse, starts executing macros.

Layout to be aded on kbfirmware.com

["!","@","#","$","%",{x:2.75},"ESC","WIN","PB","SL","IN","CL","PS","DEL",{x:2.75},"^","&","*","-","+"],
["1","2","3","4","5",{x:2.75},"H","SHH","VU+","VD-","M1","M2","SHE","E",{x:2.75},"6","7","8","9","0"],
["q","w","e","r","t",{x:2.75},"<","1","2","3","4","5","6",">",{x:2.75},"y","u","i","o","p"],
["a","s","d","f","g",{x:2.75},"/","7","8","9","10","11","12","\\",{x:2.75},"h","j","k","l"],
["z","x","c","v","b",{x:2.75},"{","|","_","`","'","\"",";","}",{x:2.75},"n","m"],
[{y:-0.25,x:21.5},"u"],
[{y:-0.75,x:7.75},"(","=","?",":",".","~",",",")"],
[{y:-0.75,x:5},"RET","ALT",{x:9.5},"MEN","RET"],
[{y:-0.5,x:20.5},"l","d","r"],
[{y:-0.75,x:7.75},"[","CS","CA","FX","GEA","DES","PU","]"],
[{y:-0.75,x:5},"SPA","SHI",{x:9.5},"TAB","SPA"],
[{y:-0.25,x:8.75},"CC","CV","CX","CZ","CY","PD"],
[{y:-0.75,x:5},"BKSP","CTRL",{x:9.5},"CMD","BKSP"]


« Last Edit: Wed, 01 May 2019, 19:03:42 by iso »

Offline nevin

  • Posts: 1646
  • Location: US
Well, there's a handful of keys that you have noted in keyboard layout editor that do not translate to actual key codes when pasted into the firmware site. Believe some are noted to be shortcuts and or macros. I'll sift through it & ask you what they are shortly.
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 iso

  • Thread Starter
  • Posts: 230
True, the layout was created on a different website and its very hard to get the right keys, for eg: wont let me separate 2 from @, but the firmware I uploaded and the json should have everything minus the macros, I havent decided yet what to add. All macros are set to "APP" as key for now

Offline nevin

  • Posts: 1646
  • Location: US
can you confirm how you have it wired? where the thumb clusters are tied in and the arrow block. the keymap has to match the wiring schematic. you can draw it out if that's easier.
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 nevin

  • Posts: 1646
  • Location: US
can you clarify what the yellow keys are.
also, are you differentiating between return & enter? (return being on far right of alpha cluster on normal keyboard, enter being on number pad) i know there's a difference between the two keys on my mac.

218433-0
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