Help! Model01 failure?

I have a Model01 that has just started to behave very erratically–it will work OK for a few minutes and then cease to respond. Sometimes it fails in the middle of a keypress, which causes the OS auto-repeat to kick in and I get hundreds of whatever I was pressing at the time. I’ve tried restarting the attached Mac, using a different USB port, using a different USB hub, connecting directly to my Mac, and using a different cable. I have a USB 3.0 (note, not 3.1) hub with indicator lights that show a device is connected, the light comes on when the keyboard is plugged in and does not go out when the keyboard stops working.

Note also that when I use an LED pattern that lights keys on keypress, when the keyboard stops responding the light pattern also stops working. What’s the next step here?

The next step would be to flash back a default firmware, just to fully eliminate bad code as a possible issue.

It’s also worth trying against a second computer.

After that, drop us a line at help@keyboard.io

Well, I’m batting 1000 here, upgraded to Catalina earlier in the week and can’t seem to build firmware anymore. Where can I get a known good firmware?

I believe the latest Arduino beta will build on Catalina.

Confirmed, 1.9.0 beta will build the firmware.

However, inexplicably, everything just started working again. I didn’t change anything, in fact I put everything back to the way it was when it was not working (cables, USB hub, etc.)

OK, I spoke too soon. Now when I plug the keyboard in it works for about 30 seconds, and then the right half stops working.

I can build the firmware, but I can’t get it flashed.

I also noticed that there is a spot on the bottom of the left half of the keyboard almost directly under the left palm key that gets pretty warm. Is this normal?

Here are the messages when I try to flash. For the record, I have flashed this keyboard several times in the past successfully.

$ make flash
BOARD_HARDWARE_PATH="/Users/cro/Documents/Arduino/hardware" /Users/cro/Documents/Arduino/hardware/keyboardio/avr/libraries/Kaleidoscope/bin//kaleidoscope-builder flash
Building ./Model01-Firmware 0.0.0 into /var/folders/6s/96w427qs18j586y89tlwdbkr0000gn/T//kaleidoscope-cro/sketch/21368873-Model01-Firmware.ino/output...
- Size: firmware/Model01-Firmware/Model01-Firmware-0.0.0.elf
  - Program:   24896 bytes (86.8% Full)
  - Data:       1338 bytes (52.3% Full)

To update your keyboard's firmware, hold down the 'Prog' key on your keyboard,
and then press 'Enter'.

When the 'Prog' key glows red, you can release it.


2019-10-14 12:16:58.771 system_profiler[29893:4559344] SPUSBDevice: IOCreatePlugInInterfaceForService failed 0xe00002be
[...]
2019-10-14 12:17:02.131 system_profiler[29996:4560323] SPUSBDevice: IOCreatePlugInInterfaceForService failed 0xe00002be
Connecting to programmer: .avrdude: ser_recv(): read error: Device not configured
avrdude: butterfly_recv(): programmer is not responding

avrdude: ser_recv(): read error: Device not configured
avrdude: butterfly_recv(): programmer is not responding
avrdude: ser_drain(): read error: Device not configured
avrdude: ser_send(): write error: Device not configured
avrdude: ser_recv(): read error: Device not configured
avrdude: butterfly_recv(): programmer is not responding
avrdude: ser_send(): write error: Device not configured
avrdude: ser_recv(): read error: Device not configured
avrdude: butterfly_recv(): programmer is not responding
avrdude: ser_recv(): read error: Device not configured
avrdude: butterfly_recv(): programmer is not responding
avrdude: ser_send(): write error: Device not configured
avrdude: ser_recv(): read error: Device not configured
avrdude: butterfly_recv(): programmer is not responding
Found programmer: Id = ""; type = 
    Software Version = .; Hardware Version = .
avrdude: ser_send(): write error: Device not configured
avrdude: ser_recv(): read error: Device not configured
avrdude: butterfly_recv(): programmer is not responding
avrdude: ser_send(): write error: Device not configured
avrdude: ser_recv(): read error: Device not configured
avrdude: butterfly_recv(): programmer is not responding
avrdude: error: buffered memory access not supported. Maybe it isn't
a butterfly/AVR109 but a AVR910 device?
avrdude: initialization failed, rc=-1
         Double check connections and try again, or use -F to override
         this check.

avrdude: ser_send(): write error: Device not configured
avrdude: ser_recv(): read error: Device not configured
avrdude: butterfly_recv(): programmer is not responding
avrdude: error: programmer did not respond to command: leave prog mode
avrdude: ser_send(): write error: Device not configured
avrdude: ser_recv(): read error: Device not configured
avrdude: butterfly_recv(): programmer is not responding
avrdude: error: programmer did not respond to command: exit bootloader
avrdude: ser_close(): can't reset attributes for device: Device not configured
avrdude: ser_open(): can't open device "/dev/cu.usbmodemkbio011": No such file or directory
make: *** [flash] Error 1

Some more information here–I have two Model01’s (one for home and one for work), and I am unable to flash either, so I suspect that the issue with flashing is macOS Catalina-related.

Some searching turned up this thread:

Which discusses problems with Catalina and the port-probing that happens before the flash.

Furthermore, I took the failing Model01 home and it worked fine for a short time, then the right half stopped again. I will swap keyboards and take the other to work tomorrow and see if it starts to behave strangely.