IBM Model M BT-USB controller conversion kits

mind_prepared

22 Sep 2017, 14:30

blusb_logo_alt3_shadow.gif
blusb_logo_alt3_shadow.gif (417.21 KiB) Viewed 118456 times
blusb_controller_main_pcb_rev_2_5_top.jpg
blusb_controller_main_pcb_rev_2_5_top.jpg (572.49 KiB) Viewed 116935 times
blusb_controller_main_pcb_rev_2_5_bottom.jpg
blusb_controller_main_pcb_rev_2_5_bottom.jpg (496.96 KiB) Viewed 116935 times
.

Updated version (from M122 thread):
blusb_controller_rev_2.3_kit_1.jpg
blusb_controller_rev_2.3_kit_1.jpg (606.35 KiB) Viewed 118456 times
(1) M122 daughterboard, (2) jumper cables to connect daughterboard and main controller board, (3) shield ground wires long and short, (4) HID proxy dongle, (5) USB-B-›USB-A cable, 1.8m, (6) LED daughterboard (JST EH header) and JST EH connector wire 210 mm, (7) controller board
Bluetooth-USB-Hybrid controller for the Model M keyboard (75€, controller board only)

All common variants of the Model M keyboard are supported.

Variants not supported yet:

- Unicomp PC/122 (controller board attached to steel plate above the numeric keypad, different versions)

Upon placing an order, please let me know the number of FFC sockets you need: three (16+8+4 pins) or two (16+12 pins).

— supported operating systems: Windows, Linux, Android, iOS, Mac OS X
— convenient, no hassle drop-in replacement
— controller supports USB or Bluetooth 4.0/BLE connection (flip switch to select)
— use any 3.7V Li-Po/Li-Ion battery you like
— internal battery charger will recharge battery when USB cable is connected
— maximum battery life during normal operation: ca. 7 days (500 mAh battery, not included)
— driverless configuration (i.e. no filter driver is necessary to be able to change settings by software)
— fully programmable, custom key mappings, easy keymap configuration, up to 8 layers are possible
— up to 24 macro keys (6 keys + 8 modifiers each) suppported, configurable by software or by dedicated special function keys
— standard USB/Bluetooth HID 6-key rollover
— LED lock lights brightness adjustable separately for BT and USB mode (either by dedicated special function keys or by software)
— adjustable debounce period (1-255 ms, configurable by software)
— USB HID bootloader for no hassle firmware updates

Thanks to the indefatigable and generous efforts of fellow DT member 'arakula', configuration and modification of various controller settings can be carried out fast, easily and very conveniently on a cross-platform graphical user interface, yay!
If you prefer using simple tools for carrying out simple tasks, there are command line interfaces for Windows, Linux (ported by 'marcvk') and Mac OS (ported by 'quintus') as well. Show these guys that you appreciate their work, if you use it, it's free! =^p
Link: Blusb software thread + download locations

Mandatory accessories M122:

— M122 daughterboard 10€
— jumper cables 20P + 8P 10€

Mandatory accessories Lexmark/Unicomp Model M

— daughterboard to connect matrix (LEDs included) 10€
— jumper cables 16P + 8P 10€

Optionally available:

— Li-Po/Li-Ion battery 3.7V, 500 mAh (+10€) / 2000 mAh (+20€)
— USB-B-›USB-A cable, beige, 1.8m, with ferrite bead sheath current filter included (+5€)
— LED daugherboard with low current low voltage status LEDs, green/amber/younameit (+10€)
— JST-EH connector four wire cable to connect LED daughterboard (+5€)
— cruciform Philips replacement case screws made from stainless steel for easy maintenance (free)
— BT-USB-bridge/BT-USB HID Proxy dongle (+20€)

The BT-USB dongle is capable of acting as a 'BT-USB bridge' along with my controller. The dongle can be used as a regular BT adapter that's controlled by the OS BT stack, but it can also function as stand-alone BT host that supplies its own BT stack. The modes of operation can be switched by software, too, if necessary. In the latter mode of operation, the dongle will present itself as a regular USB HID keyboard to the host system while pairing and bonding to the BT client device, in this case my controller, will happen automagically. That way you can connect the keyboard to any USB-compatible system without any additional hassle. That might come in handy especially on legacy systems without any BT support.

International shipping without tracking 11€, with tracking 15€.

Please don't hesitate to ask if you have any questions, I will be glad to answer them to the fullest of my capability.
Bitte zögern Sie nicht, mich zu kontaktieren, wenn Sie Fragen haben.
S'il vous plaît, n'hesitez pas de me contacter si vous auriez de questions.

