Converting an IBM Multistation with an xwhatsit

Hey everyone! It's Matt here with a new wacky project :P

I recently acquired an IBM Multistation keyboard from Wingpad (who got it from alh) with the intention of actually using it unlike most. I decided to choose xwhatsit vs other controllers b/c I wanted to use a solenoid with this project :evilgeek:

The board as I got it:
Image
Image

My current layout/caps (Thick PBT P70 keycpas w/ 5140 spacebar and stab used!!!)
Image

Here's where I am currently with the conversion:

I have traced out both PCB's - yes two. The "early" style PCB that is used on spherical cap multistation is quite different than the later nonspherical type, but use the same IC's. I have the later type, but someone with an early type should also be able to convert in basically the same fashion.

These PCB's are rather complicated :shock:

Early:
Image
Image

Late:
Image
Image

xwhatsit wiring diagram:
Image

Stock IC's
Image

I have the xwhatsit wired up and it is detecting keypresses, but a single key can light up the whole column/row, so I need to go back through my wiring and check for grounding/bridges. I also had to desolder these diodes that connected the rows and replace them with jumpers, in order for any keypresses to be detected.

Jumpers:
Image
Image

Current wiring setup:
Image
Image
Image
Image
Mattr567
User avatar

Unread post15 Apr 2018, 22:39

User avatar
X
Mattr567
 
Posts: 467
Joined: 23 Jun 2015, 06:08
Main keyboard: Many things
Main mouse: G502
Favorite switch: Alps in general
DT Pro Member: -
 
Good work so far! Looking forward to seeing the final result!
orihalcon

Unread post18 Apr 2018, 02:42

X
orihalcon
 
Posts: 492
Joined: 31 Jul 2014, 00:47
Location: Des Moines / Cedar Falls, IA, USA
Main keyboard: IBM Model F107
DT Pro Member: 0190
 
Good luck, one of these with the spherical caps is my absolute holy grail... I would love to get one working.

I guess replacing the controller is really the way to go for these since they do not seem to be convertible to a modern protocol with a modern layout noninvasively
ullr
User avatar

Unread post21 Apr 2018, 20:35

User avatar
X
ullr
 
Posts: 24
Joined: 09 Mar 2014, 10:27
Location: Florida
Main keyboard: GH60
Main mouse: MX Master
Favorite switch: Kailh Box Navy Blue
DT Pro Member: -
 
So, I'll confess being confused... As I understood it, xwhatsit was designed for capacitive keyboards, not switches. I wouldn't have expected it to work at all. I wonder if the tmk/converter for pingmaster would have worked with the original controller as this almost looks like a latter version of it?

Hard to say as most people don't have the test equipment to answer that question.

Did you succeed in completely isolating all of the other circuitry on the PCB other than the matrix?

Regardless, we can help you get this working.
__red__

Unread post22 Apr 2018, 09:16

X
__red__
 
Posts: 435
Joined: 14 May 2012, 20:12
Location: Beamspringville
Main keyboard: 4704
DT Pro Member: 0186
 
__red__ wrote:So, I'll confess being confused... As I understood it, xwhatsit was designed for capacitive keyboards, not switches. I wouldn't have expected it to work at all. I wonder if the tmk/converter for pingmaster would have worked with the original controller as this almost looks like a latter version of it?

Hard to say as most people don't have the test equipment to answer that question.

Did you succeed in completely isolating all of the other circuitry on the PCB other than the matrix?

Regardless, we can help you get this working.

Xwhatsit works on regular switches too which is awesome mostly for the ease of configuration and solenoid adding potential :)

I believe I was the first to post a project using it for regular switches back in 2015 with a hand wired M0110. If you scroll to the bottom, I put one in an SSK as well with a solenoid:

https://geekhack.org/index.php?topic=69394.0
orihalcon

Unread post22 Apr 2018, 14:03

X
orihalcon
 
Posts: 492
Joined: 31 Jul 2014, 00:47
Location: Des Moines / Cedar Falls, IA, USA
Main keyboard: IBM Model F107
DT Pro Member: 0190
 
I also have a SSK with Xwhatsit, sadly the solenoid output is broken.
Currently I do also a cherry mx handwire with another one, this hopefully with working solenoid output.
hypkx
User avatar
Chasing the Dream

Unread post22 Apr 2018, 14:55

User avatar
X
hypkx
Chasing the Dream
 
