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

0 Members and 1 Guest are viewing this topic.

Offline iso

  • Thread Starter
  • Posts: 125
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: 125
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: 697
Watching with interest  :D

Offline iso

  • Thread Starter
  • Posts: 125
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: 125
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: 125
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: 367
  • 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: 125
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: 125
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: 367
  • 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: 125
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: 367
  • 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: 125
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: 28
  • 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.

Offline iso

  • Thread Starter
  • Posts: 125
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: 518
  • Location: A can of beans in the cupboard
  • AKA Bitba_t. Loves keebs and Quora.
    • My promotion link
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: 125
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: 125
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: 125
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: 367
  • 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: 125
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: 125
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: 367
  • 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: 125
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: 367
  • 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: 125
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: 367
  • 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: 125
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: 125
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: 367
  • 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: 367
  • 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: 367
  • 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: 367
  • 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: 125
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: 125
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: 125
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: 367
  • 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: 367
  • 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: 125
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: 367
  • 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: 125
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: 367
  • 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: 125
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: 367
  • 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: 367
  • 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

Offline iso

  • Thread Starter
  • Posts: 125
PB = Pause break
SL = Screen lock
IN = Insert
CL = Caps Lock
PS = Print screen
H = Home
SHH = Shift + Home
VU+ = Volume up
VD- = Volume down
M1 = Macro1  (Open Firefox, open 5 diff pages, log in - Make it easy to start work in the morning)
M2 = Macro 2 (Open Firefox, open diff. websites to check various input fields, run a terminal, run a scraper, create a text file on desktop, paste, save...)
SHE = Shift + End
E = End
CS = Control + S
CA = Control + A
FX = Firefox
GEA = Control panel
DES = Miimize everything, show desktop or open a folder showing the files on desktop for active user.
PU = Page up
CC = Control + C - Copy
CV = Control + V - Paste
CX = Control + X - Cut
CZ = Control + Z - Undo
CY = Control + Y = Redo
MEN = Right click on application window/mouse cursor

Yes, left console tested, is working perfectly. I dont mind running wires from center console to the thumb cluster, the thumbs piece can be easily detached with the center console.
I`ll use enter, not return but I like the return icon :))

Offline nevin

  • Posts: 367
  • Location: US
thumb clusters are going to be part of the center console?    ....but they're attached to the side modules.

i can work on fixing the keymap & work on macros but we're at a standstill until i can see where every key is wired. the firmware needs to know what key is where so it send the correct scan code.

sticky initial key, make sure all switches are functioning properly (not stuck or binding) i know you said some of your switches were second hand. switch plates can oxidize as well and act like a dead switch. or if your getting bouncing, you can quickly/repeatedly press the switch to get it back to functioning normal. (i had this with some old alps switches) and you don't have any shorts. you always have to work the bugs out of a new board.
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: 367
  • Location: US
what's CMD?  i would guess command (mac... would be GUI)
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: 367
  • Location: US
what OS are you running? some of these macros are probably not capable of performing some of the actions you'd like.
but there might be another option to automate some of this stuff.
Quote
M1 = Macro1  (Open Firefox, open 5 diff pages, log in - Make it easy to start work in the morning)
M2 = Macro 2 (Open Firefox, open diff. websites to check various input fields, run a terminal, run a scraper, create a text file on desktop, paste, save...)

all these are programmed:

m1      SHH = Shift + Home
m4      SHE = Shift + End
m5      CS = Control + S
m6      CA = Control + A
m10    CC = Control + C - Copy
m11    CV = Control + V - Paste
m12    CX = Control + X - Cut
m13    CZ = Control + Z - Undo
m14    CY = Control + Y = Redo
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: 125
I appreciate the help, but take it easy man, I like to figure things on my own, sooner or later I`ll get it to work.  Plus the first itteration is never perfect.
OS ? Windows 10 and Linux Lite.
About the keys being sent automatically, there were no wires/switches soldered on the teensy, bare board, just plugged in to the USB right after firmware flash, so there is no way the switches are faulty (might be but doesnt apply here)
I might have to get a new Teensy.
Thumblusters are attached to the left-right consoles but the way generated for me, I have to wire it from the center, makes no difference really.
For the macros, I can have F13, f14, etc and make a shell/cmd open a batch file and run that way, more efficient, was just a thought.
CMD is gonna be WINDOWS + R

Offline nevin

  • Posts: 367
  • Location: US
sorry.

this is how i imagined it being wired
218451-0

and attached is the json config with edits & added macros. just click on the upload button & select this json file. everything will be there.
« Last Edit: Thu, 02 May 2019, 00:57:07 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: 125
Fantastic, thanks again @nevin.

