USB Keyboard - slow response/dropped keypresses


Author Message
Amnesie
Guru

Joined: 30/06/2020
Location: Germany
Posts: 746
Posted: 01:52pm 04 Jul 2025      

Only from the logic side of views - and please correct me if I am wrong - some of you suggested it might have something to do with pullups, OTG (usb On The Go) compatibility, or the source of the problem might be the keyboard(s) (five different!) itself.

I think I can prove that it must be (as initially stated by me) the USB-variant firmware.

Why is that so?

Let's think of the most simple scenario I've tested:

  Quote  
A Raspberry Pi Pico 2 with the latest (release) firmware of the PicoMiteVGA USB
which has a jumper-connection between Vusb & Vsys (Vsys is 5v via bench power supply)
the keyboard is connected via a USB OTG-adaptor-cable (micro-usb to usb-a-female)


Problem occurs with all five keyboards (not required to use 5 or 6 keys in a row, four keys are enough, as you can see in my video here and here .

Now the interesting part:

I am using the firmware and circuit of this USB to PS/2 converter by the user "NoOne": Link .

I am following the suggested schematic for it and I am using the SAME (!) five keyboards which are is connected via the SAME (!) USB OTG-adaptor-cable (micro-usb to usb-a-female).

No problems at all.


Now one can think, ok ok but the converter uses a Raspberry Pico RP2040, and above I am talking about the Pico 2. So I tested this above scenario with the RP2040 VGA usb firmware. Same problems with keyboards.


So to sum up:

we have the same OTG cable, the same Microcontrolerboard (Raspberry Pi Pico), the same keyboards.... what is different? The firmware.


And now to be perfectly clear: I really don't want to say: "Ha! I knew it! I am right!" because there might be something I oversee here, I am a bit more cautious this time. But can anybode undersand what I am trying to say, I mean logically? It can not be the OTG cable or pullupresistors, at least as far as I can THINK of.

In short: when it is a problem with OTG or pullups or any host mode stuff, why does everything work fine with the same setup but different firmware (NoOne Converter)?


And even If I am right about this observation (logically) - sadly it doesn't really help to solve the root cause of it. I am aware of this... Hm.. but if I am really correct with this, maybe one could better track down - since we know it is not a pullup or OTG thing?

Possible idea, but I think you (Peter) already thought about that: comparing the usb implementation of your MMBASIC firmware with the usb implementaion of "NoOne". Maybe this is easier said than done, since MMBASIC is way more complex. I have no idea about all this...  


Greetings
Daniel
Edited 2025-07-05 00:18 by Amnesie