Just holler at me if you're interested. I prefer transactions outside of Ebay, of course, so the listed price is not definitive, I can take a discount outside of Ebay.

Contact me at jaygheezy[at]hotmail.com or PM me on DT.
Last edited by mind_prepared on 26 Jan 2023, 12:59, edited 28 times in total.

User avatar
RaleghDirat
Prisoner of Technology

22 Sep 2017, 14:55

Will this work on SSK's as well?

mind_prepared

22 Sep 2017, 17:35

I have never seen an SSK in real life, so I cannot tell you from personal experience. What's the original controller in your SSK look like? I suppose you own a full-size Model M, too. If the controller from your full-size Model M will fit inside your SSK, then, yes, the replacement controller I made will fit as is, too. I could also modify the PCB for you if necessary, no problem. Just let me know.

User avatar
wobbled

22 Sep 2017, 18:12

I don't mean to offend but why do these cost so much? I'm guessing because of ebay fees? What sort of discount do you offer outside of it?

mind_prepared

22 Sep 2017, 18:42

Yes, you're right, it's expensive. Here's why:

1. I make them myself at home, which is quite laborious
2. it's a niche market, so chances are there will never be enough demand to justify making 1000+. Electronics are cheap because machines are doing all the work. But that only makes sense if you're gonna produce LOTS of units, which will bring per unit price down
3. if you can brew something together yourself, do it, then you won't have to pay for somebody else's labor. The parts only cost about 25€ (I can give you a precise listing if you like).
4. I've spent quite a bit of time on developing the firmware for the microcontroller and bluetooth module and on testing and debugging, and the price tag accounts for that, too.

Ebay+Paypal get about 10%, so 20€ out of the 120€ I charge on Ebay go to Ebay + shipping, which will leave me with 100€-25€ = 75€ for labor spent on development and manufacture. I hope that makes sense.

I hope we're not gonna get into an argument about community spirit vs. commercial interests. I'm not trying to hussle anyone. I've found 100€ to be a reasonable price for a conversion kit, so I figured I might spread the word. If you don't like it, that's fine with me, no problem.

User avatar
wobbled

22 Sep 2017, 19:22

i was just genuinely curious, it's easy to look at a little circuit board like that and question the price. Ebay fees I completely understand because they're fucking criminals. I also had no idea you built these yourself, pretty damn impressive. It's a shame Unicomp don't make niche products like this.

No argument needed ;) I've actually wanted to modify my SSK to USB and BT for some time so I may jump on this soon if other people have a good experience

mind_prepared

22 Sep 2017, 21:27

hey, no problem, I believe ya, it's all good.

I've put a conversion kit on offer because it's more convenient, but there's no need to buy a kit. If all you need is the controller PCB that will be fine, too, you don't need to buy all the extra stuff. I suppose I could go as low as 75€ + shipping + PayPal fee for the controller PCB only.

User avatar
0100010

22 Sep 2017, 23:52

LiPo battery replaceable / upgradeable?

mind_prepared

23 Sep 2017, 11:05

The battery in the picture is held atop the surface of the PCB by a strip of Velcro tape and can be removed easily. All you would have to do is peel off the adhesive tape that holds the NTC in place.
You can use any Li-Po or Li-Ion battery, as long as its output voltage is rated at 3.7V and its charge end voltage at 4.2V (which is critical), and as long as it will fit inside your Model M case.
If you're gonna use a different battery, you can either replace the NTC with a 10K resistor (chip or leaded) (if you can do without over-temp protection) or solder on wires an place the NTC near the new battery, whereever that may be. Some batteries already have an internal 10K NTC that connects to GND, such as the 2000mAh battery in the picture below, which would only require one wire going from the battery's NTC pad to the corresponding pad on the controller PCB. Either which way will work.

Here's two suggestions for installing bigger batteries (1000mAh and 2000mAh. Note: the PCBs in the pictures are based on an older design):
blusb_model_m_battery_placement_suggestion_(1).JPG
blusb_model_m_battery_placement_suggestion_(1).JPG (810.68 KiB) Viewed 118455 times
blusb_model_m_battery_placement_suggestion_(2).JPG
blusb_model_m_battery_placement_suggestion_(2).JPG (1.15 MiB) Viewed 118455 times
blusb_rev1.5_bigbattery.JPG
blusb_rev1.5_bigbattery.JPG (1.08 MiB) Viewed 118455 times
Last edited by mind_prepared on 03 Feb 2019, 01:55, edited 2 times in total.

Arakula

28 Sep 2017, 10:13

I installed one of these yesterday. Works great!

