First firmware flash failed; keyboard no longer working

tl;dr: first flash sort of bricked my new M01.

I am new to Arduino, and unsure where to go, from here. Is there a fallback image I can load? Can someone please point me to the troubleshooting instructions? (I know they’re around here, somewhere, but not finding them. Thanks.)


Windows 10. The OS is on C:\ (an SSD) and Arduino is installed on D:\ (the HDD)
Keyboardio firmware version 1.94.0-beta
Arduino 1.8.8

The first time I tried to build the default firmware, I got the following:

Arduino: 1.8.8 (Windows 10), Board: "Keyboardio Model 01"

WARNING: Category 'Debug' in library Kaleidoscope-Hardware-Virtual is not valid. Setting to 'Uncategorized'
D:\documents\Arduino\hardware\keyboardio\avr\libraries\Kaleidoscope\src\kaleidoscope\plugin\LED-Wavepool.cpp: In member function 'kaleidoscope::EventHandlerResult kaleidoscope::plugin::WavepoolEffect::onKeyswitchEvent(kaleidoscope::Key&, byte, byte, uint8_t)':

D:\documents\Arduino\hardware\keyboardio\avr\libraries\Kaleidoscope\src\kaleidoscope\plugin\LED-Wavepool.cpp:55:1: internal compiler error: Segmentation fault



Please submit a full bug report,

with preprocessed source if appropriate.

See <> for instructions.

Multiple libraries were found for "HID.h"
 Used: D:\documents\Arduino\hardware\keyboardio\avr\libraries\HID
 Not used: D:\programs\Arduino\hardware\arduino\avr\libraries\HID
exit status 1
Error compiling for board Keyboardio Model 01.

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

I figured this might have to do with me installing a USB driver during Arduino installation, that maybe I have multiple/conflicting USB drivers. I then went into the Arduino > File > Preferences, and enabled “Show verbose output during compilation”. Then I built again and got no errors. So I went ahead and flashed the M01. Afterwards, the ‘5’ key was illuminated red, and the rest of the keyboard was dark and no keystrokes registered on my monitor. I looked at the verbose log messages and saw hundreds of lines of output (so many I am using pastebin. Here’s the link:

Here’s a pastebin link:

If there’s a better way to share large files, please let me know. I see filepaths from both my C:\ drive and my D:\ drive, which does not sound ideal. I also see that the default location for the Arduino config file seems to be in C:… Don’t know how/if that affects anything.

I see references to a troubleshooting guide or post (or forum category?), but my searches don’t find anything obvious (to me). Update: I’m hoping it’s this link on “Install Arduino support on Windows”.

Can anyone prompt me with a first step? I’ll take a look at this with fresh eyes and clarify all I can, asap. Thanks.

Success! My M01 is working, again, with the stock “example” image. But I am not sure what changed. I was following the suggestions in the Troubleshooting guide, and kept getting the messages like (paraphrasing)

  • “programmer (or board?) is not responding” followed by a timeout.

  • the M01 was reported on COM5. The verbose upload messages kept showing that the programmer was trying to use COM4. Then, I would get a message like “there is no board at COM4. Change the COM port.” But COM5 was the only choice presented under Arduino > Tools > Port:

After many attempts, and restarting my PC, I plugged the USB cable in while pressing PROG, tried to upload (timeout), then tried pressing PROG just after clicking UPLOAD, and it programmed. But I had tried this like 10 times, before. Any thoughts as to why this suddenly worked, please let me know. Thanks.

Update: I happened to check, just now, and it says that the M01 is now on COM7. It seems odd that the port would change. Before flashing the firmware, the M01 was on COM3 and never changed (that I saw). I have not physically moved the USB cable, close/opened the Arduino SW, or anything like that. Is it normal for ports to change like that?

I guess I’ll close this. But I may start a new post to ask about COM ports changing (unless this has already been answered, elsewhere).

Are you holding PROG before plugging in the keyboard? I’m not sure if it matters, but I’ve always done the opposite order.

1 Like

Thanks, @tiltowaitt. I’ll keep that in mind. I believe that, the time it worked, I actually did press PROG after clicking Upload.