Posts: 1475
Joined: 18 Apr 2015, 09:55
Main keyboard: GH60 with gateron reds
Main mouse: Logitech MX Master
Favorite switch: Beamspring, anything MX style Red
DT Pro Member: -
 
__red__ CS will also work on resistive keyboards. You'll just need to configure ADC to 8 bit and set thresholds to 99 (side note - should I allow thresholds up to 255? They're bytes internally..)
DMA

Unread post22 Apr 2018, 19:48

X
DMA
 
Posts: 506
Joined: 23 May 2016, 06:24
Location: Seattle, US
Main keyboard: T420
Main mouse: Trackpoint
Favorite switch: beamspring
DT Pro Member: -
 
 
The bringer of PSoC
So how does it work with no diodes? 1kro?

... And yes, you should allow all the way up to 255... Not only in the setting of the limits but also in the status display.

Secret Santa had to "cheat" when building a handmade board last year (so he told me last year seeking support) :-)
__red__

Unread post22 Apr 2018, 23:05

X
__red__
 
Posts: 435
Joined: 14 May 2012, 20:12
Location: Beamspringville
Main keyboard: 4704
DT Pro Member: 0186
 
__red__ wrote:So how does it work with no diodes? 1kro?

... And yes, you should allow all the way up to 255... Not only in the setting of the limits but also in the status display.

Secret Santa had to "cheat" when building a handmade board last year (so he told me last year seeking support) :-)

Status display is trickier, because 99 is 2 digits, and more than that is 3 digits so displays will be WIDER.

With no diodes it will work like with diodes, only with no diodes. So, you'll be able to press second key in the same row - no restrictions. You'll also be able to press a second key in another row - also no restrictions. 3rd key you gonna be careful - you don't want to create a configuration that will short rows.
Microsoft had a good article on ghosting, IIRC
DMA

Unread post23 Apr 2018, 07:26

X
DMA
 
Posts: 506
Joined: 23 May 2016, 06:24
Location: Seattle, US
Main keyboard: T420
Main mouse: Trackpoint
Favorite switch: beamspring
DT Pro Member: -
 
__red__ wrote:So, I'll confess being confused... As I understood it, xwhatsit was designed for capacitive keyboards, not switches. I wouldn't have expected it to work at all. I wonder if the tmk/converter for pingmaster would have worked with the original controller as this almost looks like a latter version of it?

Hard to say as most people don't have the test equipment to answer that question.

Did you succeed in completely isolating all of the other circuitry on the PCB other than the matrix?

Regardless, we can help you get this working.

As it was triggering the whole column I was going through my wiring again and it might be wrong? You can see in my PCB trace pictures. This PCB looks to have more than 8 rows :(

Isolating all of the other circuitry?

I DID try the TMK Pingmaster converter, didn't work sadly.

Also this PCB is NKRO, so I should be ok in regards with diodes?

In the end it might be easier to handwire...
DMA wrote:__red__ CS will also work on resistive keyboards. You'll just need to configure ADC to 8 bit and set thresholds to 99 (side note - should I allow thresholds up to 255? They're bytes internally..)

Could this be my issue?
Mattr567
User avatar

Unread post23 Apr 2018, 07:39

User avatar
X
Mattr567
 
Posts: 467
Joined: 23 Jun 2015, 06:08
Main keyboard: Many things
Main mouse: G502
Favorite switch: Alps in general
DT Pro Member: -
 
The Xwhatsit is limited in that you can only have up to 8 rows and up to 16 columns. If you are getting an entire row to light up at once your voltage threshold may be too low. Increase it slowly until you get only a single key to light up on the matrix. See where you get with that first.
orihalcon

Unread post23 Apr 2018, 20:44

X
orihalcon
 
Posts: 492
Joined: 31 Jul 2014, 00:47
Location: Des Moines / Cedar Falls, IA, USA
Main keyboard: IBM Model F107
DT Pro Member: 0190
 
Mattr567 wrote:
DMA wrote:__red__ CS will also work on resistive keyboards. You'll just need to configure ADC to 8 bit and set thresholds to 99 (side note - should I allow thresholds up to 255? They're bytes internally..)

Could this be my issue?

Nope. You're using xwhatsit, we're talking about CS.
__red__

Unread post24 Apr 2018, 03:33

X
__red__
 
Posts: 435
Joined: 14 May 2012, 20:12
Location: Beamspringville
Main keyboard: 4704
DT Pro Member: 0186
 