Offline iso

  • Thread Starter
  • Posts: 125
Will it take a complete rewrite of both firmware to... "combine" the pmw3360 sensor and keyboard ? I`d like to have a trackball on this keyboard but without "combining" the firmware its gonna take 2 teensy, the 2.0++ got enough pins left for the pmw3360 and I see no reason to use another USB port if there`s a way to have both on the 2.0 ++. Thoughts ?

Offline iso

  • Thread Starter
  • Posts: 125
Forgot to mention, there is no E2 pin, messed with my head for a good half hour, trying to figure out why some of the keys are not working. Got rid of all the E`s and moved everything on the firmware on F`s - Columns.


Offline nevin

  • Posts: 367
  • Location: US
@iso - combining firmware (keyboard & mouse).... would take a good bit, yes. QMK does have support for a couple pointing devices, more for trackpoints & trackpoads. nothing as advanced as the sensor we are using. in combining, i would be a little concerned there might be performance issues because of the additional load on the processor, and/or firmware size issues (getting all of it to fit on one teensy *flashing). plus, i haven't finalized the firmware for my MEM yet. usb hub or host shield would be another option to combine before connecting to the desktop.

firmware for trackball, only one axis will need inverted. will vary which axis, depending on orientation of optical sensor. will look at this first.

kbfirmware site... it's not perfect, but it's a great tool & jump starter to get from one-off custom hand-wired to workable firmware. i was also using the condensed version of your physical layout because of how it would be wired & recognized by the firmware.

Quote
trying to figure out why some of the keys are not working.
did you finish wiring the MEK? are you using it yet? what are your thoughts?
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: 125
Left console only, I had to pause that and make myself some new hardware, illuminated jeweler`s headband loupe.
Here`s the left console working. Will take another 4hr max to finish it... I need to find the time.

218686-0

Offline nevin

  • Posts: 367
  • Location: US
nice.

Quote
I need to find the time.
i know what you mean.
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: 125
Found some time, re-soldered left console, finished center and right. Only the thumbs left to do.
The JTags I bought are made of.... chinesium... of wax, not sure, I have a 20watt soldering iron, lowest wattage I could find,  on purpose, plus I made the tip extra long,  the plastic on these JTags is real bad, destroyed 5 before I could use one and I was very careful to not overheat the pins.
Thats what happens when you buy cheap no-name hardware  :))

218804-0

Offline nevin

  • Posts: 367
  • Location: US
(....wolf whistle) nice.

yeah, anything like that, put the two halves of the connector together before you start soldering. that way if it does get a little soft, it will be held in place by the other half of the connector till it cools and alignment of the pins can't move.
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: 125
Problems
I cant make the Teensy stop sending keys, flashed the firmware several times, different setup, desoldered everything again just to make sure I dont have a short somewhere, used 3 different machines and 3 diff cables, same problem.
Im talking about having the Teensy plugged in and nothing soldered to the pins, bare board.
First I had the teensy automatically sending RSHIFT, END, F6, F12, ; and ,.
The first 4 are only sent once at plug-in, last 2 are repeating/looping forever
Went back to the same website, removed and replaced those keys with something radom and re-generated the HEX, flashed the new firmware.
New keys are being sent, RSHIFT, END, F12, PAGEUP, PAGEDOWN
The first 3 are only sent once at plug-in, last 2 are repeating/looping forever
Now, I`ve never used RSHIFT anywhere on my setup so I cant disable that but given the newly added keys all I can only say the website is buggy and the HEX will never work as intended
On previous posts I`ve included the source code generated by same website, if someone can get that and look into it and check if me barking about the website being buggy is legit i`d appreciate it :))
I ordered another teensy, new temperature controlled solderign iron and new type of soldering flux, just to make sure I didnt damaged the circuitry, when the Tennsy gonna be here I`m not gonna solder anything to it but i`ll flash the 2 versions of the firmware.
So, for the next 4, 5 days I`ll focus on something else

On the positve note
I also bought a ball/roller massger, took it apart and now I have a 54mm hard plastic perfectly round ball for under $7
Modelled and printed a case/support for it, I`m gonna use the same sensor ; pmw3360  to create a module or attach it to the right console
Destroyed a small bearing, took the tiny steel bearing balls and heat insterted into the 3d printed support, 3 supports, rolls nice and smooth, not as smooth as the real deal where zirconia balls are being used but is good enough for under $7

218999-0


« Last Edit: Thu, 09 May 2019, 14:27:08 by iso »

Offline nevin

  • Posts: 367
  • Location: US
i'll look at the firmware, do a build on my system with your map etc. i have a unused teensy 2++ i can test on as well. will try for this evening but not sure.

flip your mouse over & test if the ball works with the sensor before you get too much farther. with optical sensors in trackballs, the material of the ball can be tricky to get one that reads well. i tested it with a racquetball to see what axes need flipped.
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: 125
DPI goes all the way to 12k, this sensor is a monster, works well with the ball I extracted, even works with a shiny stainless steel ball I`ve got.
Does not matter which axis is being flipped, rotating the sensor 45% clockwise/counterclickwise on horizontal plane will take care of the "wrong" orientation, this becomes a problem when cable management/USB plug will mess with the overall design.
Thanks for looking into the source code @nevin.

