geekhack
geekhack Community => Keyboards => Topic started by: Deadlydollar on Tue, 09 March 2021, 02:04:27
-
All,
I am currently thinking about building a keyboard with an Arduino. I am currently trying to find if there is any data about poll rates/responsivity that exists. As well as other capabilities such as NKRO and etc. This topic isn't really discussed and what to expect performance wise from custom builds. I am curious if anyone in the community has any answers or test done on different builds even with another controller other than an Arduino and what's the response times. I'm not factoring keys.
-
I think that's because in the enthusiast space, the topic is mostly settled.
Most DIY keyboard builders nowadays use the QMK firmware which is a fork of the TMK firmware that used to have the crown before it.
Those are used mostly on the ATmega32u4 microcontroller which is in a several Arduino boards, but the firmwares are written in C for AVR directly without having the Arduino environment as an abstraction layer over the hardware.
There is support also for various ARM Cortex M-based microcontrollers but those are much less used.
You'd get NKRO by using QMK/TMK and using diodes in the keyboard matrix. Some years ago enthusiast programmers found how to tweak the USB protocol to combine NKRO without losing full compatibility with quirky BIOS'es.
You'd get (up to) 1000Hz polling rate by using a chip capable of and configured to use Full Speed USB -- which you get with AVR and QMK/TMK.
I think that there might be room to optimise the case when there are many key-events happening during the same millisecond but that rarely happens in practice.