Bricked Keyboard Fix

I did something dumb and flashed a bin to my keyboard and could no longer see the /dev/ttyACM0 device. If anyone else runs into this just remove your keyboard from the uConsole and plug it into the uConsole with microUSB. Get the command (./flash) ready to run (timing seems to be crucial like the cheap promicros they use for mech. keyboards) on the bottom of the board is an unpopulated section labeled “S1” bridge those contacts and a green light will blink. While the green light is blinking run the command. It took me about three tries to get it to work.

4 Likes

If you have another computer you can always ssh in and run the flash command that way.

Yes I am aware and that was tried. The flash command would fail as it could not find the proper device doesn’t matter if you did it over usb or ssh. You have to hold the “button” to throw it back into the mode where it will accept programming again.

Same. Got my Device µConsole yesterday, downloaded the bin-File (uConsole/Bin/uconsole.kbd.0.4_48mhz.bin at master · clockworkpi/uConsole · GitHub) and now its bricked.
Why are there bin-files, which are not functional? How can i restore my Keyboard again?

I got it working again.
I used the schematic of the STM32F104R chip to figure out the pins for my ST-Link and flashed a standard BIN file using the STM Cube Programmer. Then I was able to flash the existing keyboard.ino.bin, and in the uConsole I had to repeat the flashing process with the flash.sh and then it worked again.
Strangely enough, clicking with the trackball now also works.

But it’s not a real mouse click because I can’t click anything with it on the desktop, but I can click in Midnightcommander.

And the volume button now also works with shift + and without -.

I didn’t really want anything more.
If it had at least said somewhere that the latest version for the keyboard was already included in the ready-made TGZ file, everything would have been easier.

Addendum:
Now it is necessary to install the Flash.sh script in /etc/rc.local, otherwise the keyboard will not work.
After switching off the device and switching it on again at some point, the keyboard no longer works. Only when I flash it again does it work again.

Similar problem when I connect something to the external USB port, whether USB stick, SSD, or other devices, then the keyboard no longer works.

Addendum 2:
It appears that the “wrong” bin file mentioned in my previous answer (uConsole/Bin/uconsole.kbd.0.4_48mhz.bin at master · clockworkpi/uConsole · GitHub) is not the wrong one , it’s just not intended for the Upload method present in the tgz file.

These appear to be images of the entire flash memory of the STM32F103R… Because after a lot of trying, I just tried the bin file that I originally used to destroy everything.

Since this appears to be an image, everything now works perfectly again.

A few tips would have been nice as to which files are for what.
I’m sure not everyone has the tools and resources to repair THAT without soldering anything.