Mattr567 wrote:Also this PCB is NKRO, so I should be ok in regards with diodes?

Yah, I just looked again and see the diodes this time.

I just had a curious thought, and it aligns as to why you had to replace those diodes with jumpers before you saw anything. Others on the thread, please give your thoughts in my hypothesis.

I'm wondering if the rows/cols is "backwards".

All controllers strobe and sense. I don't know which way around xwhatsit is, but I'm wondering if it's backwards relative to this PCB. It's not like there's a standard or anything. That could explain the symptoms we're seeing...
__red__

Unread post24 Apr 2018, 03:43

X
__red__
 
Posts: 435
Joined: 14 May 2012, 20:12
Location: Beamspringville
Main keyboard: 4704
DT Pro Member: 0186
 
__red__ wrote:I don't know which way around xwhatsit is

It drives columns. Driving by rows is a clowny idea - i.e. mine.
DMA

Unread post24 Apr 2018, 06:25

X
DMA
 
Posts: 506
Joined: 23 May 2016, 06:24
Location: Seattle, US
Main keyboard: T420
Main mouse: Trackpoint
Favorite switch: beamspring
DT Pro Member: -
 
Great news!

I fixed the column jump issue by desoldering a resistor pack that was in the direct path of the rows:
Image

All switches no longer jump anything! Now just have to get all the switches working (some that used to work stopped after I desoldered the resistor pack etc)

But once I get every switch working I can start programming it ;) A good 85-90% of them work currently.

EDIT: Also before I did this I reinstalled those diodes I replaced with jumpers, but put them in backwards! Works just fine.
Mattr567
User avatar

Unread post26 Apr 2018, 01:14

User avatar
X
Mattr567
 
Posts: 467
Joined: 23 Jun 2015, 06:08
Main keyboard: Many things
Main mouse: G502
Favorite switch: Alps in general
DT Pro Member: -
 
That is good news indeed! Hope to get mine converted in the next few months based on your wiring for sure. Will want to see lots of close up pics of the end result :)
orihalcon

Unread post26 Apr 2018, 01:33

X
orihalcon
 
Posts: 492
Joined: 31 Jul 2014, 00:47
Location: Des Moines / Cedar Falls, IA, USA
Main keyboard: IBM Model F107
DT Pro Member: 0190
 
Typing to you on the Multistation!!!! Fully programmed and working :D

Image

Besides dead switches, the issue was with the rest of the diodes. You see, the later type PCB is actually 6KRO, so a few switches in the matrix had there own diodes. Welp, these were the switches that didn't work.

The fix, of course, was to flip them :lol: So I ended up flipping ALL the diodes on this PCB for everything to work. Only had 3 actual dead switches.

Desoldering the whole PCB just to do this was fun :roll:

Image
Image

Spacebar setup from behind

Image

Front of the PCB

Image

Flip-flopped diode

Image

Final wiring setup

Image

So whats left you might ask?

Well, I need to clean the switches, mod the case to fit everything, and install the solenoid, not much!! ;) Will keep updating this thread as I get stuff done.
Mattr567
User avatar

Unread post30 Apr 2018, 06:04

User avatar
X
Mattr567
 
Posts: 467
Joined: 23 Jun 2015, 06:08
Main keyboard: Many things
Main mouse: G502
Favorite switch: Alps in general
DT Pro Member: -
 
Awesome work, my dude!

I'm curious though - why did flipping diodes fix the switches? What is the primary effect of flipping diodes?
//gainsborough
User avatar
ALPSの日常

Unread post30 Apr 2018, 08:06

User avatar
X
//gainsborough
ALPSの日常
 
Posts: 892
Joined: 31 May 2016, 07:26
Location:
Main keyboard: some kind of alps keyboard
Favorite switch: clk: SKCM blue, lin: SKCL cream, tac: SKCM cream
DT Pro Member: 0188
 
//gainsborough wrote:Awesome work, my dude!

I'm curious though - why did flipping diodes fix the switches? What is the primary effect of flipping diodes?

I think I may have wired it backward, which means this PCB uses 16 rows 8 columns! But now its effectively the opposite :lol:
Mattr567
User avatar

Unread post01 May 2018, 04:39

User avatar
X
Mattr567
 
Posts: 467
Joined: 23 Jun 2015, 06:08
Main keyboard: Many things
Main mouse: G502
Favorite switch: Alps in general
DT Pro Member: -
 