Offline nevin

  • Posts: 367
  • Location: US
good to hear on the different balls working. guess that's not as much of an issue as i originally thought.

you can always wire a usb cable straight to the teensy & avoid the onboard connector or use in an extension to relocate it somewhere else (common in handwired vintage keyboards)
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: 125
Update:

Finished designing most of the trackball elements, minus the sensor/teensy case which I`m gonna take from my mouse and adapt it for the trackball.
The sensor height/distance from the ball is adjustable by adding metal spacers/washers or nuts.
The scroll/jog has 44, 4mm holes for round magnets, those will trigger the reed switches/encoder, the ring is swappable, meaning, if you decide to go with less "scrolling power" you can swap the wheel without going to control panel and change settings for the scroll
Full metal bearing ball for the scroll piece, this is very smooth and will never go bad, as in develop play/become lose - https://www.amazon.com/gp/product/B007HS0HU6
The bottom picture is showing on the right side the steel screw/bolt, this can get close/away from the magnets. This will create "magnetic drag". If you want your scroll wheel to have hard/smooth/non existing feedback as where the next line is gonna stop.
Will use same sensor/teensy 2.0 like my mouse - You will be able to change the orientation of the sensor.
The tiny steel balls are easily inserted by holding them with tweezers and heating with a ligter/torch then aplying into position  (Last picture - I`ve misplaced those at first)
I will only upload the model if requested, please keep in mind that things will change the moment I have the new sensors shipped to me.

Its green because I`m testing and I wont use good filament  :thumb:
« Last Edit: Wed, 15 May 2019, 12:41:55 by iso »

Offline nevin

  • Posts: 367
  • Location: US
very nice. ball is sitting quite proud compared to most other trackballs i have or seen. i like it. more overall surface exposed.

will get you inverted axis's of current firmware soon as i can. (should be in the next day or so)
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: 125
Yes, lots of surface exposed, althought I`m little conflicted about that, the ball is loose as in if I turn it upside down, will fall. That translates into if you hit the desk/keyboard support with your knee hard enough (we all did it) the ball might jump out of the socket, if lands on hard surface might chip the ball. Modelling a lip to keep it in place is a solution but will take away from whats beautiful about it :)

One solution would be to have a steel ball coated in hard material (ceramic) and a round magnet under the plastic, strong enough to keep it in place. without adding the extra material. But that wont be cheap :)

Offline nevin

  • Posts: 367
  • Location: US
i wouldn't worry about it. don't over think it. it's something that makes it unique. and how many times do you pick up your trackball or turn it upside down? now, if this will be mounted at an angle on your MEK, that might be an issue.

like the magnet idea too, even if not practical/cost effective.
depending on how strong the magnet is, it might inhibit ball movement anyway.
« Last Edit: Wed, 15 May 2019, 14:34:47 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: 125
My Teensy 2.0 ++ arrived today, turns out the firmware that is generated by kbfirmware.com is bad.
Anyone used EasyAVR ? Doesnt look like supports 22 column x 8 row layouts but im not that familiar with the software anymore, changed alot from 3years ago. https://github.com/dhowland/EasyAVR/releases
I still have the Arduino IDE as last resort if EasyAVR is unusable for my specific requirements.
On the 3d printer I have the base of the trackball printing, updating soon with pictures.

Offline nevin

  • Posts: 367
  • Location: US
Probably just a bug in the Web configurator. Keymap & stuff should be good, I'll just build in the desktop enviroment.
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: 125
Left to do on the trackball.
1. Model the case/support for 5 Gaterons  - Right/left/middle click, back/forward (DPI switching)
2. Scroll ; Rotary encoder placement/container

219625-0

219627-1

219629-2

