Author Topic: Maltron 3D ergonomic rewiring + Teensy project  (Read 1053 times)

0 Members and 1 Guest are viewing this topic.

Offline escapu

  • Thread Starter
  • Posts: 4
Maltron 3D ergonomic rewiring + Teensy project
« on: Thu, 10 September 2020, 17:05:58 »
Hi everyone - this is my first post, I’m new to keyboard building and English isn't my first language so please go easy on me.

I am a software engineer by trade, and I have always had problem with RSI, so I have basically stuck with Microsoft natural keyboards & Kensington trackballs for the past 20+ years. I have used mechanical keyboards, but never to an extent where I've built my own.

I have always been interested in 3D ergonomic keyboards like Maltron & Kinesis, however not wanting to drop £400+ on a keyboard that I wasn't sure I could get used to, I have never taken the plunge. About 7 years ago(2013), I picked up an old second hand AT/PS2 Maltron keyboard (pre-L89 layout, from 1998) off ebay for about £65, thinking I could use a usb converter to TRY and see if it suits.

A couple of issues became apparent pretty quickly.
1) The keyboard just wouldn't register my keypresses fast enough - I'm still not sure whether it's the converter or n-key rollover issue (the keyboard seems to have one diodes per row), but I have to type really slow, like at 2 keys per second, otherwise it will miss my key press. (is that what ghosting is?)
2) I just can not get used to some of the layout, and my hand knows some of the shortcuts for the IDE better than I do, (with some key shortcuts requiring 3+ keys at the same time) I need the layout to be at least roughly similar to the ISO / Mac layout.

So after emailing Maltron about perhaps getting them to ‘upgrade’ the innards and getting refused, I chucked it in storage thinking I just wasted money.

Come 7 years & a pandemic later, it looks like I have finally come across a group of enthusiasts on web who shares instructions to build your own keyboards with programmable microprocessors are being made cheap enough it seemed obvious that I had get my keyboard back out to get it rewired.

I thought I'd share my project so it will motivate myself to finish, perhaps get some advise when I get stuck, and in the end, maybe it will help some other people too :D

I have soldered before, I know basics of electrics & electronics, but I’ve never had to apply all that to a practical use before. Although I work with computers, high level programming is my bread and butter, so wish me luck on my journey and hopefully this post will keep getting updated until I succeed/fail :D

-R

251506-0
Sorry Its a bit dusty - it has been in storage for past 7 years.

251508-1
Seems to be Cherry MX Black - I think I will replace with Gateron Reds

251510-2
Opened up the back - Its really nice to see the insides signed with date & build number

251512-3
Current PCB

251514-4
Also interesting to see the switches are only pressure fitted

Offline escapu

  • Thread Starter
  • Posts: 4
Re: Maltron 3D ergonomic rewiring + Teensy project
« Reply #1 on: Thu, 10 September 2020, 17:12:21 »
I have started out by thinking about wiring matrix.

251516-0
First, add the extra keys to Kinesis layout on http://www.keyboard-layout-editor.com to make it look the same

251518-1
copy the raw data & plonk it into https://kbfirmware.com/ - notice how it created a matrix of 10 rows and 20 columns

251520-2
which, just for fun, I reduced down to matrix of 9 rows and 18 columns. Maybe I will regret this when it comes to wiring.

-R


Offline Rayndalf

  • Posts: 369
Re: Maltron 3D ergonomic rewiring + Teensy project
« Reply #2 on: Thu, 10 September 2020, 17:49:28 »
The simpler the matrix the better, IMO a teensy with more pins may be worth the ease of wiring. Something like those amoeba single key PCB could also simplify wiring.

I use a Kinesis as my daily driver and I love the placement of the arrow keys, pg up/down and home / end. Maltrons are pretty rare, so it'd be easy enough to trade it for a Kinesis if you think that would work better.

Here's a deathtrap I threw together at some point.

Offline escapu

  • Thread Starter
  • Posts: 4