Got so much done today! ;) I hooked up the solenoid and fully trimmed the case among other things.

Final wiring:

Image

Trimmed bottom case:

Image

Slight trimming of the bottom case here as well. Cut the foot (was already damaged anyway) to fit the solenoid and hot glued the end to the case so it looks unassuming from the outside. The metal pieces I cut from a junk Sharp typewriter plate and taped them to the bottom of the solenoid for noise purposes.

Image
Image
Image

Trimmed top case to fit the fat alts.

Image


So whats left you might ask?!

1. Trim PCB; needs a little in order to fit the driver PCB in the case.
2. Clean switches.
3. Clean case and cable, some caps.
4. Run USB through original AT cable for looks purposes.
5. Final assembly! :evilgeek:
Mattr567
User avatar

Unread post01 May 2018, 04:47

User avatar
X
Mattr567
 
Posts: 467
Joined: 23 Jun 2015, 06:08
Main keyboard: Many things
Main mouse: G502
Favorite switch: Alps in general
DT Pro Member: -
 
Mattr567
User avatar

Unread post01 May 2018, 04:59

User avatar
X
Mattr567
 
Posts: 467
Joined: 23 Jun 2015, 06:08
Main keyboard: Many things
Main mouse: G502
Favorite switch: Alps in general
DT Pro Member: -
 
Mattr567 wrote:I think I may have wired it backward, which means this PCB uses 16 rows 8 columns! But now its effectively the opposite :lol:

Man, if only someone had hypothesized that earlier in the thread ;-D
__red__

Unread post01 May 2018, 05:21

X
__red__
 
Posts: 435
Joined: 14 May 2012, 20:12
Location: Beamspringville
Main keyboard: 4704
DT Pro Member: 0186
 
__red__ wrote:
Mattr567 wrote:I think I may have wired it backward, which means this PCB uses 16 rows 8 columns! But now its effectively the opposite :lol:

Man, if only someone had hypothesized that earlier in the thread ;-D

Only take inspiration from the best ;)
Mattr567
User avatar

Unread post01 May 2018, 05:27

User avatar
X
Mattr567
 
Posts: 467
Joined: 23 Jun 2015, 06:08
Main keyboard: Many things
Main mouse: G502
Favorite switch: Alps in general
DT Pro Member: -
 
Its 100% done!!!! :D

Cleaning switches/case test fit

Image

Added SKCL Lock

Image

Trimming PCB for fitment

Image

(good thing I bagged it! :shock:

Image
Image
Image
Image
Image

Final fitment

Image

Keycaps going back on

Image

Final case trimmings

Image
Image
Image
Image

I wish this one turned out a little better, but it's not a huge deal. IRL cant really notice it.

Image

Cable wiring

Image
Image
Image

Oops
Spoiler:
Image


Multistation blood sacrifice :roll:

Spoiler:
Image


Final FINAL wiring:

Image

Finished! ;)

Image

Overall I love this board, it might be my best work yet! The look, the feel, the sound. Its the complete IBM package :evilgeek: #dta8 anyone? :P
Mattr567
User avatar

Unread post05 May 2018, 17:49

User avatar
X
Mattr567
 
Posts: 467
Joined: 23 Jun 2015, 06:08
Main keyboard: Many things
Main mouse: G502
Favorite switch: Alps in general
DT Pro Member: -
 
Very nice work, well done.
hypkx
User avatar
Chasing the Dream

Unread post05 May 2018, 18:31

User avatar
X
hypkx
Chasing the Dream
 
Posts: 1475
Joined: 18 Apr 2015, 09:55
Main keyboard: GH60 with gateron reds
Main mouse: Logitech MX Master
Favorite switch: Beamspring, anything MX style Red
DT Pro Member: -
 
Outstanding work! Congratulations! You just know you're gonna have to score another multistation and repeat this job, right? Because it wouldn't be proper that this should be a one-of-a-kind... :mrgreen:
depletedvespene
User avatar

Unread post06 May 2018, 10:03

User avatar
X
depletedvespene
 
Posts: 985
Joined: 13 Jul 2017, 21:11
Location: Chile
Main keyboard: IBM Model F122
Main mouse: Logitech G700s
Favorite switch: buckling spring
DT Pro Member: -
 

Who is online

Users browsing this forum: armatus, EB3K, Mechboards, SilenceGoo, Topdiff and 31 guests