geekhack Community > Keyboards

Why can't you just put topre switches in any board?

<< < (2/4) > >>

Keytrun:
Yea - for whatever reason I thought it was just a rubber cup that you put in place of a mx switch. Guess I was wrong lol.

spiceBar:
TL;DR: custom Topre keyboard is so difficult to do that it's never going to happen


I did not take part in the discussion about the custom Topre back in August, but since then I have opened and modded 4 Topre keyboards, so I'm more familiar with the internals.

First of all, my mod was just about silencing them. I have added slimmed down landing pads above the plungers in order to reduce dramatically the upstroke noise of the switches. I have not done any electronic mod.

However I can tell you that building a custom Topre board probably requires a lot of engineering and for this reason I don't see anyone ever making one. It's not that it is impossible, it's just that it's too much work and that only a highly skilled person or team could succeed. I think someone like that will find much more interesting projects to work on.

The difficulty is not mechanical. A Topre board like the Realforce (there are several models) or the FC660C are basically a steel plate and PCB sandwich, held together by a fair number of screws. Between the plate and the PCB you put Topre "switches".

The Topre switch has 4 parts:
- the housing
- the plunger
- the rubber dome
- the conical spring

The sensor parts are the copper pads and tracks on the PCB, located right under the mechanical parts of the switch. The conical spring has both a mechanical and electrical role (its proximity from the PCB is what is sensed).

Getting Topre switches is trivial. You don't need to purchase them from Topre, they don't sell them anyway. You just get a Realforce, disassemble and harvest the switches. Done.

Then you need to design the steel plate that will go with your keyboard layout. This has been done many times for Cherry MX, so technically speaking it's not a problem. It's a steel plate with holes with the right shapes and locations for your Topre switches.

Then you could first design a blank PCB (one with no traces) with screw holes that would match the ones in your plate.

At this point you can assemble the plate-switches-PCB sandwich and you get a fairly good looking custom Topre board. Mechanically, that's all there is to it. It would Thock like a real one. Put keycaps on it and find a case for a nice finish (for a 60% layout, I suggest a Poker case).

Now all you need to get a working custom Topre keyboard is to design a working PCB.

And that's where the story of the custom Topre board ends.

As pointed out earlier, an MX switch is an on/off switch. Current can go through or cannot, and this will be easily detected by a logical circuit. There are many microcontrollers with logical (on/off) input and output lines that will do the work. The only difficulty left, from an electronic point of view, is to deal with the switch chatter, the fact that when you press the switch it will not immediately be continuously conductive. For a very short amount of time it will oscillate between the conductive and non conductive state until it finally settles in a stable state. The software in the microcontroller has to be programmed to take care of this, but it's an easy problem to solve.

A Topre switch is totally different. It's not an on/off switch. It actually never lets current go through. Not in a way that would be detectable by a microcontroller anyway.

A Topre switch is a capacitor with a very low capacity. When you press the switch, the capacity changes a little bit (it increases). To detect this, you need dedicated hardware able to deal with analog signals. Depending on the way you attack the problem, you may need to send a reference tension (voltage) to the switch and record how the output voltage evolves over time. You can also send a signal with a given frequency and intensity and record how the switch changes the signal (the change when the switch is not pressed is going to be different than when it is pressed).

Here is a picture of a FC660C PCB. Notice the small ICs all over the PCB. I think these are circuits dedicated to the Topre switches, probably involving analog to digital converters or comparators:




On the FC660C I can count 5 of them (maybe one per row?). And there are additional ICs. And that's not all! The FC660C has an additional PCB. My guess is that the circuits on the main PCB deal with analog to digital (telling when a switch is on or off) and the additional PCB deals with turning these on/off signals into keycodes.

So reading the state of the switch involves dealing with analog signals and looking at how they evolve over time. It's not even as easy as measuring a voltage. You cannot just tell, say, that if the voltage is above a given threshold the switch is pressed, otherwise it's not pressed. It's much more complex than that, due to several problems:
- environmental conditions like heat and humidity
- environmental electrical noise (your computer generating radio waves, your mobile phone near the keyboard generating a hell of them)
- differences in products batches: components may vary enough over production batches that a single threshold may not work
- differences over the product lifetime: components age, dust accumulates, parts become corroded...

___q gave this link:
  http://ww1.microchip.com/downloads/en/AppNotes/00001334B.pdf
about how you read the state of a capacitive switch.

I have just read this document from start to end, and I can tell you that there are a number of challenges waiting for the brave custom Topre keyboard maker.

The challenges involve both electrical engineering and software engineering.

It's many times harder than designing an MX Cherry board.

So the problem is not that it is a patented system. It's not about getting the switches either. Actually yes, it's a problem to get them, but it's NOTHING compared to what's left to do once you've got them!

berserkfan:

--- Quote from: tuxsavvy on Thu, 16 January 2014, 07:17:45 ---There is a Topre clone floating around in China for your information. Not that no clones are available for the Topre due to patent. In fact there are some rumours going around that Topre and Cherry MX switches are probably going to have their patents expired and/or have already expired.

--- End quote ---

Exactly. Max 21 years. Both have been around longer than that. It's probably the investment in tooling that is high and nobody wants to waste money breaking into a market that's already locked up by the original companies.

daerid:

--- Quote from: spiceBar on Thu, 16 January 2014, 18:31:35 ---[most badass explanation on the subject of custom Topre ever]

--- End quote ---

This is exactly what I've been trying to say every time this comes up.

dorkvader:

--- Quote from: tp4tissue on Thu, 16 January 2014, 06:03:12 ---patent system

--- End quote ---

topre patent has expired.

Spicebar's post is excellent!
A few things: Most capacitive controller chips (like the microchip one linked) aren't "fast" enough to deal with KB signals properly. Sensing a touch on a touchscreen requires a different set of features than sensing a capacitive PCB keypress.

There are a few ways to do it: the one I am most familiar with is: you send a voltage pulse down a row and sense what comes back. you'll get different outputs if there are one switch held down in the line or multiple. Then you need to flush out the capacitors and send a voltage pulse down the next one. We like to call these senses and strobes, though I don't know if they have an official name.

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version