Yes, the whole trackball module is quite big, mainly because I`m using a 54mm ball, I believe the regular ones use 40mm.
Green doesnt look that bad when combined with other colors :)

Offline iso

  • Thread Starter
  • Posts: 125
I been trying to make a few keys working using the Arduino IDE, I dont even know where to start with this layout, I might have to go back to the same website and use that firmware which I managed to make it work to some degree
And havng the source code looks like could be easier to figure out why the keys are sent automatically and prevent that than trying to figure out the matrix on my own on a 8 x 22 config


Offline nevin

  • Posts: 367
  • Location: US
Arduino IDE... no idea how you specify scanning rows & columns in that. pretty easy for single key but using a matrix is something totally different.

with the QMK firmware... i'll look at it soon as i can (probably later today) my guess is, it's just a mixup between the matrix you specified & what's typical/normal (usually a block without spaces between rows/columns like the examples i was showing you). as the site just allows you to WYSIWYG config a bunch of the variables in a boilerplate QMK build.
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: 125
I managed to wire everything except the left-right-down-up arrow keys, its middle of the night here and I will continue tomorrow or next 2 days and re-update.
When I bought the JTag connectors I thought that 14 pins will do, the center console got 8 col by  8 row which require 16 pins.
So, I will have to order new jTags and re-model the console to fit.
Also pins from B0 to B7 are the rows, each console (x3) will have a wire running of off that, 18 wires, a new design where I have to add a PCB breadboard to the back of the teensy is required, so the teensy case/container will change too, as I see it, in max 2 weeks I will have MEK running.
After that I will focus on new module designs and functionality.

Offline nevin

  • Posts: 367
  • Location: US
the 14 pin connectors will work. you just need to get the rows & columns from the outside clusters to center console. see below.

sorry.

this is how i imagined it being wired
(Attachment Link)

and attached is the json config with edits & added macros. just click on the upload button & select this json file. everything will be there.


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: 125
Update, all wired up except the thumb keys, which previously I had wired but since the last post I had to re-wire various parts of it, the connectors are hard to solder, low quality metals were used and what looks like a solid joint just snaps off after I`m trying to push it inside the 3d printed case, I have to find a diff. way or type of connector to link the Teensy to the modules.
I hope by Monday (3 days from now) I`ll post another update with a video of me using it.


Offline iso

  • Thread Starter
  • Posts: 125
Update:

Its all wired up and fully functional, I have to learn how to add my own macros and how complex those can be.
Best news of this update is that B0 is the culprit for sending certain keys automatically every time I`d plug in the teensy.
Not entirely sure why but now I`m not using that pin and routed the whole row to E1, solved the problem, its super stable now.
If someone can enlighten me on why would that be happening...
Sorry that I automatically blamed kbfirmware.com for this and thank you for having the web service up and allow me to map my device  :thumb:

Here`s a speed up low res video, I will have a better one soon where I separate the 2 video sources, with the phone is hard to capture both and make it look decent too.


Offline nevin

  • Posts: 367
  • Location: US
YAY! Congrats!

B0 - Take a look at the attached pinout. Looks like there is something else assigned to pin 10 = B0 (PCINT_) could help explain the reason it's doing it at startup....
220039-0
Taken from the data sheet

Little clip - how to create & assign macro in KBFirmware

Documentation on QMKs macro implementation As this is what the KBFirmware site builds for you. Again for some of the more advanced ones (opening tabs, logging in, manipulating windows, etc...) you might want to run a app/macro program on your PC to watch for certain key combinations to manipulate certain windows/apps (look for scripting/automating)
Here's a link to one discussion (old thread, just to give you an idea)
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 Sintpinty

  • Carbon Based Life Form
  • Posts: 518
  • Location: A can of beans in the cupboard
  • AKA Bitba_t. Loves keebs and Quora.
    • My promotion link
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.

Really interested about those keycaps

Offline iso

  • Thread Starter
  • Posts: 125
Thank you @nevin, always helpful, very much appreciated

"Really interested about those keycaps"
Now that I`ve been using the keyboard for few hours here and there I can tell what I`ve learned about this keyboard so far
With super-flat keys precision is very important.
What do I mean by that ?
No matter how big/small your hand is, you still gonna have to move your fingers left/right, meaning you`ll never hit the keycap right in the center.
Why is that important ? Regular keycaps  got a "skirt" for a good reason, if you hit the key off-center, the other surrounding keycaps skirt is gonna "guide" your finger and will give you a feedback about how off you are and slowly you get to "learn the layout", be precise.
With flat keys there is no guiding If you happen to have much smaller hands or much larger than mine, at the beginning you gonna have a really hard time typing and I`m not exagerating, I got a buddy of mine very excited to come over and try it, hes a wrestler, got thick short fingers and wide palm, it was funny seeing him trying to press just one key without hitting adjacent keys, he had no choice but to start pecking. "I want one anyway" he said after 3 min
So I guess what I`m saying is be ready to be disappointed at first, flat keys will force you to be precise.
Im looking forward to seeing other people building it and uploading pictures.