Skip to main content

Source Files and Default Firmware

Update 2026-03-18: 

I added firmware version for v3(4x12): thumbsup_rev3_rp2040_split_4x12_default_4x12_via.uf2
See it in the dropbox folder mentioned there.


Update 2025-04-19:

I added VIAL support for ThumbsUp! v10, look for 

thumbsup_rev10_rp2040_unibody_4x12_default_4x12_v10_vial.uf2 in the dropbox folder mentioned below.


Updated: Nov 12

I am cleaning up the firmware for all the keyboards. Two biggest changes are switch to the current QMK version 0.22.14 and enabling the VIA/REMAP support for all the keyboards. Look for the banners for each keyboard to see if the new firmware is ready.

 

Default (pre-compiled) firmware and JSON files for VIA/REMAP are in Dropbox here:

 

https://www.dropbox.com/scl/fo/2s8vz5tq5lffmpjuqbz2c/h?rlkey=71amow1mhhwfe54c0ywx59bfc&dl=0

 

You can flash them to your board.
For AtMega/ProMicro based boards (*.hex files) use  QMK Toolbox .

For RP2040 boards (*.uf2 files) press twice the reset button (on the bottom side of the middle PCB), and copy the file to the drive newly added to the system.


Note:

v3 (5x12) and v4 use the same firmware (use the v4 one as the latest and supporting VIA/REMAP.)

//TODO: re-upload v4

 

v5, v8 and v8b also use the same firmware (use v5 for all of them)


 

If you want to modify the QMK files, source files are here: 

https://github.com/ak66666/qmk_firmware/tree/thumbsup_20231028

 

To compile the firmware:

- Install QMK tools (as per instructions on https://qmk.fm)

- Clone my qmk_firmware repository

- Open QMK.SYS

- Navigate to the folder with QMK repository, e.g.

cd /c/Users/ak/Documents/GitHub/qmk_firmware

- Compile the firmware, depending on the version:

 

 

v2 AtMega:

qmk compile -c -kb thumbsup/rev2_atmega_unibody_4x12 -km default_4x12_reduced_plover_via

 

v2 ProMicro:

qmk compile -c -kb thumbsup/rev2_promicro_unibody_4x12 -km default_4x12_via


v3 RP2040 (4x12) version

qmk compile -kb thumbsup/rev3_rp2040_split_4x12 -km default_4x12_via

 

v5, v8, v8b ProMicro, v11:

qmk compile -c -kb thumbsup/rev5_promicro_unibody_5x12 -km default_5x12_v5_via


for VIAL run this command (from the VIAL project folder), it was prepared for v11, so the command is the same for v5 and v8:

make thumbsup/rev11_promicro_rp2040_5x12:default_5x12_v11_vial


v6:

qmk compile -c -kb thumbsup/rev6_rp2040_split_4x12 -km default_4x12_v6_via

 

v7 (for the left and right halves separately):

make thumbsup/rev7_rp2040_split_5x12:default_5x12_v7_via:uf2-split-left

make thumbsup/rev7_rp2040_split_5x12:default_5x12_v7_via:uf2-split-right


v9:

qmk compile -c -kb thumbsup/rev9_promicro_4x12 -km default_4x12_v9_no_plover_via


v10:

qmk compile -c -kb thumbsup/rev10_rp2040_unibody_4x12 -km default_4x12_v10_via


for VIAL run this command (from the VIAL project folder):


> make thumbsup/rev10_rp2040_unibody_4x12:default_4x12_v10_vial




Update 2024-12-26:


ZMK files for the wireless/Bluetooth adapters, nice!nano v2 and NRF52840 controllers:


https://github.com/ak66666/zmk-config/tree/master/hex-files


thumbsupv5-nice_nano_v2-zmk.uf2 for v5, v8 and v8b

thumbsupv9-nice_nano_v2-zmk.uf2  for v9.


 

Update 2025-04-19:


Started adding VIAL support, the source files are in this fork/branch:

https://github.com/ak66666/vial-qmk-ak/tree/ThumbsUp20250419


https://github.com/ak66666/vial-qmk-ak/tree/ThumbsUp20250419/keyboards/thumbsup/rev10_rp2040_unibody_4x12


To compile:


v10:

make thumbsup/rev10_rp2040_unibody_4x12:default_4x12_v10_vial


v11:

make thumbsup/rev11_promicro_rp2040_5x12:default_5x12_v11_vial

Comments

Popular posts from this blog

ThumbsUp! Trackball v3/v5 Assembly Steps

I designed a trackball, two versions actually, which differ in the switches used V3 with Kailh Choc switches: https://github.com/ak66666/ThumbsUp-Trackball-v3 V5 with Omron micro-switches: https://github.com/ak66666/ThumbsUp-Trackball-v5-Omron Assembly steps are quite the same, except for the switches. The original article version described v3, steps specific for v5 are added in the end. I sell the PCBs on Etsy: https://www.etsy.com/ca/listing/4367668734/thumbsup-trackball-v3-pcbs-for-dyi In this post I show the process of building the board. Bill of Materials To assemble you will need to obtain the following parts: 1x PMW3610 sensor and lens (https://www.aliexpress.com/item/1005007118767775.html) 1x Nice!nano v2 (or clone) (https://www.aliexpress.com/item/1005006074191337.html) This will give you a Bluetooth-connected device. You may add another nice!nano to make a USB dongle . 1x 34mm ball (https://www.aliexpress.com/item/1005007857787050.html) 1x 3.7V 110mAh 301230 Lithium Polymer...

ThumbsUp! Trackball v3/5, v4 Usage

ThumbsUp! Trackball comes in three versions, v3 (the bottom one), v5 (top left) and v4 (top right): https://github.com/ak66666/ThumbsUp-Trackball-v3 https://github.com/ak66666/ThumbsUp-Trackball-v4 https://github.com/ak66666/ThumbsUp-Trackball-v5-Omron Trackball v3 and v5 Versions v3 and v5 have the same layout, six mouse buttons in each, plus configuration buttons and three slider switches. The only difference between them is the switch types they use: Kailh Choc in v3 and regular mouse-type buttons Omron in v5,  These two versions can be used as thumb- or finger-operated with either left or right hand. Two slide switches define device orientation and hand it is used with: In thumb-operating mode index finger presses left button, middle finger - middle button, and ring finger - right button, this configuration is kept in all device positions (configured through switches shown above) : Trackball v4 v4 got two more buttons and it uses Kailh Choc switches. In v4 the orientation switc...

How to make a wireless ThumbsUp! with a touchpad using ZMK and ProGlide Cirque

ThumbsUp! can be made wireless using a nice!nano v2 MCU (or its clone) running ZMK. Recently ZMK got support for ProGlide Cirque touchpads, and the biggest difference from QMK was requirement to have an activity pin (DR) to be used/specified in the configuration. My configuration project is here: https://github.com/ak66666/zmk-config/tree/cirque Unfortunately that requirement was not known to me when I designed ThumbsUp! boards, so in order to make these boards wireless and with touchpad I had to add a bodge wire from the touchpad to a inter-PCB connector, and then from the connector on the other plate to the controller. Luckily there were a few unused pins in v9, so the task turned to be relatively easy. Step 1. Solder the wire to the third pin from the top on the innermost row: Step 2. Solder the other end of that wire to one of the pins in the center header. For that - gently pry the plastic spacer a up halfway, and solder the wire as close to the board as possible. I chose the bott...