Universal Model M Controller

So, uh, fun update:

I got the Bluefuit module working with the LUFA stack instead of PJRC. All thanks to hasu's HHKB code which was an excellent reference, despite having no real actual clue as to what I'm doing.

Why so exciting? The PJRC stack doesn't seem to have working BIOS support. Plus, well... LUFA.
phosphorglow
User avatar

Unread post25 Mar 2016, 02:01

User avatar
X
phosphorglow
 
Posts: 357
Joined: 30 Jun 2013, 22:13
Location: Indianapolis - USA
Main keyboard: IBM Model M
Main mouse: Kensington Expert Mouse
Favorite switch: Buckling Spring!
Club member: -
 
I've got one of these wonderful controllers in one of my Model M's and have successfully built a .hex file (using Linux) from the TMK source Phosphor Glow has on his website. I'm trying to turn the caps lock key into another control key to start.

I can't figure out how to get the controller into DFU bootloader mode (there's no button on mine). PG's site says to press left-shift, right-control and pause. I've done that both with the keyboard already plugged in (didn't think that would work) and held those keys down while I'm plugging the USB cable in. Neither of those seem to work and the keyboard works as it should.

Using (with or without sudo):

sudo dfu-programmer at90usb1286 get bootloader-version

...returns "dfu-programmer: no device present."

I'm sure there's something I'm missing here. Would someone please kindly enlighten me?
UnFocused

Unread post26 Apr 2016, 01:37

X
UnFocused
 
Posts: 36
Joined: 31 Mar 2016, 17:40
Location: USA
Club member: -
 
Hrmm! Did you get the controller from me recently...? Or someone else?

Anyhoo - if it was recent, I've changed a few things but haven't updated the page quite yet!

With the keyboard plugged in, hold Caps Lock, right shift, and pause.

(I've disabled bootmagic commands by default, but added in a custom function to still jump to the bootloader using a combination unlikely to be used on accident. :P)
phosphorglow
User avatar

Unread post28 Apr 2016, 10:14

User avatar
X
phosphorglow
 
Posts: 357
Joined: 30 Jun 2013, 22:13
Location: Indianapolis - USA
Main keyboard: IBM Model M
Main mouse: Kensington Expert Mouse
Favorite switch: Buckling Spring!
Club member: -
 
phosphorglow wrote:Hrmm! Did you get the controller from me recently...? Or someone else?

Anyhoo - if it was recent, I've changed a few things but haven't updated the page quite yet!

With the keyboard plugged in, hold Caps Lock, right shift, and pause.

I received it directly from you about two or three weeks ago. Early April to be sure.

That key combo worked perfectly and dfu-programmer was able to see the keyboard!

I'll wait until you update the TMK source on your website before I go flashing anything to the keyboard.

I have a keyboard with you now for your overhaul service + controller. I'm guessing it's going to get the new version of the controller? I understand it's going to be a few weeks before you get them in and I'm happy to wait.
UnFocused

Unread post28 Apr 2016, 14:10

X
UnFocused
 
Posts: 36
Joined: 31 Mar 2016, 17:40
Location: USA
Club member: -
 
While I'm here on the forum...

Image_MG_6483 by phosphorglow, on Flickr

*Still* testing and working on it. In the background are a few 3D printed port covers... Still working on those too. Everything has been taking me much longer to finish up than I had planned/anticipated. Go figure.

About 24 hours of battery life. I'm not nearly happy enough with the Bluetooth side of things to call that part finished, but it does work. USB still works just peachy. On the right hand side of the PCB you can see the additional mounting option for later model 122's. Drops right in. Haven't done it yet, but the idea of a Bluetooth 122 amuses me greatly...

It's running a modified version of hasu's Bluetooth HHKB code, but with no power saving implemented yet.

I said from the beginning of this project that I was going to release the schematics/design files for it. I still will. Just not yet. Not until I'm completely happy with it, and not until I'm comfortable using kicad or diptrace. Trying to explain how I finagle things in Fritzing sounds like a daunting task.

Also... I really can't wait to build a reflow oven. Soldering everything by hand is... time consuming. I enjoy it, but there aren't enough hours in the day.

Blah blah blah. Ramble ramble. //phosphor out.
phosphorglow
User avatar

Unread post02 Jul 2016, 19:10

User avatar
X
phosphorglow
 
Posts: 357
Joined: 30 Jun 2013, 22:13
Location: Indianapolis - USA
Main keyboard: IBM Model M
Main mouse: Kensington Expert Mouse
Favorite switch: Buckling Spring!
Club member: -
 
Hi phosphorglow,

As you appear to be back, can you answer a couple of questions that I asked earlier in the thread:

I notice that you offer the circuit boards for sale on their own. I'm interested in that option but I don't want the hassle of ordering all the other components separately. So would you also consider offering a kit that includes all the parts needed to make a working controller, and it would then be the purchaser's reponsibility to solder all the parts together.

Are you ever likely to offer similar controller boards for newer Model Ms (and the ones currently manufactured by Unicomp) where the circuit board is mounted behind the caps and num lock lights?

Thanks
grasshopper

Unread post19 Aug 2016, 19:14

X
grasshopper
 
Posts: 174
Joined: 25 Jul 2011, 22:01
Location: UK
Main keyboard: IBM Model M
Club member: -
 
Well, "back" is a stretch, as I have too many frying pans and barely any fire this year, but hey...

Anyhoo -

I *did* offer the bare boards previously. I'm probably done doing that. Putting together kits is another thing I don't really have time for.

Eventually if I get bored and have time, I'd consider doing the newer style controller. But, again, too many frying pans at the moment...

I'm about halfway through migrating the design into KiCAD. Once that's finished and I'm happy with the end result, I'll put all the files up (including the 3D designs for the various port covers) and whoever wants to run their own batch of boards can do so.
phosphorglow
User avatar

Unread post24 Aug 2016, 21:00

User avatar
X
phosphorglow
 
Posts: 357
Joined: 30 Jun 2013, 22:13
Location: Indianapolis - USA
Main keyboard: IBM Model M
Main mouse: Kensington Expert Mouse
Favorite switch: Buckling Spring!
Club member: -
 
phosphorglow wrote:
I *did* offer the bare boards previously. I'm probably done doing that. Putting together kits is another thing I don't really have time for.


That's a shame. Are you still selling the fully assembled boards?
grasshopper

Unread post28 Aug 2016, 00:17

X
grasshopper
 
Posts: 174
Joined: 25 Jul 2011, 22:01
Location: UK
Main keyboard: IBM Model M
Club member: -
 
Awww... now I feel bad. Well... perhaps I might do that again just for the bare PCB, but a "kit" is, well... Actually, it's not that huge of a deal. I could just put up a shared Mouser order sheet and people could place their own separate order. Anyways, I'll toy with that a little more at some point.

And yes, I do still sell the fully assembled boards, but not at the moment. My first batch of PCBs for V2 has been diminished, but I'm almost done with my tweaks to order a larger batch.

Side note:
I freakin' love KiCad. It was (and still is) a huge learning curve, but I'm loving it.

Side-side-note:
USB-C port is now part of the design.
phosphorglow
User avatar

Unread post28 Aug 2016, 00:53

User avatar
X
phosphorglow
 
Posts: 357
Joined: 30 Jun 2013, 22:13
Location: Indianapolis - USA
Main keyboard: IBM Model M
Main mouse: Kensington Expert Mouse
Favorite switch: Buckling Spring!
Club member: -
 
Colossus Universal Model M Controller Version 2
===============================================

Current operation/details are as such:

Fits all Model M's (with the exception of the later -and current- style mounted underneath the LED cluster). You can even use it in combination with the M13's stock controller to retain use of the TrackPoint.

Has provisions for all of the standard LED connector locations, and extra expandability for custom LEDs. Drops right in to the later style 122's with the cable/port cutout in the middle of the case, and the early 122's using a 3D printed bracket. Sub-boards are part of the design to allow for port options aside from USB-B (even though that's still my favorite) including Mini, Micro, and USB-C. And if one were so inclined, they could solder a non-detachable cable.

Bluetooth:

Borrowed heavily from hasu's BT-HHKB, with a slightly different hardware approach.

Slide the switch on, and Bluetooth connects automatically to the last paired device in about 3 seconds. While in use, you can plug it in and continue using while the battery charges. Slide the switch off and you can use it as a USB keyboard while the battery charges, or plug it into a wall adapter for a slightly faster charge rate. During fast charge you can press a key combination to enable Bluetooth. LED indicators near the port cover indicate when the battery is getting low (red), when the battery is fully charged (green), and the current status of Bluetooth connectivity (blue). These indicators can also be expanded to a more visible location.

The Bluetooth module is the RN-42, but the UART pins are available so you could technically use other modules if you modify the firmware.

At the moment (using a 1200mAh battery) I get ~30 hours of use when left on, but that's low because I haven't figured out the power saving code yet. With just the MCU running, it draws 9mA. With Bluetooth on and connected, the total draw is 40mA. So, once the power saving gets implemented I'm expecting closer to 100 hours before needing charged.

I'll figure it out through trial and error eventually, but I would love some pointers in how to implement the matrix_last_modified timer to switch off the MOSFET controlling the RN-42 and turn it back on when a key gets pressed, as well as modifying the scan rate to lower power consumption. The code base is already there, I just need to adapt it.

I've attempted to make the layout friendly to hand solder all of the components, or for reflow.

The basic design is super simple. The only complex part is packaging it to suit various iterations of M's on a single board, with various choices being up to the user, and I feel I've just about accomplished that. Porting the base design to other (matrix based) keyboards would be a definite option.

The time is coming for me to release the whole shebang into the wild and let the community build on what I think has grown into a pretty neat board.


A few sub-notes...
There are two main features I want to implement:
- A soft power switch instead of the slide switch. I want a single push button to turn the entire board on/off, which would also enable the MCU to control the main power. (Probably in Version 3... :P)
- Pressing a key combination to blink the battery charge status. Example: a series of fast green blinks to indicate, say, 90%, slower and less blinks for less than 80%, and maybe switch to blinking the red LED for under 50%. Or something to that effect.
phosphorglow
User avatar

Unread post28 Aug 2016, 02:10

User avatar
X
phosphorglow
 
Posts: 357
Joined: 30 Jun 2013, 22:13
Location: Indianapolis - USA
Main keyboard: IBM Model M
Main mouse: Kensington Expert Mouse
Favorite switch: Buckling Spring!
Club member: -
 
You EE studs (to which you are the "Fonz") never cease to amaze.

You really have done such fantastic work here... It is above 80% of the average DT visitor's head, but it really is incredible what you are building into this design. This is the most "complete" functionality on paper (haven't tried yet myself) of any custom controller we have to-date. Couldn't be more impressed. Count me in for one (err... multiple)!!! Again... well done... super impressed it is ready, and glad you never felt the need to "jump the shark"

jump-the-shark.jpg
lot_lizard
User avatar

Unread post29 Aug 2016, 00:47

User avatar
X
lot_lizard
 
Posts: 1327
Joined: 20 Feb 2016, 03:36
Location: Minnesota
Main keyboard: Indy SSK Model MF
Main mouse: Logitech Anywhere MX
Favorite switch: Beamspring
Club member: 0153
 
Thanks! ^_^

Now I can't stop staring at The Fonz. He looks so damn happy and so cool.
phosphorglow
User avatar

Unread post03 Sep 2016, 09:45

User avatar
X
phosphorglow
 
Posts: 357
Joined: 30 Jun 2013, 22:13
Location: Indianapolis - USA
Main keyboard: IBM Model M
Main mouse: Kensington Expert Mouse
Favorite switch: Buckling Spring!
Club member: -
 
USB-C Sub-boards came in from OSHPark.

I think I have a new favorite USB connector. :X

2016-09-03 00.11.08.jpg


Additional update:

I stumbled over hooks in TMK and managed to cobble together some code to tell the Bluetooth module to disconnect 5 minutes after the last keypress, and reconnect when a key gets pressed. Might not be the best implementation, but I'm now getting about 40 hours of being left on continuously. I'm happier, but still not entirely happy.
phosphorglow
User avatar

Unread post03 Sep 2016, 09:50

User avatar
X
phosphorglow
 
Posts: 357
Joined: 30 Jun 2013, 22:13
Location: Indianapolis - USA
Main keyboard: IBM Model M
Main mouse: Kensington Expert Mouse
Favorite switch: Buckling Spring!
Club member: -
 
A few comments with no intention of being critical of the great work being attempted.

A controller I would like to buy is like what Wulax did -- bluetooth controller with battery lasting for a month or so. There are a few problems currently
    He sold out his stock, and is no longer making more :(
    They were made 5 years ago, and likely not supporting the later Bluetooth standards
    The form factor doesn't fit some of the Model M keyboards as Phosphorglow found out
    ...
The controller was based on BCM2042/BCM20422 chip. Unfortunately, the breakout board is very much unavailable now. An updated design would be replacing the BCM20422 with something like BCM20730, plus changes to the circuit board to accommodate various Model M's.

It seems that you have gone quite a way down the path of RN-42, with the intent of a hybrid board (USB and Bluetooth). I can see a hybrid board is more versatile, and can attract a broader (though still very limited) user base. If the battery life issue can't be solved, a BCM20730 based, Bluetooth only approach might be worth pondering. It can even be argued that a Bluetooth only board might be the way to go, since most newer devices are Bluetooth enabled, and a dangle is only a few bucks for the rest.
luke2016

Unread post06 Oct 2016, 02:46

X
luke2016
 
Posts: 1
Joined: 23 Sep 2016, 04:37
Location: United States
Main keyboard: Cheap Dell
Main mouse: Cheap Dell
Favorite switch: IBM Model M
 
I'm sitting here waiting (im)patiently for Mr Glow to start making controllers again... I haven't used my M in 4 months and I have withdrawals :o
Nitephyre

Unread post12 Dec 2016, 06:48

X
Nitephyre
 
Posts: 1
Joined: 08 Dec 2016, 06:15
Location: Australia
Main keyboard: 1988 IBM Model M
Main mouse: Logitech MX-1000
Favorite switch: Buckling Spring
 
Nitephyre wrote:I'm sitting here waiting (im)patiently for Mr Glow to start making controllers again... I haven't used my M in 4 months and I have withdrawals :o

He occasionally posts an update on his website. Things are a little backed up at the moment. http://phosphorglow.net/
vivalarevolución
User avatar
formerly prdlm2009

Unread post11 Jan 2017, 01:05

User avatar
X
vivalarevolución
formerly prdlm2009
 
Posts: 1843
Joined: 14 Sep 2012, 19:09
Location: USA
Main keyboard: IBM Beam spring
Main mouse: Kangaroo
Favorite switch: beam spring
Club member: 0097
 
Hi phosphorglow,

It's my first post on deskthority but i'm a model m veteran annoying my co-workers with my trusty 101 key model for at least 15 years and for the last 4 years with a ssk.

My company switched from dell laptops to macbooks back in 2012 forcing me to use a ps/2 > usb adapter, which worked without any issues. Now my macbook was up for replacement and i just received a brand new macbook pro 13" with touchbar and 4 usb-c ports. Hooking up the ssk via my ps/2 > usb-a adapter and then an usb-a > usb-c adapter didn't prove to be such a great experience. Now i have to deal with a disconnecting keyboard every few minutes, max. one hour if i'm lucky. Lots of people complaining for years on the apple fora about disconnecting usb keyboards (even apple's own keyboards are problematic). As far as i can see it has something to do with wifi and bluetooth interference on usb 3 devices, i bet ibm never anticipated that being a problem with the model m keyboards.

Figuring the ps/2 conversion could be circumvented i set about buying everything to replace the model m controller with a teensy++ 2.0 and then i came across this amazing thread. Your solutions is so much more elegant than what my rusty soldering skills could muster.

Do you still sell the v1 or v2 version of your controller pcb, either assembled or the bare pcb? It would be a real life saver as i dread the day i would have to switch to a chicklet mac keyboard.

Appologies for the long post and regards,

Leon
Leonvet

Unread post22 Jan 2017, 18:36

X
Leonvet
 
Posts: 2
Joined: 22 Jan 2017, 18:12
Location: The Netherlands
Main keyboard: Model M SSK
Main mouse: Kensington trackball
 
Have you looked into the Soarer's SDL to usb cables? Orihalcon sells them on ebay still I think. They have a controller built into the cable head..plus it lets you do neat macro stuff.

Edit: It seems he is out of stock.. :(
Ir0n
User avatar

Unread post22 Jan 2017, 21:34

User avatar
X
Ir0n
 
Posts: 124
Joined: 04 Sep 2016, 19:07
Location: United States
Main keyboard: IBM Model F107
Main mouse: Mionix Naos 7000
Favorite switch: buckling spring
Club member: -
 
The SDL-USB cables orihalcon sells are just simple protocol converters and not Soarer's Converters. All the other ones are. If it's not specifically advertised as such, it's not.
XMIT
User avatar
[ XMIT ]

Unread post22 Jan 2017, 22:25

User avatar
X
XMIT
[ XMIT ]
 
Posts: 3242
Joined: 21 Dec 2014, 15:32
Location: Austin, TX area
Main keyboard: XMIT Hall Effect
Main mouse: CST L-Trac Trackball
Favorite switch: XMIT 60g Tactile Hall Effect
Club member: 0093
 
Yeah he carries a soarer's version of SDL to USB just not at the moment..Lol
But I'm not sure if you're just warning him so he doesn't grab the wrong one if he does want to get one.
I really didn't think of that..

http://www.ebay.com/itm/271816109375

I'd PM him and ask him about it if you're interested.
Ir0n
User avatar

Unread post22 Jan 2017, 22:39

User avatar
X
Ir0n
 
Posts: 124
Joined: 04 Sep 2016, 19:07
Location: United States
Main keyboard: IBM Model F107
Main mouse: Mionix Naos 7000
Favorite switch: buckling spring
Club member: -
 
Thanks for the sdl cable tip. After using the id innovations ps/2 usb adapter and a bluecube i think i'm up for a true usb controller instead of protocol conversion.

Too bad the pcbs are out of stock, i'll heat up my soldering iron and start experimenting with a teensy. I will keep an eye on this thread, can't beat a real pcb imho.
Leonvet

Unread post23 Jan 2017, 06:08

X
Leonvet
 
Posts: 2
Joined: 22 Jan 2017, 18:12
Location: The Netherlands
Main keyboard: Model M SSK
Main mouse: Kensington trackball
 
Slight necro, but does anyone know exact name or part/manufacturer number of connectors that can be used with model M ribbons?
alh84001
User avatar
v.001

Unread post01 Apr 2017, 18:55

User avatar
X
alh84001
v.001
 
Posts: 1145
Joined: 14 Feb 2016, 18:38
Location: EU-HR-ZG
Main keyboard: unsaver
Main mouse: logitech m305 / apple trackpad
Favorite switch: BS
Club member: 0150
 
alh84001 wrote:Slight necro, but does anyone know exact name or part/manufacturer number of connectors that can be used with model M ribbons?

I do not have a part number to offer but I think what you are looking for is referred to as a zif connector. You can search for and browse for them at Mouser, they have a huge selection available.
rsbseb
User avatar
-Horned Rabbit-

Unread post02 Apr 2017, 01:27

User avatar
X
rsbseb
-Horned Rabbit-
 
Posts: 389
Joined: 10 Jan 2015, 19:17
Location: In the heart of the Ozarks
Main keyboard: Varies
Main mouse: logitech 570 trackball
Favorite switch: I dream of a silky smooth Izot
Club member: 0112
 
Thanks on the help. I actually searched for FFC/FFP, and then I tried deducing pitch from pictures online as I don't have model M near me right now :)

I think these would work for 16 and 8 pin membrane respectively:
https://www.arrow.com/en/products/6-520...nnectivity
https://www.arrow.com/en/products/5-520...nnectivity
alh84001
User avatar
v.001

Unread post02 Apr 2017, 03:22

User avatar
X
alh84001
v.001
 
Posts: 1145
Joined: 14 Feb 2016, 18:38
Location: EU-HR-ZG
Main keyboard: unsaver
Main mouse: logitech m305 / apple trackpad
Favorite switch: BS
Club member: 0150
 
 
alh84001 wrote:Thanks on the help. I actually searched for FFC/FFP, and then I tried deducing pitch from pictures online as I don't have model M near me right now :)

I think these would work for 16 and 8 pin membrane respectively:
https://www.arrow.com/en/products/6-520...nnectivity
https://www.arrow.com/en/products/5-520...nnectivity

The 2.54 pitch checks out on the membranes from my wheel writer.
rsbseb
User avatar
-Horned Rabbit-

Unread post03 Apr 2017, 03:21

User avatar
X
rsbseb
-Horned Rabbit-
 
Posts: 389
Joined: 10 Jan 2015, 19:17
Location: In the heart of the Ozarks
Main keyboard: Varies
Main mouse: logitech 570 trackball
Favorite switch: I dream of a silky smooth Izot
Club member: 0112
 
Bumpity bump.
just_add_coffee
User avatar

Unread post14 May 2017, 16:27

User avatar
X
just_add_coffee
 
Posts: 287
Joined: 03 Feb 2017, 14:25
Location: United States
Main keyboard: Model F AT, Batwing Ergodox
Main mouse: Microsoft Trackball Explorer 1.0
Favorite switch: Buckling Spring
 
just_add_coffee wrote:Bumpity bump.

Necro bumping? Why not! :mrgreen:
seebart
User avatar
Offtopicthority Instigator

Unread post14 May 2017, 16:28

User avatar
X
seebart
Offtopicthority Instigator
 
Posts: 10055
Joined: 22 Nov 2013, 20:20
Location: Germany
Main keyboard: Rotation
Main mouse: Roccat Kova+
Favorite switch: Beam Spring
Club member: 0061
 
seebart wrote:
just_add_coffee wrote:Bumpity bump.

Necro bumping? Why not! :mrgreen:

And I've also messaged phosphorglow. I hope to ride that fine line between "enthusiastic" and "annoying jackhole." :D
just_add_coffee
User avatar

Unread post14 May 2017, 16:57

User avatar
X
just_add_coffee
 
Posts: 287
Joined: 03 Feb 2017, 14:25
Location: United States
Main keyboard: Model F AT, Batwing Ergodox
Main mouse: Microsoft Trackball Explorer 1.0
Favorite switch: Buckling Spring
 
just_add_coffee wrote:
seebart wrote:
just_add_coffee wrote:Bumpity bump.

Necro bumping? Why not! :mrgreen:

And I've also messaged phosphorglow. I hope to ride that fine line between "enthusiastic" and "annoying jackhole." :D

Not sure but I think he's not too active here anymore.

http://phosphorglow.net/contact-me/
seebart
User avatar
Offtopicthority Instigator

Unread post14 May 2017, 17:02

User avatar
X
seebart
Offtopicthority Instigator
 
Posts: 10055
Joined: 22 Nov 2013, 20:20
Location: Germany
Main keyboard: Rotation
Main mouse: Roccat Kova+
Favorite switch: Beam Spring
Club member: 0061
 
I am desperately in need of a controller for my 122 and am also waiting for some renewed activity here. ;)
rsbseb
User avatar
-Horned Rabbit-

Unread post14 May 2017, 19:43

User avatar
X
rsbseb
-Horned Rabbit-
 
Posts: 389
Joined: 10 Jan 2015, 19:17
Location: In the heart of the Ozarks
Main keyboard: Varies
Main mouse: logitech 570 trackball
Favorite switch: I dream of a silky smooth Izot
Club member: 0112
 
PreviousNext

Who is online

Users browsing this forum: Aer Fixus, giokkk, Mattr567 and 40 guests