# QMK firmware for uConsole keyboard

**URL:** <https://forum.clockworkpi.com/t/qmk-firmware-for-uconsole-keyboard/14410>\
**Category:** uConsole\
**Tags:** keyboard, firmware\
**Created:** [September 9, 2024, 6:56pm UTC](https://forum.clockworkpi.com/t/qmk-firmware-for-uconsole-keyboard/14410 "2024-09-09T18:56:56Z")\
**Posts on this page:** 20\
**Page:** 2

<div class="post-metadata">

**Author:** ![OE4DNS](https://avatars.discourse-cdn.com/v4/letter/o/85f322/32.png) [@OE4DNS](https://forum.clockworkpi.com/u/OE4DNS)\
**Post date:** [December 5, 2024, 6:32am UTC](https://forum.clockworkpi.com/t/qmk-firmware-for-uconsole-keyboard/14410/22 "2024-12-05T06:32:45Z")

</div>

Thanks for the quick answer. I can and will try all that in the evening.

Quick Test - Tha backlight is no longer working. Next I will take out the batteries but I do not have too much hope. I can still SSH into the uConsole or attach an external keyboard so this is not a problem. But having bootloader access over USB should be my best option.

What (or with what) would I flash the bootloader when the keyboard is connected via USB and in its bootloader?

This is annoying but I see it also as a chance to learn about the inner workings of the device. I have done some things with microcontrollers like Ardunio or ESPs before. so if there is a chance to recover, I should be able to so. I’ll probably need some directions though, so thanks for your help.

---

<div class="post-metadata">

**Author:** ![OE4DNS](https://avatars.discourse-cdn.com/v4/letter/o/85f322/32.png) [@OE4DNS](https://forum.clockworkpi.com/u/OE4DNS)\
**Post date:** [December 5, 2024, 6:41am UTC](https://forum.clockworkpi.com/t/qmk-firmware-for-uconsole-keyboard/14410/23 "2024-12-05T06:41:17Z")

</div>

Just an update - taking out the batteries did not help

---

<div class="post-metadata">

**Author:** ![OE4DNS](https://avatars.discourse-cdn.com/v4/letter/o/85f322/32.png) [@OE4DNS](https://forum.clockworkpi.com/u/OE4DNS)\
**Post date:** [December 5, 2024, 7:18am UTC](https://forum.clockworkpi.com/t/qmk-firmware-for-uconsole-keyboard/14410/24 "2024-12-05T07:18:05Z")

</div>

I have the keyboard out and connected via USB - shorting pin S1 does nothing it seems. Running “dmesg” while connecting the USB cable gives a lot of error messages like

> [1446.940578] usb 1-1.2: new full-speed USB device number 32 using dwc2  
> [1447.028577] usb 1-1.2: device descriptor read/64, error -32  
> [1447.224572] usb 1-1.2: device descriptor read/64, error -32

I fear I am in the Failure mode [described in this post]([Bricked Keyboard Fix - #5 by SkyRanger](https://forum.clockworkpi.com/t/bricked-keyboard-fix/11613/5). I hope not but I have to investigate further in the evening.

---

<div class="post-metadata">

**Author:** ![Canto](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/canto/32/7236_2.png) [@Canto](https://forum.clockworkpi.com/u/Canto)\
**Post date:** [December 6, 2024, 1:52pm UTC](https://forum.clockworkpi.com/t/qmk-firmware-for-uconsole-keyboard/14410/25 "2024-12-06T13:52:18Z")

</div>

Super-irrelevant because I’m not using gamepad mode, but I copied LY2 to add an LY3 for nethack/dcss and the d-pad directions in LY2 seem wrong compared to LY0 and LY1?

---

<div class="post-metadata">

**Author:** ![OE4DNS](https://avatars.discourse-cdn.com/v4/letter/o/85f322/32.png) [@OE4DNS](https://forum.clockworkpi.com/u/OE4DNS)\
**Post date:** [December 15, 2024, 11:23pm UTC](https://forum.clockworkpi.com/t/qmk-firmware-for-uconsole-keyboard/14410/26 "2024-12-15T23:23:12Z")

</div>

Finally, after much trouble I was able to unbrick the keyboard PCB and to flash your sway.bin firmware. I don’t know the reason for the original error - just bad luck I suppose.

I can confirm that it is successfully running your keyboard firmware. Although I cannot get the sway modifier key (Gamepad “A”) to work. Gamepad “B” registers correctly as SHIFT, but “A” seems to do nothing.

To be more precise - it registers as “Super\_R” when I look at the output of the “wev” tool. But it is not registered by sway so this is weird. What have I got wrong?

---

<div class="post-metadata">

**Author:** ![jizz](https://avatars.discourse-cdn.com/v4/letter/j/5daacb/32.png) [@jizz](https://forum.clockworkpi.com/u/jizz)\
**Post date:** [December 18, 2024, 1:00am UTC](https://forum.clockworkpi.com/t/qmk-firmware-for-uconsole-keyboard/14410/27 "2024-12-18T01:00:25Z")

</div>

Could you create a pull request to the upstream? Building from a fork is suboptimal and undesirable

---

<div class="post-metadata">

**Author:** ![Canto](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/canto/32/7236_2.png) [@Canto](https://forum.clockworkpi.com/u/Canto)\
**Post date:** [December 20, 2024, 5:42pm UTC](https://forum.clockworkpi.com/t/qmk-firmware-for-uconsole-keyboard/14410/28 "2024-12-20T17:42:49Z")

</div>

Super-weird, mine registers as “Super\_L”

```auto
[14: wl_keyboard] key: serial: 2850; time: 4662285; key: 133; state: 1 (pressed)
                      sym: Super_L (65515), utf8: ''
[14: wl_keyboard] modifiers: serial: 0; group: 0
                      depressed: 00000040: Mod4 
                      latched: 00000000
                      locked: 00000000

```

I’ve just downloaded and re-flashed mine and got the same result. Maybe you got a bad download, or bad flash/memory?

Edit:  
I’ve just reflashed with gamepad A as Super\_R and wev and sway both recognise it as Mod4

```auto
[14: wl_keyboard] key: serial: 4318; time: 6457925; key: 134; state: 1 (pressed)
                      sym: Super_R (65516), utf8: ''
[14: wl_keyboard] modifiers: serial: 0; group: 0
                      depressed: 00000040: Mod4 
                      latched: 00000000
                      locked: 00000000

```

Seems unlikely to help but if it helps diagnosing, here’s a link to [Super\_R version.](https://www.dropbox.com/scl/fi/dc5auq50dbm5zc3yveq6d/clockworkpi_uconsole_default.swayR.bin?rlkey=u2h5in6qfiti40yk7465d8ehf&st=8i0vxufh&dl=0)  
(The larger filesize is because I added a Fn+n NetHack joystick mode)

---

<div class="post-metadata">

**Author:** ![Canto](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/canto/32/7236_2.png) [@Canto](https://forum.clockworkpi.com/u/Canto)\
**Post date:** [December 20, 2024, 6:34pm UTC](https://forum.clockworkpi.com/t/qmk-firmware-for-uconsole-keyboard/14410/29 "2024-12-20T18:34:43Z")

</div>

Being a tinkerer, rather than someone with talent, my knowledge of github starts and ends with ‘git clone thing’, but here’s my [keyboards/clockworkpi/uconsole/keymaps/default/keymap.c](https://www.dropbox.com/scl/fi/a5pp71fufz4k3mie5yl0z/keymap.c?rlkey=c3kwxlm4sjj9o74ifegdp2pft&st=y2r6capx&dl=0)  
for anyone who wants it.

---

<div class="post-metadata">

**Author:** ![OE4DNS](https://avatars.discourse-cdn.com/v4/letter/o/85f322/32.png) [@OE4DNS](https://forum.clockworkpi.com/u/OE4DNS)\
**Post date:** [December 21, 2024, 7:39am UTC](https://forum.clockworkpi.com/t/qmk-firmware-for-uconsole-keyboard/14410/30 "2024-12-21T07:39:15Z")

</div>

That is indeed weird. I searched for howto change sway’s keyboard modifiers and interestingly both (SUPER\_L and SUPER\_R) should work the same but don’t. I may be a problem in sway’s config but I have not changed a lot so I’m out of clue but will tinker more.

Thanks for the link to your source. I don’t really know C but enough to change some values and try them out. I can now flash and unbrick the keyboard as I wish so nothing can stop me now 😉

---

<div class="post-metadata">

**Author:** ![Canto](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/canto/32/7236_2.png) [@Canto](https://forum.clockworkpi.com/u/Canto)\
**Post date:** [December 21, 2024, 7:27pm UTC](https://forum.clockworkpi.com/t/qmk-firmware-for-uconsole-keyboard/14410/31 "2024-12-21T19:27:43Z")

</div>

@racoon  
Diverting from [this thread](https://forum.clockworkpi.com/t/mapping-gaming-buttons-as-mouse-buttons/15174) to keep QMK in this one.

Another modification [(download)](https://www.dropbox.com/scl/fi/ynx8gul8irh0mtw2eytg6/clockworkpi_uconsole_default.swayms.bin?rlkey=2ffy47ykkaemo1q9zqpjeyatf&st=bga0gy5v&dl=0)

joystick Y = Left mouse  
joystick X = Right mouse  
joystick B = Shift  
joystick A = Win

Fn+g should toggle back to game mode buttons but I don’t have any gaming stuff to test with.

In light of all the problems OE4DNS had above, maybe start with [olly’s 20240922 version](https://forum.clockworkpi.com/t/qmk-firmware-for-uconsole-keyboard/14410/6) (just in case 😕 ) and then update to this as per olly’s instructions.

PS. [keymap.c edited on dropbox to show these changes.](https://www.dropbox.com/scl/fi/a5pp71fufz4k3mie5yl0z/keymap.c?rlkey=c3kwxlm4sjj9o74ifegdp2pft&st=oyxxddpx&dl=0)

---

<div class="post-metadata">

**Author:** ![OE4DNS](https://avatars.discourse-cdn.com/v4/letter/o/85f322/32.png) [@OE4DNS](https://forum.clockworkpi.com/u/OE4DNS)\
**Post date:** [December 21, 2024, 7:51pm UTC](https://forum.clockworkpi.com/t/qmk-firmware-for-uconsole-keyboard/14410/32 "2024-12-21T19:51:54Z")

</div>

> [@Canto](#):
>
> In light of all the problems OE4DNS had above, maybe start with [olly’s 20240922 version](https://forum.clockworkpi.com/t/qmk-firmware-for-uconsole-keyboard/14410/6) (just in case 😕 ) and then update to this as per olly’s instructions.

It cannot hurt - but I have in the meantime started with Clockwork’s firmware and directly went to your sway.bin. So technically it does work.

---

<div class="post-metadata">

**Author:** ![Canto](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/canto/32/7236_2.png) [@Canto](https://forum.clockworkpi.com/u/Canto)\
**Post date:** [December 21, 2024, 8:12pm UTC](https://forum.clockworkpi.com/t/qmk-firmware-for-uconsole-keyboard/14410/33 "2024-12-21T20:12:46Z")

</div>

I’d like to think it’s just a hardware glitch you had rather than something in my config, but I can’t say I understand this stuff well enough to know for certain. I guess I’m recommending olly’s first because that’s the path I took, and Machito in post 17 went from stock to olly’s 20240922 without problems. I know there’s wildly varying skill levels on this forum, and soft-bricking will definitely freak some people out.

---

<div class="post-metadata">

**Author:** ![OE4DNS](https://avatars.discourse-cdn.com/v4/letter/o/85f322/32.png) [@OE4DNS](https://forum.clockworkpi.com/u/OE4DNS)\
**Post date:** [December 21, 2024, 8:15pm UTC](https://forum.clockworkpi.com/t/qmk-firmware-for-uconsole-keyboard/14410/34 "2024-12-21T20:15:47Z")

</div>

Yes to all of that 🙂

---

<div class="post-metadata">

**Author:** ![OE4DNS](https://avatars.discourse-cdn.com/v4/letter/o/85f322/32.png) [@OE4DNS](https://forum.clockworkpi.com/u/OE4DNS)\
**Post date:** [December 21, 2024, 9:10pm UTC](https://forum.clockworkpi.com/t/qmk-firmware-for-uconsole-keyboard/14410/35 "2024-12-21T21:10:15Z")

</div>

And finally I got everything to work. There were some issues with my sway “config”. Some input options referenced the keyboard by its ID which has of course changed with the QMK firmware.

Everything is great now! Thanks for the help and the binary. Now I can get to hacking around with the firmware itself with my newfound superpowers 😉

Edit: I tested Game Controls and they seem _not_ to work after a quick look. I’ll look into it some more but I don’t really need them so this is OK. Just if someone cannot live without, be reminded.

---

<div class="post-metadata">

**Author:** ![Canto](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/canto/32/7236_2.png) [@Canto](https://forum.clockworkpi.com/u/Canto)\
**Post date:** [December 22, 2024, 12:05am UTC](https://forum.clockworkpi.com/t/qmk-firmware-for-uconsole-keyboard/14410/36 "2024-12-22T00:05:25Z")

</div>

[Possibly helpful?](https://forum.clockworkpi.com/t/fixing-detected-gamepad-in-some-games/7729)

---

<div class="post-metadata">

**Author:** ![racoon](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/racoon/32/10585_2.png) [@racoon](https://forum.clockworkpi.com/u/racoon)\
**Post date:** [December 25, 2024, 2:22pm UTC](https://forum.clockworkpi.com/t/qmk-firmware-for-uconsole-keyboard/14410/37 "2024-12-25T14:22:49Z")

</div>

@Canto , thank you for directing to this trend. I will definitely need to take a dive into docs before using it )

---

<div class="post-metadata">

**Author:** ![zamuz](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/zamuz/32/10367_2.png) [@zamuz](https://forum.clockworkpi.com/u/zamuz)\
**Post date:** [January 8, 2025, 6:51pm UTC](https://forum.clockworkpi.com/t/qmk-firmware-for-uconsole-keyboard/14410/38 "2025-01-08T18:51:21Z")

</div>

Is there anything I should be doing to get the keyboard into DFU mode? dfu-util can’t find it.

---

<div class="post-metadata">

**Author:** ![OE4DNS](https://avatars.discourse-cdn.com/v4/letter/o/85f322/32.png) [@OE4DNS](https://forum.clockworkpi.com/u/OE4DNS)\
**Post date:** [January 8, 2025, 8:47pm UTC](https://forum.clockworkpi.com/t/qmk-firmware-for-uconsole-keyboard/14410/39 "2025-01-08T20:47:10Z")

</div>

Are you already using the QMK firmware? If yes - you have to get it into the bootloader mode:

> [@Canto](#):
>
> To get the keyboard into bootloader mode its Lalt+Ralt+Start, but you have to hit them all at the same time, and that’s only if the QMK firmware installed.

If you’re still on the factory firmware, you have to use the uconsole tools to flash QMK first:

> [@olly](#):
>
> If you’re on stock firmware, QMK can be installed using the stock flash tools:
> 
> `$ sudo ./maple_upload ttyACM0 2 1EAF:0003 clockworkpi_uconsole_default.20240909.bin`

Everything is described in this very thread. Just read very carefully from the top!

---

<div class="post-metadata">

**Author:** ![zamuz](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/zamuz/32/10367_2.png) [@zamuz](https://forum.clockworkpi.com/u/zamuz)\
**Post date:** [January 8, 2025, 10:28pm UTC](https://forum.clockworkpi.com/t/qmk-firmware-for-uconsole-keyboard/14410/40 "2025-01-08T22:28:13Z")

</div>

I’m on the factory firmware, when I run that command to install QMK dfu-util says it can’t find a DFU device. That’s why I was wondering if there’s something I should do prior to running that command.

---

<div class="post-metadata">

**Author:** ![zamuz](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/zamuz/32/10367_2.png) [@zamuz](https://forum.clockworkpi.com/u/zamuz)\
**Post date:** [January 9, 2025, 4:48pm UTC](https://forum.clockworkpi.com/t/qmk-firmware-for-uconsole-keyboard/14410/41 "2025-01-09T16:48:25Z")

</div>

Ugh, I was doing it all wrong. I was trying to connect the uConsole to my PC and run the commands from my PC, instead of doing it all from the device itself. It’s working now, many thanks!

[Previous page](https://forum.clockworkpi.com/t/qmk-firmware-for-uconsole-keyboard/14410.md?page=1)

[Next page](https://forum.clockworkpi.com/t/qmk-firmware-for-uconsole-keyboard/14410.md?page=3)
