Page 1 of 1

Modding a Model M for your grandmother

Posted: 13 May 2017, 07:38
by just_add_coffee
Suppose your grandmother came to you and said that she wanted a Model M, but she also wanted to assign macros and layers on it (Grandma is a NodeJS maestro of course). A PS2/USB converter won't work here. And suppose that you purchased a cableless Model M from Ebay.

What are the options?

1) Internal Teensy2.0 Soarer's Converter
Pro: Easy to install.
Con: Requires learning the Soarer's Converter syntax and using command line tools.

2) Internal Teensy2.0, PJRC's Teensy Loader, TMK Keyboard Editor
Pro: Graphical representation of the layout, flashing is easy to explain and convenient.
Con: Changing the layout requires either opening the case or mounting the Teensy2.0 so that the button can be accessed via a drilled hole.

Both of these could also be done externally, but would involve having to also purchase the original cable and plugging it into either a converter box that makes the Teensy2.0 button accessible or plugging into something like Orihalcon's Soarer's Converters.

Additionally, cable lengths of over 3 meters can cause keyboard problems.

It seems like the 2nd option is the best. Is there a better option or something that I'm not understanding?

Re: Modding a Model M for your grandmother

Posted: 13 May 2017, 08:08
by Vizir
2 and add an externally accessible button for reset/flashing

Sent from my Nexus 6P using Tapatalk

Posted: 13 May 2017, 08:10
by ohaimark
You seem to have everything right.

Posted: 13 May 2017, 11:11
by Ray
with TMK you can enter the mode where you can flash, from the normal firmware running. So you don't necessarily need acess to the hardware button, unless she removes that keybind.

Posted: 13 May 2017, 17:33
by just_add_coffee
Ray wrote: with TMK you can enter the mode where you can flash, from the normal firmware running. So you don't necessarily need acess to the hardware button, unless she removes that keybind.
Do you know how to do that? Because that would be a game changer right there!

Posted: 13 May 2017, 17:46
by fohat
just_add_coffee wrote:
Additionally, cable lengths of over 3 meters can cause keyboard problems.
Soarer suggested pull-up resistors and I have always used them (I got 100 of them on ebay for something like $1 shipped from China).

I have never had any problems with cable lengths or daisy-chaining adapters.

Posted: 13 May 2017, 18:11
by just_add_coffee
fohat wrote:
just_add_coffee wrote:
Additionally, cable lengths of over 3 meters can cause keyboard problems.
Soarer suggested pull-up resistors and I have always used them (I got 100 of them on ebay for something like $1 shipped from China).

I have never had any problems with cable lengths or daisy-chaining adapters.
I discovered this yesterday working on the Pingmaster and ordered some 1k ohm resistors. As far as I can tell, making this standard operating procedure on all modding jobs seems like a prudent idea.

Posted: 13 May 2017, 18:48
by Ray
just_add_coffee wrote:
Ray wrote: with TMK you can enter the mode where you can flash, from the normal firmware running. So you don't necessarily need acess to the hardware button, unless she removes that keybind.
Do you know how to do that? Because that would be a game changer right there!
It's been a while since I did that, but I think there's a "magic"-keycombo, that you can set in config.h with #define IS_COMMAND. Press the combo + pause to enter bootloader. You can change pause to something else in command.c

or bootloader_jump() in a C function.

You might need to set bootloader size in Makefile. see here https://github.com/tmk/tmk_keyboard/wiki/FAQ-Build

Posted: 13 May 2017, 19:39
by just_add_coffee
Ray wrote: It's been a while since I did that, but I think there's a "magic"-keycombo, that you can set in config.h with #define IS_COMMAND. Press the combo + pause to enter bootloader. You can change pause to something else in command.c

or bootloader_jump() in a C function.

You might need to set bootloader size in Makefile. see here https://github.com/tmk/tmk_keyboard/wiki/FAQ-Build
I'm unsure how to do this through the TMK Keyboard Editor, if it is possible.

Posted: 14 May 2017, 07:42
by Ray
Ah, I don't know about the TMK Keyboard Editor, but it should default to left shift + right shift + pause, or something similar (probably depending on the base firmware file you choose). You still might need to set the correct bootloader size in Makefile, if you have bad luck.

Posted: 14 May 2017, 09:38
by just_add_coffee
Ray wrote: Ah, I don't know about the TMK Keyboard Editor, but it should default to left shift + right shift + pause, or something similar (probably depending on the base firmware file you choose). You still might need to set the correct bootloader size in Makefile, if you have bad luck.
Supposedly Left Shift + Right Shift + Pause or Left Alt + Right Alt + Pause will start the bootloader, which I haven't gotten to work on this Pingmaster. And I think a 3-key combination may be a problem on 2KRO Model M boards.

At this point I think that drilling the hole, mounting the Teensy2.0, installing the Teensy Loader, downloading the .hex from the TMK editor, drag and dropping the .hex into the GUI, and pushing the button with a paper clip is the better configuration workflow.

Posted: 14 May 2017, 13:51
by XMIT
Beg phosphorglow to start making his Colossus controller again, or see about starting a group buy for them if you make them yourself? The internal controller replacement is the single best upgrade I've ever seen for the Model M.

Posted: 14 May 2017, 17:33
by just_add_coffee
XMIT wrote: Beg phosphorglow to start making his Colossus controller again, or see about starting a group buy for them if you make them yourself? The internal controller replacement is the single best upgrade I've ever seen for the Model M.
I found the thread and necro bumped it because I feel like being annoying this morning. :twisted:

The details still seem a bit unclear to me, but as far as I can tell, this controller would allow the user to use the TMK Editor to assign keys and macros and makes starting the bootloader easier, and brings along Bluetooth!

It also solves a problem that I hadn't thought of: What if the Model M from Ebay has a bad controller?

Thanks again XMIT!

Posted: 14 May 2017, 17:35
by seebart
just_add_coffee wrote:
XMIT wrote: Beg phosphorglow to start making his Colossus controller again, or see about starting a group buy for them if you make them yourself? The internal controller replacement is the single best upgrade I've ever seen for the Model M.
I found the thread and necro bumped it because I feel like being annoying this morning. :twisted:
Haha that's just fine. :lol: I might join you. :evilgeek:

Posted: 14 May 2017, 18:00
by just_add_coffee
seebart wrote:
Haha that's just fine. :lol: I might join you. :evilgeek:
COOL!!!