Re: Maltron 3D ergonomic rewiring + Teensy project
« Reply #3 on: Thu, 10 September 2020, 18:06:12 »
Oh wow. My first reply! Thank you - I didnt realise that single key PCBs were even a thing! This will make things much much easier - and now Im starting to think maybe I can add LEDs even.
As to Kinesis, I have considered it, but I think I need my arrow keys in 凸 layout.. Can't teach the old dog of my brain to learn new layout haha.
I am currently thinking that I will move the 10keys to leftmost of the centre section, so I can fit the arrow keys to bottom right. I haven't finalised the layout as programmable boards have the luxury to do so right?

Offline nevin

  • Posts: 878
  • Location: US
Re: Maltron 3D ergonomic rewiring + Teensy project
« Reply #4 on: Fri, 11 September 2020, 05:26:50 »
mac's definitely do not play well with full n-key roll over (NKRO), this is a voodoo trick that only usually only works on windows. 6-key roll over is standard on usb and all you need. some older protocols were only 2-key roll over (no 4-key commands/shortcuts)

what adapter were you using?

before you do a full rewire, try a different converter. you can build one with a teensy 2.0 and can remap the keys in the converter. it's a great trick for older boards.
- Hasu's TMK PS2 to USB
      GH page - https://geekhack.org/index.php?topic=14618.0
      online keymap editor for hasu's projects - http://www.tmk-kbd.com/tmk_keyboard/editor/
      git - https://github.com/tmk/tmk_keyboard/tree/master/converter/ps2_usb
      full list of hasu's converters - https://geekhack.org/index.php?topic=72052.0
- Soarer also has one - https://geekhack.org/index.php?topic=17458.0


--


if doing a full rewire, here are some helpful tutorial/build logs
 - https://geekhack.org/index.php?topic=87689.0
 - https://deskthority.net/viewtopic.php?t=1067

i see you already found the kbfirmware site. (good place to start) it's a slightly older version of QMK but a good way to get your matrix & wiring figured out for a handwired board.
- i'd suggest using a teensy ++2.0 (which is AT90USB1286 in the controller selection in kbfirmware)
- you can start with the kbfirmware site or we can help you compile QMK from source. it's really not that bad and with your experience with being a programmer, it should be easy.

basically, there's:
- a config file - where you specify which pins used on controller, etc
- the keyboards electrical matrix and physical switch layout (just placement of switches, not the keymap)
- the keymap - this is where you specify what the switch will register when pressed. easy to do by hand but there are a couple WYSIWYG frontends as well (QMK Configurator, VIA). though QMK Configurator probably won't work for this instance and i haven't tried VIA for a teensy++2.0 powered board yet though it may be possible.
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 escapu

  • Thread Starter
  • Posts: 4
Re: Maltron 3D ergonomic rewiring + Teensy project
« Reply #5 on: Fri, 11 September 2020, 08:03:30 »
The converter I had was again 7 year old off the shelf model.
251553-0
Again, thank you very much. I did not know ps2 to USB converting controllers were even a thing.
As I would need a Teensy ++ 2.0 anyway for full wiring, it really would be a good idea to try that out first, and avoid rewiring!

Offline nevin

  • Posts: 878
  • Location: US
Re: Maltron 3D ergonomic rewiring + Teensy project
« Reply #6 on: Fri, 11 September 2020, 09:31:15 »
my guess is it's something with the converter that's causing issues. (could be missing a pullup resistor)

teensy 2.0 has a different processor than teensy++2.0 (confusing, i know)
- teensy 2.0 & pro micro are ATMEGA 32U4
- teensy++2.0 is AT90USB1286

for full rewire - teensy++2.0
for converter - teensy 2.0 or pro micro (super cheap, make sure to get 5v 16Mhz, as there is also a 3.3v 8Mhz version which you don't want)
« Last Edit: Fri, 11 September 2020, 09:33:17 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