Hey there – I was just flashing my PVT keyboard for the second time, and it failed like so:
Connecting to programmer: .avrdude: butterfly_recv(): programmer is not responding
avrdude: butterfly_recv(): programmer is not responding
avrdude: butterfly_recv(): programmer is not responding
avrdude: butterfly_recv(): programmer is not responding
avrdude: butterfly_recv(): programmer is not responding
avrdude: butterfly_recv(): programmer is not responding
Found programmer: Id = "��"; type = �
Software Version = .; Hardware Version = �.
avrdude: butterfly_recv(): programmer is not responding
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: butterfly_recv(): programmer is not responding
avrdude: error: programmer did not respond to command: leave prog mode
avrdude: butterfly_recv(): programmer is not responding
avrdude: error: programmer did not respond to command: exit bootloader
Of note:
I’ve tried reflashing it with the stock, current firmware from two different machines (both of them OSX laptops) from both CLI and the GUI.
I’ve tried two different USB-C cables.
I’ve tried plugging the keyboard in while holding down the PROG key, allegedly to force it to listen a little more closely?
shortly after I run make flash and hold the PROG key down, I see the “LED” key do its “I just started up” blue breathing cycle (which is the default behavior, I believe)
At this point I’m out of ideas other than perhaps opening the enclosure and getting as close to a factory reset as possible? I can’t seem to get it to flash at all.
If you’re not able to get into the bootloader, then popping the enclosure and using the hardware reset button is a great next debugging step.
If -that- doesn’t work, then something is really messed up. If you have an AVR programmer (or a spare Arduino) handy, you could possible replace the bootloader at home, but it might just be time to swap out your electronics. (At that point, this should move to help@keyboard.io)
crw-rw-rw- 1 root wheel 20, 18 May 24 10:47 tty.usbmodemCDkbio01
crw-rw-rw- 1 root wheel 20, 19 May 24 10:47 cu.usbmodemCDkbio01
I’ll pop the enclosure and hit the reset button over lunch, and report back. I do not, sadly, have a spare Arduino around. (Raspberry Pis we have in plenty.)
With the keyboard booted up normally, if you tap Prog + LED + Left Fn, the whole keyboard should enter test mode and light up red. If you wait a few seconds and tap the Left Fn, it should cycle through green, blue, white, rainbow and back to red.
Once it’s done that, tapping any key will turn green when pressed and blue when released. If you press “Prog” down slowly, does it flicker between blue and green?
If you can’t enter test mode at all, that points the finger at your Prog key. The problem might be something blocking the electrical contacts or poor soldering on the switch itself.
Nope, the PROG key seems nice and binary when pressed. No flickers.
Interestingly, pre-reset-switch, behavior during test mode was different: keys on the right half of the keyboard would turn blue when pressed, but then when I started pressing keys on the left half of the keyboard, keys on the right would start turning red again. Can’t replicate now.
I am getting a similar issue. I have tried from Arduino 1.8.10 using the 1.23 and 1.96 boards and from Chrysalis-0.6.2+126
I successfully flashed my newer board using Chrysalis on the same PC without issue. The Keyboardio causing the issue is the one that was sent to me as a refurbished warranty replacement for the switches issue I has last year.
I tired the LED test mode suggested above and it seemed to work correctly (prog switch lit correctly)
Arduino: 1.8.10 (Linux), Board: “Keyboardio Model 01”
Sketch uses 25010 bytes (87%) of program storage space. Maximum is 28672 bytes.
Global variables use 1338 bytes (52%) of dynamic memory, leaving 1222 bytes for local variables. Maximum is 2560 bytes.
avrdude: butterfly_recv(): programmer is not responding
avrdude: butterfly_recv(): programmer is not responding
avrdude: butterfly_recv(): programmer is not responding
avrdude: butterfly_recv(): programmer is not responding
avrdude: butterfly_recv(): programmer is not responding
Found programmer: Id = “”; type =
Software Version = .; Hardware Version = �.�
avrdude: butterfly_recv(): programmer is not responding
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: butterfly_recv(): programmer is not responding
avrdude: error: programmer did not respond to command: leave prog mode
avrdude: butterfly_recv(): programmer is not responding
avrdude: error: programmer did not respond to command: exit bootloader
avrdude: error: programmer did not respond to command: exit bootloader
That sure looks like the keyboard isn’t entering the bootloader. If you hold the prog key in while you connect the keyboard to the computer, does it glow red?
At this point, I’d recommend removing the enclosure from your left side to see if hitting the hardware reset button gets you that red LED on the Prog key.
Load latest firmware into Arduino IDE and use Sketch > Export compiled binary to get the latest firmware (1.96 in my case).
Open a terminal and go to the folder with the compiled hex code in it (exports to the same folder as the source is in)
sudo apt install avrdude
Write this command into the terminal, but don’t press return yet (changing the filename.hex to your firmware file and making sure /dev/ttyACM0 is correct: