Keyboard Builders' Digest
Save 5% at Typeractive! Code: KBDNEWS
Keyboard Builders' Digest / Tips & Tricks

Forward voltage calculations

Some hard numbers and experiments for those who'd like to try their hands on matrices utilizing the voltage drop across diodes to eliminate ghosting.

KBD.news
Published January 1, 2000
Creators! Feel free to tip me off about your keyboard related projects to bring them to 140K readers.

This is a dump of my measurements and experiments. I wanted to figure out the required forward voltage of the diodes, the threshold voltages for LOW and HIGH, etc. Will tidy it up later but reference it from some posts so here it is.

The following measurements were taken at 23°C room temperature (this may be important with these matrices):

Pic:

KB2040 experiment 2022-05-06, 23°C(!)

  • G->RAW (closed (skip voltage regulator)) 5.127V
  • G->RAW (open) 4.871V
  • G->3V 3.277V
  • G->D2 (pulled up) 3.270

Method

  • DP832 laboratory power supply
  • Common ground + PS out connected directly to D2 of an RP2040 on a Adafruit KB2040.
  • Plotting LOW/HIGH in Mu with 0.01 delay in code.
  • Starting from 3.270, the voltage was decreased/increased by 0.001V until the signal stabilized.
  • I waited 60 sec until the value (H/L) read on the pin was totally constant: plotted by 0.01 sec this means 6,000 consecutive measurements without a single outlier.

Results

  • Vhigh min: 1.388V
  • Vlow max: 1.283V

So no man's land range is: 1.39-1.28V

Btw, according to the RP2040 datasheet (3.3V):

  • V_IL(max)=0.8V
  • V_IH(min)=2V
  • V_HYS=0.2V

Empirical part

Trying 1/2/3/4 diodes with a switch.

1N4148 V_F=0.61-0.62 according to the diode function of my multimeter. When in a circuit, it was rather 0.7V.

1->2.66 2->2.05 3->1.44 Damn… 1.3 kellene…

1N4001? 0.7V

1->2.570 2->1.870 3->1.170 Yay!!!

PULLUP+GND

1N4007: is this also 0.60-62V?! 1->y 2->y 3->triggers very rarely, almost never (0-2/10)

1N4148: 0.60-61V… 1->y 2->y 3->triggers very rarely, almost never (0-2/10)

PULLDOWN+"3V"

(Conclusion, this direction doesn't work well. Use pullup instead.)

Fordítva: pulldown és feszkót neki! Ez így menne egyáltalán?

1N4148 (0.60-61V?)

1->y 2->y 3->y 4->triggers rarely (2/10)

1N4007 (0.62V?)

1->y 2->y 3->y 4->triggers a lot! (?)

It turns out you can't simply add up the individual forward voltages. Connecting the diodes results in slightly less cumulative drop than you'd expect for some reason (it may be an error in my measurement):

1N4148 0.614+0.623=1.215 0.614+0.623+0.608=1.773 0.614+0.623+0.608+0.615=2.287-2.426

1N4007 0.612+0.622=1.223 0.612+0.622+0.608=1.750 0.612+0.622+0.608+0.615=2.293

Pro Micro 5V Atmega32u4

  • raw: 4.727 (through voltage regulator, J1 NOT closed)
  • vcc: 4.678
  • high pin: 4.625

Results

  • High: >=1.449
  • Low: <=1.405

1N4148 V_F=0.61-0.62

0: 4.625 1: 4.015 2: 3.405 3: 2.795 4: 2.185 5: 1.575 6:

4.625-1.405=3.220 /3=1.071V

Ikeji's Vf measurement method

It seems the forward voltage is dependent on the actual current so you can't really measure it with the multimeter's diode mode.

Instead, you should measure the voltage drop in a similar circuit you want the diodes use in:

Pic:

KB2040/RP2040, 3.3V

  • G->D2 (pulled up) 3.270V
  • Vhigh min: 1.388V
  • Vlow max: 1.283V
  • No man's land range: 1.39-1.28V

Monitoring triggers and measuring Vf with multimeter:

1N4148

  • 1x->y (0.4674V)
  • 2x->y
  • 3x->triggers rarely, almost never (0-2/10) (1.406V)
  • 4x->n (1.861V)

1N4007

  • 1x->y (0.4836V)
  • 2x->y
  • 3x->triggers rarely, almost never (0-2/10) (1.436V)
  • 4x->n (1.909V)

To be continued…

Do you like this post? Share, donate, subscribe, tip me off!

Published on Sat 1st Jan 2000. Featured in KBD #0.


Related

USB-C Pro Micro size comparison

Fantastic-Onion4292 posted some photos of the new USB-C Pro Micro compared to the classic one.

Boston case

Technofrikus shared a case design for Pylon's Boston, a compact 120%.

MBK shine-through

The range of low profile keycap options may grow further with MBK Legend‡ Glow [IC] (gallery). Posted by fk-caps.

Tactile stems

Tactile stem comparison by jk_pens.

YEET keycap profile

YEET is a keycap profile by shogzilla with both MX and Choc compatible files.

Continuously variable tenting

Continuously Variable Tenting – An 3D-printed open-source tenting solution by macroxue.

×
top