Keyboardio Stopped working, won't update

So I was trying out using a Shift layer instead of going nuts with shapeshifter and topsyturvy. Sketch compiled just fine, and when I sent it to my keyboardio, it seemed to work ok but the number 4 on keyboardio stayed lit and the keyboard simply didn’t work. Now all attempts to get it to accept any firmware results in this:

Forcing reset using 1200bps open/close on port COM6
processing.app.debug.RunnerException
at cc.arduino.packages.uploaders.SerialUploader.uploadUsingPreferences(SerialUploader.java:160)
at cc.arduino.UploaderUtils.upload(UploaderUtils.java:78)
at processing.app.SketchController.upload(SketchController.java:713)
at processing.app.SketchController.exportApplet(SketchController.java:686)
at processing.app.Editor$DefaultExportHandler.run(Editor.java:2168)
at java.lang.Thread.run(Thread.java:748)
Caused by: processing.app.SerialException: Error touching serial port ‘COM6’.
at processing.app.Serial.touchForCDCReset(Serial.java:107)
at cc.arduino.packages.uploaders.SerialUploader.uploadUsingPreferences(SerialUploader.java:144)
… 5 more
Caused by: jssc.SerialPortException: Port name - COM6; Method name - openPort(); Exception type - Port busy.
at jssc.SerialPort.openPort(SerialPort.java:164)
at processing.app.Serial.touchForCDCReset(Serial.java:101)
… 6 more

In case it’s useful for reference, this is my usual, functioning sketch from which the previously linked one was adapted.

Any idea what’s going on? Hints? Please tell me it hasn’t been bricked somehow!! @jesse

Don’t worry, it is very hard to completely brick a Model01. Take your functioning sketch, compile it, but instead of the normal flashing procedure, pull the Model01 out from the computer, hold the PROG button, plug it back in (while continuing to hold PROG), and flash then.

You may need to be fast with the flashing, older versions of the boot loader only kept the boot loader in programmable mode for a few (30?) seconds even with PROG held this way.

Holding PROG while plugging the keyboard in will tell the boot loader not to load the flashed firmware. This way if you have a bad firmware which crashes, and prevents the keyboard from going into progammable mode, you can still flash by just not running the crashing parts.

2 Likes

I have read similar questions recently.
@algernon, maybe your answer might be worth being listed under Troubleshooting in the firmware wiki. Could you possibly just drag and drop your last post there?

1 Like

I’ll do that when I’m back home, unless someone beats me to it. :slight_smile:

1 Like

Ok, so when doing that, I don’t know how to select the right COM port - it always turns out to be COM6 but it only tries COM1 and COM4… or rather those are the only options it gives me until after the upload attempt when it lets me select COM6, and then I get the same errors as before

Managed to trick Arduino into using the right port at the right time, so all good, thanks for the help!

1 Like

Done!

Glad to hear that!

1 Like