Page 1 of 1

Replacement controller for Model M.

Posted: 02 Feb 2015, 11:00
by andrewjoy
I have been thinking, would it be possible to build a replacement controller for a Model M? I know its possible to do a USB conversion but i am not a huge fan of doing that. I have also seen something about bluetooth for them but no details.

I would look into doing it myself but i am not 100% sure where to start, i guess there is custom keyboard firmware out there that would work so i will look into that.

I was wondering if we could get the flat flex connectors so its a drop in solution.

I was also thinking if it would be possible to improve the key rollover, not you aint going to get n-key without major modification to the matrix but would it be possible to add some diodes on the replacement controller pcb to improve it some.

I have also never designed a PCB, so i will have to look into that as well, the plan would be for through hole so its easy for me and my fat fingers to build at home.

Oh does anyone have any ideas how to quieten down a model m spacebar ?

Posted: 02 Feb 2015, 12:50
by Mal-2
andrewjoy wrote: I have been thinking, would it be possible to build a replacement controller for a Model M? I know its possible to do a USB conversion but i am not a huge fan of doing that. I have also seen something about bluetooth for them but no details.

I would look into doing it myself but i am not 100% sure where to start, i guess there is custom keyboard firmware out there that would work so i will look into that.

I was wondering if we could get the flat flex connectors so its a drop in solution.

I was also thinking if it would be possible to improve the key rollover, not you aint going to get n-key without major modification to the matrix but would it be possible to add some diodes on the replacement controller pcb to improve it some.

I have also never designed a PCB, so i will have to look into that as well, the plan would be for through hole so its easy for me and my fat fingers to build at home.

Oh does anyone have any ideas how to quieten down a model m spacebar ?
I think the basic problem is that you'll be dealing with a keyboard that uses capacitive sensing, not switches. This greatly limits the circuits available to use as controllers. This is also why no diodes were required (capacitance wouldn't work if current couldn't go both ways).

As for quieting, isn't the usual trick to put a piece of dental floss inside the spring so it doesn't ring like a bell after buckling?

Posted: 02 Feb 2015, 12:55
by Muirium
Mal-2 wrote: I think the basic problem is that you'll be dealing with a keyboard that uses capacitive sensing, not switches.
Model M. And Model F / capsense is already solved.

Remember this thread? I'm still investigating. USB is definitely doable with a Model M and Teensy.

Image

Posted: 02 Feb 2015, 12:59
by macmakkara
Mu was faster but yeah. M uses membrane and its 2kro unlike model Fs that use capacitive.

Posted: 02 Feb 2015, 13:57
by Mal-2
Muirium wrote:
Mal-2 wrote: I think the basic problem is that you'll be dealing with a keyboard that uses capacitive sensing, not switches.
Model M. And Model F / capsense is already solved.

Remember this thread? I'm still investigating. USB is definitely doable with a Model M and Teensy.
Whoops. I guess I can cross that off the wish list (and put the Model F on).

Posted: 02 Feb 2015, 14:26
by Halvar
I came a lot further with bluetoothing my SSK. I now have a teensy++ based controller that talks to either USB or a Bluefruit EZkey. Both Teensy and Bluefruit run on 3.3 V, the Teensy uses 20 mA, the Bluefruit EZkey uses 25 mA, so both together use 45 mA. With my 2100 mAh LiPo cell that should give me about 40 h of typing wirelessly as it is, but I intend to improve on that.

The hardware is still in prototype phase though, the controller pcb is done, but on/off-switch, LEDs, etc are still on a breadboard. Also, there's still a lot to do in software to make switching between USB and bluetooth work better, as well as get the energy level down by putting both chips to sleep/idle state when they're not used.

Since this is just a personal project and I'm not a hardware guy, I'm using stripe PCBs like this, which works pretty well for a model M controller, but probably wouldn't for other keyboards.

I'll show more when I'm further along the way, but the part of making a usb controller for the Model M really wasn't that hard with the TMK controller and a teensy, even for an electronics noob like me. It has been done several times.

Posted: 02 Feb 2015, 14:36
by Muirium
Ah, excellent! So much better battery life than working around the original controller. The EZkey works well with mods and rollover now? I remember hearing they gave it a big update to make it much better suited to our needs than it was originally.

I hope your hardware sits well in an SSK. Because you can bet the SSK guys are going to be into Bluetooth! Keep us posted.

Posted: 02 Feb 2015, 16:00
by Halvar
I can't tell you much about how well rollover works yet, I haven't tested that so far. Rollover on the Model M is pretty bad anyway of course because of the missing diodes, and the controller can't change that. But yes, earlier version of the Bluefruit were pretty limited, now you basically transmit to the Bluefruit what you would else transmit over USB. Still no BLE (Bluetooth low energy) unfortunately.

Posted: 02 Feb 2015, 16:08
by Muirium
That should be good enough for a Model M. Earlier versions of the EZkey were hideously limited: you had literally 1KRO! Couldn't send mods at all, it was more of a telegram sending device… perhaps for monitoring instruments or something, certainly not converting keyboards. So long as it can handle several mods at once and an alpha, we'll be fine. PS/2 Model Ms were well enough designed not to shadow out mods, so they're very useable keyboards for the non gamers among us.

Posted: 02 Feb 2015, 16:11
by andrewjoy
Sounds very cool, if it ends up being an open solution that would be amazing, i would be happy to help out working on PCB design and the like. The option to turn off the BT and run over usb would be amazing! As i said i think through hole would be best over SMD. Willing to help out and i have a Lexmark M that can give its life if needed.

I have seen keyboards with decent rollover that don't have a diode each switch, so as i said i think its not possible to fix this with a controller but possibly by adding some diodes at the end of the matrix ? Then again i don't know how rollover works, i am guessing its something to do with stopping the signal bouncing around the matrix

Posted: 02 Feb 2015, 16:15
by Muirium
That last thing you said: correct!

http://www.dribin.org/dave/keyboard/one_html/

The matrix is the weakest link on the chain. The only place diodes do any good is one per switch, integrated right inside it.

Anyway, a USB/BT controller for Model Ms is huge. You're charging over USB I presume, Halvar? The best!

Posted: 02 Feb 2015, 16:20
by andrewjoy
Nope charge over custom cable only , £30 each, they also have a chip in for your protection so you only can use authorised cables.

( in all seriosnes micro usb would be best :))

Posted: 04 Feb 2015, 16:59
by XMIT
I researched exactly this recently and found:

http://www.schatenseite.de/dulcimer.html?&L=2
http://mg8.org/rump/

So there is indeed prior art here. But it is all openly licensed. Maybe someone should start a group buy. :-P

As for NKRO - I wonder if some clever polling scheme (not just "rows and columns in sequential order" but something more carefully tuned to the actual membrane layout) could enable better sensing. I don't have a good sense for the physical characteristics of the membrane - any debounce time required, etc.