It was a drop-in replacement for an original controller that seems to have developed thermal problems - after some hours of usage, it would start to rAndOMLy seLeCt upper/LOWERCAs€ and even mix in some letters I definitely didn't type 8-)
The problems seem to have completely disappeared, so it was either a contact problem (that auto-corrected itself when I plugged the flat cables into the new controller) or the original controller is really dying. Well, that controller's replaced now; I don't think I'll try to fix it.

I got a conversion kit with a BT2 module instead of the BT4/LE one, on my request, since I favor compatibility to older systems over lower energy drain, so I got it with a big battery. If there's any interest, I can add photos I took of the placement when I'm @home.

It immediately worked when paired with an iPad 3, an iPad mini 2, and even with an old Belkin USB Bluetooth 2.1 dongle that I have since ... oh, many years (it's got a CD with drivers for Windows 2000/XP/Vista). In USB mode, it even works on 2 KVM switches I got - Soarer's Converter failed miserably on these, so I'm quite happy.

Installation was a breeze, apart from the bigger battery that required a bit of additional work to fix it securely in the shell, and apart from the fact that the mounting pins of the shell are a bit wider than the holes on the controller board, so I had to widen the holes a tiny bit (about 2-3 file strokes). Well, I was prepared for that (except for the fact that it took 10 minutes to find that little file, hee hee), and fixing it took less than a minute, so it was no problem.

So I got an USB/bluetooth Model M now. Niiice.
My next step will be to try to reprogram the keyboard layout a bit.

User avatar
BPX-926

28 Sep 2017, 10:38

This is really great work. It's a real service to the community and makes the Model M a more modern keyboard.

Does it work with Unicomp Model Ms also?

How long is the battery life with the standard battery?

mind_prepared

28 Sep 2017, 14:30

@BPX-926

Appreciate it, I'm glad you like the project.

1. Does it work with a modern Unicomp Model M?

I don't know. What's a Unicomp Model M look like inside? Does it have and SDL bay? By 'SDL bay' I'm refering to the opening where the SDL socket exits the bottom shell and the holder pins for the controller PCB in older Model M generations.

But hey, since I made the controller, I can modify it in any which way you want, no problem.
I suppose the easiest thing to do would be to order a spare bottom shell from Unicomp with the proper seatings for a 170x50mm controller PCB.

2. How long is battery life with the standard battery

This is more complicated than it seems, because the factors determing actual battery life are multifold. A raw estimation might be 'about a week', but it really all depends:

The standard BT TX strength is -6dB, but up to +4dB would be possible. Any BT module will consume the most energy while advertising. But since that will only happen occasionally when no BT host is connected, we can leave that case out of the equation.
I've tried to bring the current consumption of the entire circuit (BT module + microcontroller + extra ICs) als low as possible, so most of the time, the microcontroller will be asleep, and so the BT module, and only wake up when a key is pressed. While a key is being pressend, neither will go to sleep to avoid communication errors.

Now, I cannot give you exact measurements as far as power consumption of the BT module is concerned, because typically a BT module will generate short bursts of higher current flow whenever the radio is active. I don't have the proper equipment to measure and calculate the precice amount of current being drawn. All I can give you are average readings taken with my UNI-T UT-61A multimeter.

To save power, all microcontrollers will be cycling between normal operation and sleep mode whenever an action occurs (or doesn't occur).
Since the BLE module has to keep the connection, it can't be shut down completely, so the minimum amount of current consumption for the entire circuit will be somewhere between 0 and 8 mA. If you were to hook up an amperemeter to the circuit, you would be seeing a steady fluctuation of the amount of current being drawn.

Upon a key press, the microcontroller will wake up and the BT module will send an HID key report to the BT host. So, for a very short interval, current consumption will jump to a significantly higher value, perhaps around 25 mA. I say 'perhaps' because I cannot take exact measurements, that's just an estimation following the datasheet. After the key report has been sent, the microcontroller will add about 3 mA to the power consumption bill. So current consumption will be about 11 mA immediately after a key press or while a key is being held.
However, both the BT module and the microcontroller will enter a sleep mode after 500 ms of inactivity, so as long as you're not constantly typing, current consumption will be < 8 mA on average.

In order to prevent the battery from getting drained out while the BT module is advertising (e.g. you shut down your system, but forget to turn off the keyboard before going to sleep), I've limited the advertising interval to 1 minute, after which the BT module and the microcontroller will enter deep sleep mode. Any key press will wake it up again so that it may continue advertising and accept pairing requests.
Now, with the BT module and the microcontroller both in deep sleep mode, the entire circuit will only consume about 36 µA (don't get it twisted, that's Micro-Ampere!). Any battery will last virtually forever when so little current is being drawn.
Additionally, you can throw the switch to enter USB mode, which will also cut the BT module off from the battery completely and after 1 minute, the microcontroller will disable all peripherals and clocks and enter deep sleep. This will bring overall current consumption even further down to about 5.6 µA, which is almost negligible.

I hope this will also make clear as to why I didn't just write 'the battery will last a week or so' (which I did on my Ebay listing for brevity's sake). It's really hard to tell, because it depends on many factors. Unless we're really busy, most of us will probably not be typing constantly for 8 h, not even 3 h I suppose. So the amount of mileage you can get out of a 500 mAh battery will depend on your particular usage profile. It might be somewhat close to the theoretical maximum, or it might be significantly less. The battery might last from anything between three days to a week, or even months without a single recharge cycle.

pcaro

28 Sep 2017, 15:56

I like a lot. If you confirm it's valid for a SSK and let me know, please.

A question: Programmability? Can you change layout or set layers?

Arakula

28 Sep 2017, 18:17

mind_prepared wrote: 1. Does it work with a modern Unicomp Model M?

I don't know. What's a Unicomp Model M look like inside?
Essentially like a 1996/7 Model M (the latest series, with the small controller board on the right side that's directly squeezed on the paths of the foil instead of using a connector). At least the "Classic" and "Ultra Classic"; PC/122 is an entirely different matter, of course.

mind_prepared

28 Sep 2017, 18:31

@pcaro

Up to 6 layers can be configured with a CLI. The next thing on the to do list would be a GUI for the programmer tool, something like the AIKON GUI, and I'm looking into that (actually Arakula, who posted feedback above, is looking into that right now). The firmware is pretty mature, but if demand justifies it, new features can be added. Pretty much anything you want. It's not meant to compete with the big guys though, s.a. TMK.

I already asked RaleghDirat to send me a picture of the original SSK controller, but haven't heard from him yet. Can you send me a picture of the bottom shell of your SSK and the original controller? That should be enough to tell whether it will work as is. Adjustments could be made to accomodate the SSK if necessary though, no problem.

Basically, all you need is an SDL connector bay, sufficient space to mount a 170x50 mm PCB, and of course the ribbon cables need to be in the right place so that they will reach the FFC connectors. If the SSK is basically identical to a full-size Model M, just without the number pad, it will work.

User avatar
depletedvespene

28 Sep 2017, 18:43

Arakula wrote:
mind_prepared wrote: 1. Does it work with a modern Unicomp Model M?

I don't know. What's a Unicomp Model M look like inside?
Essentially like a 1996/7 Model M (the latest series, with the small controller board on the right side that's directly squeezed on the paths of the foil instead of using a connector). At least the "Classic" and "Ultra Classic"; PC/122 is an entirely different matter, of course.
mind_prepared wrote: Basically, all you need is an SDL connector bay, ……
I think the Unicomp Model M units won't be suitable, just as the Lexmark models, because of the non-detachable connecting cords. :-(

mind_prepared

28 Sep 2017, 19:26

Arakula wrote:
mind_prepared wrote: 1. Does it work with a modern Unicomp Model M?

I don't know. What's a Unicomp Model M look like inside?
Essentially like a 1996/7 Model M (the latest series, with the small controller board on the right side that's directly squeezed on the paths of the foil instead of using a connector). At least the "Classic" and "Ultra Classic"; PC/122 is an entirely different matter, of course.
ok, in that case there will be no holding pins, no seatings, and no opening for the USB B-type connector and switch. I've sort of started making a replacement controller for the Model M2, which is kind of similar to the latest generation Model M controllers, but have put work on that project on hold for now. I will pick it up again though if a significant number of people will ask for it (at least 10). However, as of yet, I haven't received a single request though.

The latest generation Model M keyboards, including the Unicomp Model M, are also not really suitable for conversion because there is only one pre-existing opening, the spot where the cable exits the cover. A Mini- or Micro-USB socket might fit in there, but I don't see an easy way to mount it. This would most likely require the buyer to glue or screw it on internally, which would not be convenient at all. Additionally, procedures of that sort require a certain level of skill and experience, otherwise you might end up breaking something or with a solution that's not esthetically appealing.

Let me know if anybody wants to make a suggestion concerning the conversion of latest generation Model M keyboards.

pcaro

29 Sep 2017, 11:01

mind_prepared wrote: @pcaro

I already asked RaleghDirat to send me a picture of the original SSK controller, but haven't heard from him yet. Can you send me a picture of the bottom shell of your SSK and the original controller? That should be enough to tell whether it will work as is. Adjustments could be made to accomodate the SSK if necessary though, no problem.

Basically, all you need is an SDL connector bay, sufficient space to mount a 170x50 mm PCB, and of course the ribbon cables need to be in the right place so that they will reach the FFC connectors. If the SSK is basically identical to a full-size Model M, just without the number pad, it will work.
Sorry I have not the tools here to open the ssk now (I am using it at work). I can only say it was made in USA at 09-08-92 with part number 1392934 and it has a sdl connector and space for a speaker.

mind_prepared

29 Sep 2017, 13:42

@pcaro

I've checked out PhosphorGlow's 'Universal Model M Controller' and it is the same size as a regular 170x50mm PCB, from the looks of it. Apparently it's compatible with the SSK, so, yes, in all likelihood, the controller I made will be compatible, too.

User avatar
Phenix
-p

29 Sep 2017, 18:42

AFAIK the SSK and the M share a controllerer - the SSK just doesnt use some of the traces which are used on the fullsize

mind_prepared

29 Sep 2017, 19:02

yep, makes sense to me.

Anyway, if anyone wants to give it a try with their SSK, just drop me a message.

Just to be clear: if the device will not work in your particular setting or if you're not satisfied, you can always return it and I will give you a full refund on PayPal (that should be the ultima ratio though). It goes without saying that I didn't spend all this time and effort to rip anyone off... =p

pcaro

29 Sep 2017, 19:29

A pen can open a Ssk [WINKING FACE]ImageImageImageImage

Enviado desde mi XT1635-02 mediante Tapatalk

pcaro

29 Sep 2017, 19:32

I am wondering if are there enough space is for the battery

Enviado desde mi XT1635-02 mediante Tapatalk

User avatar
shreebles
Finally 60%

29 Sep 2017, 19:38

mind_prepared wrote: yep, makes sense to me.

Anyway, if anyone wants to give it a try with their SSK, just drop me a message.

Just to be clear: if the device will not work in your particular setting or if you're not satisfied, you can always return it and I will give you a full refund on PayPal (that should be the ultima ratio though). It goes without saying that I didn't spend all this time and effort to rip anyone off... =p
I could try with an SSK.
This looks really good by the way - BT, USB, programmability is the whole package.
Any more details on how programming works on this controller?

mind_prepared

29 Sep 2017, 19:55

@pcaro

thanks for the pictures, that helps. Could you take some measurements for me? What is the width and height of the original controller? Will a PCB the size of 170x50 mm fit in there? That part of the SSK looks like a regular Model M to me.
As far as the battery goes: you will need about 11mm of clearance along the z-axis where the battery is mounted. But, like I said, this doesn't look any different than a full-size Model M to me, so I don't see a reason why it wouldn't work.

mind_prepared

29 Sep 2017, 20:02

shreebles wrote: Any more details on how programming works on this controller?
So far there is only a simple CLI for Windows for key map configuration. You enter the layer (1-6) you want to configure, then press the key you want to map and the CLI will display the matrix position (row/column) activated. Then you can either press the corresponding key on a second keyboard or enter a raw HID code manually (which is mandatory for Fn keys and the like).

However, I have good news for you, Arakula has been so gracious as to volunteer to make a cross-plattform GUI to facilitate keymap configuration, yay! So whatever the shortcomings the current CLI may have (a few), a better thing is already in the making!

User avatar
pfoff

02 Oct 2017, 00:38

WOW! Great work! When I'll ever find a model f, will it fit it, too?

User avatar
Phenix
-p

02 Oct 2017, 01:17

pfoff wrote:WOW! Great work! When I'll ever find a model f, will it fit it, too?
I doubt it, as model Fs are capacitive, but I am looking forward to the answer of OP..

mind_prepared

02 Oct 2017, 01:18

pfoff wrote: WOW! Great work! When I'll ever find a model f, will it fit it, too?
Appreciate it, I'm glad you like the project.

Just like phenix said, it's not compatible with the Model F. The Model F uses capacitive switches and hence requires special circuitry for detecting changes in capacitance to determine whether a key has been depressed or released. There is plenty of info on the Model F around Deskthority, and, as far as I know, there's also a few threads dedicated to the topic of Model F conversion from PS/2 to USB or otherwise, so I suggest you check them out first.

I've never laid hands on a Model F keyboard, and I very rarely see one on offer on Ebay.de or elsewhere. I could, however, look into adding capacitive sensing capability to the controller if anyone would be willing to send me a Model F for development purposes (I doubt that would ever happen). ;)

xueyao

02 Oct 2017, 02:25

xwhatsit's capsense controller already has support Model F and is fully open sourced. It could just be built on with a Bluetooth controller and battery. No need to recreate the controller.

Post Reply

Return to “For sale”