I have an idea for a new kind of keyboard, i think the best way to test it would be to make one and get it to work with my computer. If i can get each button on it to send a keypress signal like any other keyboard, i can work out the details with software like Kanata.
I have access to a 3D printer and i can make models in Blender, but i have no idea where to start with the electronics. Should i look into Arduino? Contact electronics manufacturers? How do i get from an idea on paper to a physical prototype?
I should mention, this thing is actually supposed to be a TV remote, because i think it’s bogus how little typing on a game console or smart TV has evolved since the '80s. I said keyboard because that’s basically what i’m trying to prototype, but normal mechanical keyboard hardware is rather bigger than what i’m trying to make. Little buttons my computer can treat as a keyboard would be a good step toward making a good design for a remote controller. Also, i am not a programmer. I know a little HTML and have dabbled with Inform6/7, but C and Python are magic wizard stuff to me.
A good USB chip can go a long way on an MCU. The old Arduino boards did indeed have a lot of problems. Despite that, the Pro Micro is pretty popular for mech kbs. Personally, I’m not a fan. Not because of its USB (the ATmega32U4 chip has an integrated USB 2.0 peripheral) but because it uses an 8-bit AVR chip. To me, 8-bit is a bit dated for a beginner, when 32-bit MCUs are so cheap.
To your point, the Adafruit KB2040, an MCU using the same footprint as a Pro Micro but with an RP2040, only has a USB 1.1 PHY (much lower bandwidth). It is generally a better choice though because it both has a USB PHY and is 32-bit with a much higher clock frequency. The keyboard HID information doesn’t take much bandwidth and isn’t much different from when it was first released in 1995 as a standard. So, as long as the MCU supports acting as a USB HID device, you’re good to go.
An RPi Pico is a great and cheap board but, I’m less of a fan due to its lack of USB type C. That’s why I’d recommend just about any other third-party board based on the RP2040 (or RP2350). For anyone who is not unreasonably annoyed by the connector type, the Pico/Pico 2 is great. For wireless, probably something based on an ESP32S3 or Nordic nRF series (Nordic is more proprietary but much better on power efficiency - a Nice!NanoV2 is a great wireless keyboard MCU).
I’ve got a RPi Pico with the RP2040 right here, and it does not have a type C connector but a B Micro.
And USB1.1 is more than sufficient for a keyboard - even at the usual low speed setting for a keyboard (1.5mbit/s) you’ll be hard pressed to fill that up with your typing.