So I’ve made a little progress. Using the Zadig tool that Jesse suggested, I managed to install the proper driver. The trick was to choose the right one. There are 4 different drivers available. Previously I chose the one it defaulted to, “WinUSB”. That didn’t work. Then I tried “USB Serial (CDC)”, and now the keyboard is showing up as “COM3 (Keyboardio Model 01)” in Arduino’s Tools->Port menu (and in the device manager too).
Trying to upload the firmware (holding down the prog key) fails though.
Sketch uses 18152 bytes (63%) of program storage space. Maximum is 28672 bytes.
Global variables use 1659 bytes (64%) of dynamic memory, leaving 901 bytes for local variables. Maximum is 2560 bytes.
Forcing reset using 1200bps open/close on port COM3
PORTS {COM1, COM3, } / {COM1, COM3, } => {}
PORTS {COM1, COM3, } / {COM1, COM3, } => {}
PORTS {COM1, COM3, } / {COM1, COM3, } => {}
PORTS {COM1, COM3, } / {COM1, COM3, } => {}
PORTS {COM1, COM3, } / {COM1, COM3, } => {}
PORTS {COM1, COM3, } / {COM1, COM3, } => {}
PORTS {COM1, COM3, } / {COM1, COM3, } => {}
PORTS {COM1, COM3, } / {COM1, COM3, } => {}
PORTS {COM1, COM3, } / {COM1, COM3, } => {}
PORTS {COM1, COM3, } / {COM1, COM3, } => {}
PORTS {COM1, COM3, } / {COM1, COM3, } => {}
PORTS {COM1, COM3, } / {COM1, COM3, } => {}
PORTS {COM1, COM3, } / {COM1, COM3, } => {}
PORTS {COM1, COM3, } / {COM1, COM3, } => {}
PORTS {COM1, COM3, } / {COM1, COM3, } => {}
PORTS {COM1, COM3, } / {COM1, COM3, } => {}
PORTS {COM1, COM3, } / {COM1, COM3, } => {}
PORTS {COM1, COM3, } / {COM1, COM3, } => {}
PORTS {COM1, COM3, } / {COM1, COM3, } => {}
PORTS {COM1, COM3, } / {COM1, COM3, } => {}
Uploading using selected port: COM3
C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude -CC:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf -v -V -patmega32u4 -cavr109 -PCOM3 -b57600 -D -Uflash:w:C:\Users\UTC-BN~1\AppData\Local\Temp\arduino_build_634134/Model01-Firmware.ino.hex:i
avrdude: Version 6.3, compiled on Jan 17 2017 at 12:00:53
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch
System wide configuration file is "C:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf"
Using Port : COM3
Using Programmer : avr109
Overriding Baud Rate : 57600
avrdude: ser_open(): can’t open device “\.\COM3”: The system cannot find the file specified.
avrdude done. Thank you.
Problem uploading to board. See http://www.arduino.cc/en/Guide/Troubleshooting#upload for suggestions.
Following the troubleshooting link, there might have been potential for some help once, but it leads to a dead link (that “RunOnce” thing, whatever it is).
Edit: that somehow leads me to believe that it’s still a driver issue.
Edit2: I’ve gone through pretty much every google search result and the suggestion is always the same: “make sure you have the right board selected in arduino. make sure you have the right port selected in arduino (check your device manager for the COM number)”.
There is also this guy who says:
I had to physically reset my MEGA board before it would take the compile. My error was…
avrdude: ser_open(): can’t open device
and after I reset the code, it took it.
Would that make any sense for the Model01?
Edit3: don’t know if it’s any help, but here’s the debug info on the COM3 Model01:
Availability Binary Capabilities CapabilityDescriptions Caption ConfigManagerErrorCode ConfigManagerUserConfig CreationClassName Description DeviceID ErrorCleared ErrorDescription InstallDate LastErrorCode MaxBaudRate MaximumInputBufferSize MaximumOutputBufferSize MaxNumberControlled Name OSAutoDiscovered PNPDeviceID PowerManagementCapabilities PowerManagementSupported ProtocolSupported ProviderType SettableBaudRate SettableDataBits SettableFlowControl SettableParity SettableParityCheck SettableRLSD SettableStopBits Status StatusInfo Supports16BitMode SupportsDTRDSR SupportsElapsedTimeouts SupportsIntTimeouts SupportsParityCheck SupportsRLSD SupportsRTSCTS SupportsSpecialCharacters SupportsXOnXOff SupportsXOnXOffSet SystemCreationClassName SystemName TimeOfLastReset
2 Kommunikationsanschluss (COM1) 0 FALSE Win32_SerialPort Kommunikationsanschluss COM1 Kommunikationsanschluss (COM1) TRUE ACPI\PNP0501\0 {1} FALSE OK Win32_ComputerSystem bla
2 TRUE Model 01 (Interface 0) (COM3) 0 FALSE Win32_SerialPort Model 01 (Interface 0) COM3 115200 0 0 Model 01 (Interface 0) (COM3) TRUE USB\VID_1209&PID_2301&MI_00\7&BC4F96A&0&0000 {1} FALSE Modem Device TRUE TRUE TRUE TRUE TRUE TRUE TRUE OK 3 FALSE TRUE TRUE TRUE TRUE TRUE FALSE FALSE FALSE FALSE Win32_ComputerSystem bla
Edit4: Arduino does seem to react to the keyboard when I upload something though. If I press and hold prog while uploading the hex file, it says
avrdude: ser_open(): can’t open device “\.\COM3”: The system cannot find the file specified.
If I don’t press prog however, it says
avrdude: ser_open(): can’t set com-state for “\.\COM3”
So clearly, there is something going on between the two.