Univac Keyboard (Micro Switch) - Now USB converted via custom TMK scan module!

User avatar
snacksthecat
✶✶✶✶

27 Nov 2019, 16:01

DMA wrote:
27 Nov 2019, 03:27
I guess you're not selecting the row, you're reading it. Took me some time to understand that this is a generating/active matrix, not a scanned/passive one.

Plus a subtle possible bug - if you don't have anything pressed in a row it's not updated. If you get an ideal reading (that is, a single key is pressed, detected, and then released while outside of the main scan loop) - you'll get a stuck key, because allow_select will always be false and matrix not updated anymore.

To fix - either zero out matrix_debouncing row if allow_select is false (pro tip - keep shorter if branch on top, so "if (!allow_select)" - or zero it out after you assign matrix row from matrix_debounced.
Thanks a lot for the advice! I probably would have scratched my head for a long time trying to figure that out.

If I remember correctly, I got it "working" then celebrated by not touching the damn thing for six months. So no real testing of any sort.

In fact as we speak, the board sits right next to me. I need 6 more sensors to replace the ones that I killed desoldering. Very, very sensitive to heat.

Image

If anyone has a line on some spare switches or sensors, I would love to finish this off. This beast deserves better than to be relegated to a life sitting on a shoe rack in my living room.

User avatar
DMA

28 Nov 2019, 06:50

so.. sensors themselves don't contribute anything to the key feel, I guess. See if you can put a SOT-23 into the switch. Or a SIP-3 - might be easier. There are hall effect sensors in those form-factors. Some of them even have a disable pin which will allow you to build a matrix out of them.

gipetto

28 Nov 2019, 14:21

I don't know much about hall effect but I bought two of these alps em11b and according to the datasheet they are 5v friendly, so easy to interface with. you could remove the sensors from them. https://www.aliexpress.com/item/32749448630.html

User avatar
XMIT
[ XMIT ]

28 Nov 2019, 16:39

Just catching up here. You're really lucky, to have had three rows of "hold" type switches up top. I didn't have that option with mine.

I still need to finish converting mine. There are two options for how I'll proceed:

1. Strobe power to the "pulse" switches to turn them into "hold" switches, effectively.
2. Replace the sensors (create new Hall daughterboards).

Either of these may require some PCB work, possibly up to an entire PCB.

Glad you got this working!

User avatar
snacksthecat
✶✶✶✶

28 Nov 2019, 20:44

gipetto wrote:
28 Nov 2019, 14:21
I don't know much about hall effect but I bought two of these alps em11b and according to the datasheet they are 5v friendly, so easy to interface with. you could remove the sensors from them. https://www.aliexpress.com/item/32749448630.html
DMA wrote:
28 Nov 2019, 06:50
so.. sensors themselves don't contribute anything to the key feel, I guess. See if you can put a SOT-23 into the switch. Or a SIP-3 - might be easier. There are hall effect sensors in those form-factors. Some of them even have a disable pin which will allow you to build a matrix out of them.
DMA wrote:
28 Nov 2019, 06:50
so.. sensors themselves don't contribute anything to the key feel, I guess. See if you can put a SOT-23 into the switch. Or a SIP-3 - might be easier. There are hall effect sensors in those form-factors. Some of them even have a disable pin which will allow you to build a matrix out of them.
Interesting. I had just presumed that this type of sensor was special to Micro Switch switches and never really thought about looking outside of that world. Glad to know there are some other options out there. I may pick some of these things up to play around with or at least to have on hand.

Slom actually hooked me up with links to a couple of ebay listings selling loose switches. I had looked there in the past plenty of times but could only find single switches for $20 each. Funny how that works. According to Slom's note and the model numbers on the switches, one batch of them should be the "sink hold" variety which is great news. I guess I'll find out soon enough when I test them out.
XMIT wrote:
28 Nov 2019, 16:39
Just catching up here. You're really lucky, to have had three rows of "hold" type switches up top. I didn't have that option with mine.

I still need to finish converting mine. There are two options for how I'll proceed:

1. Strobe power to the "pulse" switches to turn them into "hold" switches, effectively.
2. Replace the sensors (create new Hall daughterboards).

Either of these may require some PCB work, possibly up to an entire PCB.

Glad you got this working!
Yeah I had explored trying alternative methods to get the pulse switches to hold but a lot of the methods suggested by folks were a bit over my head, and/or like you said, require a new PCB.

Which would be a shame because the PCBs on these Micro Switch boards are really neat. The one in this board is so cool looking, I'm almost sad that it's hidden inside the case.

If you do end up printing a new PCB for yours, you could frame the old one up and make some awesome wall art!

The tip on the switches was enough motivation for me to give everything a good scrub down and finally put it back together.

One challenge I'm going to have is figuring out where to place the microcontroller. Most of the components on this board were all at the very front of the board, where there's not a ton of space (especially because the PCB is lifted up by risers so there's a lot of room in "the basement"). There's also a ton of rows and columns necessitating a lot of wires which translate into bulk inside the case. It'd be a breeze if everything was located toward the back where there's plenty of room.

I'll probably see first if it will squeeze into the remaining space in the front. If that doesn't work, I'll end up running longer wires so I can seat it all comfortably in the back. She'll be pretty on the outside but likely to be a mess inside :lol:

Image

Image

Almost to the finish line!

I can't stress enough how much I appreciate all the advice I've gotten in this thread. Really, huge thanks to everyone who helped me out along the way.

User avatar
snacksthecat
✶✶✶✶

29 Nov 2019, 21:31

What do you guys think; black or gray?

Image

Both cables made by SantiGo and I'm in love with them.

Originally the keyboard used ribbon cable so I will probably need to drill a hole in the case. Still trying to figure out where to place the controller but I'm leaning towards feeding the wires up the left side. I tested this late last night and there's plenty of space there.

Edit: Just noticed the coils in Mr. Gray are stretched out in a spot. This is my bad. I had it hooked up to my PC and left it dangling for several months, forgetting about it and stretching it out. Shouldn't happen with normal use.
Last edited by snacksthecat on 30 Nov 2019, 01:20, edited 1 time in total.

User avatar
ZedTheMan

29 Nov 2019, 22:30

I think black fits the overall keyboard better, though the grey looks nice with some of the function caps. I like how the black cable pops.

User avatar
JP!

30 Nov 2019, 01:37

That is one sexy Micro Switch board. I'd go with black myself.

User avatar
snacksthecat
✶✶✶✶

30 Nov 2019, 22:24

I think I prefer black as well. Goes really nicely with the overall look.

Well I got an email notification this morning that the switches have just shipped out. So unfortunately I won't be able to finish that piece off during my long holiday weekend. Small bummer but I guess it gives me time to focus on other things.

The matrix requires 33 wires, plus 2 more for Vcc and Gnd for a grand total of 35. I decided that I don't want to deal with all that soldering to the teensy unit. Instead I've simply slapped on some header pins and am using female jumper wires to connect. In the past when I've soldering a bunch of wires to the controller, I found it very difficult to get each wire the appropriate length then hold it in place to solder. Usually my wires end up too long/short and I end up with this push/pull thing happening.

This many wires nearly maxes out the left and right side of the teensy++ 2.0 pins. The only unused GPIO pins on those left/right sides are D6 and C7. Now as I'm writing this, I think one of the wires here will be used for the LED on caps lock. Anyways, this approach saved me a lot of time and frustration. It's also will be easier to switch things around in case I made a mistake.

Image

Easter egg: if you look closely in the photo, you can see this keyboards little brother in the background!

Finally, I think I've solved my controller replacement issue. As I mentioned before, there's not much room towards the front. However, there's ample room along the sides to run the wires. And there's even more space under the PCB where the controller can live. Here's a quick gif that shows what I'm talking about. The wires aren't all tucked in nicely but you get the general idea.

Image

Finally, I'll probably carve out some time today/tomorrow to figure out my cable issue. Any tips for drilling the case? I would feel awful if I did something wrong and cracked it. I'm not sure of the material it's made out of but there are some markings on the inside. Maybe those indicate?

Thanks!

User avatar
snacksthecat
✶✶✶✶

10 Dec 2019, 01:27

The replacement switches arrived over the weekend. Here are some pictures and stuff.

New switch on the left, old on the right...

From the top they look pretty similar. At least the housings look compatible if I wanted to swap in my sliders.
Image

However from the side you can see that my sliders go off at an angle.
Image

Anyways, I mostly bought them to harvest the sensors.

There was a second batch as well, which did not have "hold" type sensors. I'm not sure why I bought these but maybe they will come in handy at some point down the road.

The second batch came in this nifty little box.

Image

Here are the switches from the two batches side by side.

Image

User avatar
wadeak78

29 Feb 2020, 07:19

Is there a different model number on the different types of sensing pcbs?

I have a Micro Switch SD keyboard that is completely homogeneous in switch type and sensor pcb, which is confusing to me because I was under the impression that the modifiers and F keys would be 'hold' switches.

orihalcon

29 Feb 2020, 15:32

Very impressive progress!

Out of curiosity, which of the below are the ones that are difficult to convert?
(from wiki/Micro_Switch_SD_Series )

A - Sink level (4 pins, 2 redundant sense lines)
B - Sink pulse
C - Source level
E - 3 pins, 1 sense line
K - Timed repeat (4 pins, 2 redundant sense lines)
S - Logic scan (4 pins: +5, OUT, IN, GND)

Also, do we know how to convert micro switch SW series? If so, what sensor type would they be equivalent to in the SD series?
(see wiki/Micro_Switch_SW_Series )

I have yet to be able to make a simple bench circuit that triggers when I press any of the SD or SW variants that I have around, but I'm pretty sure it's possible based on all the work/conversions that everyone else has done. Sounded like it would be very simple for some variants, but I'm definitely not an EE to know exactly what it all means.

Great work as always, Snacks!

Slom

29 Feb 2020, 20:14

No idea about SW.

For SD the really good ones are 3 pin and logic scan.

But I think all have been converted in one form or another by now.

User avatar
snacksthecat
✶✶✶✶

01 Mar 2020, 03:11

orihalcon wrote:
29 Feb 2020, 15:32
Very impressive progress!

Out of curiosity, which of the below are the ones that are difficult to convert?
(from wiki/Micro_Switch_SD_Series )

A - Sink level (4 pins, 2 redundant sense lines)
B - Sink pulse
C - Source level
E - 3 pins, 1 sense line
K - Timed repeat (4 pins, 2 redundant sense lines)
S - Logic scan (4 pins: +5, OUT, IN, GND)
I'm unfortunately not familiar enough with the other varieties to be able to help you here. But in general "pulse" is harder than "hold" because "pulse" means that when you press a key, it just triggers a single pulse; even if you are holding the key down. "Hold" type switches show as active for the entire time the key is pressed. Maybe that was obvious, but felt like it was worth saying ¯\_(ツ)_/¯

Your list goes way beyond that one simple distinction, so it's murky waters for me. I did come across one of these "other" varieties at one point but don't remember which bucket it would have fallen in.
orihalcon wrote:
29 Feb 2020, 15:32
Also, do we know how to convert micro switch SW series? If so, what sensor type would they be equivalent to in the SD series?
(see wiki/Micro_Switch_SW_Series )
Just the other day I found an SW keyboard that I've had for 2 years and had no clue about. I did a 3D scan of it last week.

I'd like to get around to playing with the switches. Just not sure when I'll have time to. But I'll definitely share what I find when that day comes around.

It would be awesome to get this SW board working on a PC. It's all modular so you could even reconfigure the placement of the switches, as long as those spots are tied into the matrix. So a usable layout might be possible.

Post Reply

Return to “Workshop”