geekhack
geekhack Community => Keyboards => Topic started by: intelli78 on Thu, 05 June 2014, 05:52:26
-
I just built my Ergodox. I used SMD diodes and a couple thru - hole diodes because I messed up some SMD diodes and didn't have enough spares.
however, the switches I used have internal diodes. I did not realize that these mitigate the need for other diodes. ALSO, I did not pay any attention to the polarity of the in-switch diodes. I thought they were purely for physical stability of the switches.
Nevertheless, the Ergodox works great. So my question is, why is it working despite having two sets of diodes (with lots of the in-switch diodes no doubt the wrong polarity)? Are there potential consequences to using it this way? I am not very knowledgeable in electronics, but I want to learn more, so please be as detailed as you like when answering. Thanks :)
-
If you did not solder the in-switch diodes, they won't have any effect on the circuit.
However, if you did solder these diodes ...
they still won't affect the circuit.
Since the current can only go one way through the diodes, if you have two diodes in the same direction, they won't affect the current.
--->
--->
If the two diodes are in opposite direction, the current will pass through the one with correct polarity (green).
--->
<---
However, I suspect that you might have issues with the NKRO function. Not sure about this.
Just my two cents, and I might be wrong.
-
Thanks for the reply. I will wait for more info about NKRO. I did solder the in-switch diodes.
-
I just built my Ergodox. I used SMD diodes and a couple thru - hole diodes because I messed up some SMD diodes and didn't have enough spares.
however, the switches I used have internal diodes. I did not realize that these mitigate the need for other diodes. ALSO, I did not pay any attention to the polarity of the in-switch diodes. I thought they were purely for physical stability of the switches.
Nevertheless, the Ergodox works great. So my question is, why is it working despite having two sets of diodes (with lots of the in-switch diodes no doubt the wrong polarity)? Are there potential consequences to using it this way? I am not very knowledgeable in electronics, but I want to learn more, so please be as detailed as you like when answering. Thanks :)
Are you sure it's working well?
Have you tried to press multiple simultaneos keys at once?
-
Yup. Used EK switch hitter and I am getting 6kro on all combinations.
-
Yup. Used EK switch hitter and I am getting 6kro on all combinations.
So, it's working properly - the diodes should be okay (a few useless extras, but okay).
-
A diode in one direction connected in parallel with a diode in the other direction is as if there was a jumper wire instead of any diode.
A jumper instead of a diode will not reduce rollover but may cause "ghost"/"phantom" key presses in certain situations: If you press three keys in a rectangle then the key in the fourth corner of the rectangle would be registered as pressed even if it isn't.
Now, these rectangles I speak of are in the keyboard's logical matrix, but the ErgoDox's layout of alphanumerical keys pretty much correspond to its logical matrix.
-
Interesting. But for what it's worth, I am completely unable to make the keyboard register any ghost key presses or malfunction in any way. Trying all kinds of combinations, and everything works fine. I am fine with that (obviously) but I'm still curious why. By all accounts, it should be exhibiting weird behavior.
-
Hmm.. Nobody in the thread has so far mentioned that the diodes should be in the other direction on the left side only.
Also, if all your diodes are the "wrong" way on the left side, then there is also a compile-time switch for the firmware that will make the keyboard work with a keyboard that was made that way.
Have you verified that some switches really do have two diodes and that those diodes are in different directions?
An in-switch diode should be visible through the switch's LED slot.
-
All of the switches have two diodes (except the three with the LED, because I removed the in-switch diodes to make room for the LEDs). There are the SMD diodes and the internal ones, both soldered in.
The SMD diodes are all in the correct orientation (flipped on left side only). Not sure which direction the in-switch diodes are, but the are all the same, on both sides, because I didn't alter any of them. :-\ So on one side they must be the same direction as the SMDs, and the opposite on the other. Not sure which is which.
So weird that it works, haha.
-
Interesting.
Forward voltage?
I guess...
In that situation gohst circuit can consist of three diodes and for example Vf of 1N4148 is 0.6V.
VIL(Input Low-voltage) max of AVR is 0.3VCC, so the voltage is beyond the threthold.
(0.3*5V(USB) = 1.5V) < (0.6V*3 = 1.8V)
a b
| |
x--1----3---
| |
y--2----4---
| |
Suppose that switch1 has defective both way diodes and others have a normal diode.
When you prress switch1, 2 and 3, switch 4 can be a ghost(phantom) key.
Now to read switch status of row y it is given low outpu then switch4 can be ghost key.
In this case ghost circuit routes through column b, sw3, defective sw1, sw2 to row y.
This circuit consists of three diodes.
-
I'm pretty sure the PCB is designed such that any existing in-switch diodes are going to be pointed the right direction. Then again, maybe they’d all be backwards for the other hand? I’d have to look at the pcb directly again.
-
I'm pretty sure the PCB is designed such that any existing in-switch diodes are going to be pointed the right direction.
Nope. In-switch diodes on the left side should point the other direction.
I can confirm this because I built my ErgoDox with only in-switch diodes and the stock firmware directly from Massdrop's configurator.