Building QMK Firmware

This guide focuses exclusively on building Vial QMK using one of the keyboards in my fork of it here:

https://github.com/bullwinkle3000/vial-qmk

We'll get QMK set up and an already existing firmware configuration built and flashed.

Since my builds are all based on the rp2040 and Pi Pico, you can't use the QMK Configurator and won't need the QMK Toolbox, but you will need to get your hands durty with some command line fun using the command prompt or terminal of your particular OS.

Installing QMK

You'll need the QMK command line tool installed on your system so follow the instructions here to get it set up.

Stop after step 2 and we'll continue back here.

https://docs.qmk.fm/#/newbs_getting_started

Now that it's installed, we'll need to clone the Wylderbuilds fork of Vial-QMK.

If you don't have the git version control tool installed, go ahead and install that now:

https://git-scm.com/book/en/v2/Getting-Started-Installing-Git

Next, open a new terminal or command line prompt, navigate to a directory where you'd like the repository to be placed and run:

git clone https://github.com/bullwinkle3000/vial-qmk.git

This will pull the whole Wylderbuilds fork of the Vial-QMK repository into a new subdirectory, vial-qmk. It will likely take a few minutes as it's quite large.

Once it's done, navigate to the new directory:

cd vial-qmk

And run:

make git-submodules

This will install all the necessary submodules needed to build your firmware, in particular the chibios library files. Again, it may grind away for a bit.

Finally, as a sanity check, run:

qmk setup

If prompted for inputs, just respond with 'y' (yes). You may see a warning message about the 'official repository does not seem to be configured as a remote "upstream"' and another warning that minor issues were found, but if those are the only messages you should be fine.

Building the Firmware

Now everything should be ready to build, so let's try a test by building firmware for a 3x5 Dactyl Manuform with 3-key thumb clusters.

Enter the following:

qmk compile -kb handwired/wylderbuilds/3x5_3_all -km vial

You should see a message that it's compiling and then a long list of lines which will scroll by which should all end with OK (like in the picture, above.)

Depending on the speed of your machine, it may take a while. There may be a warning or two but it should end without big red error messages.

In the vial-qmk directory, there should now be fully ready firmware file: handwired_wylderbuilds_3x5_3_vial.uf2

If instead of finishing successfully you see a lot of messages about errors, then most likely somthing didn't get set up properly for QMK.

If there are errors, try running:

qmk doctor

And see if there's anything clearly awry. Troubleshooting QMK can be tricky, so feel free to reach out to us if you have issues.

But let's assume it all went great and you've got a shiny new .uf2 file.

Flashing the Firmware

Flashing the Pi Pico is generally very easy, you simply have to put your controller into boot mode.

If you have a build from Wylderbuilds, it will have key combos for each side to put that side into boot mode. Check the info packet that came with your build for details. If you have Vial, the boot keys will appear in the keymap screen as Reset and will usually be on the second layer for the left side and the third layer for the right.

If you don't have a full build and just have the Picos, there's a small white button near the USB port on the Pi Pico labeled BOOTSEL. Press and hold that button while plugging the Pico into your computer via USB. Then release the button.

Whichever method you use, your controller should now show up as a regular thumb drive on your computer with the volume name RPI-RP2. If you have another type of rp2040 controller, it should also have a button on it to put it into boot mode.

To flash the firmware, simply drag the handwired_wylderbuilds_3x5_3_vial.uf2 file from the vial-qmk folder to the RPI-RP2 volume. Once copied, the Pico will automatically reboot with the new firmware, and it's fully flashed.

Pretty easy!

Since all our builds are split keyboards with a controller on each half, you'll need to do this for the other controller by swapping the USB cable to the other controller and putting that one into boot mode and copying the uf2 file over. If you don't update both, your controllers will be out of sync or may simply stop talking to each other.

Done!

That's it for the basic overview. If you have issues anywhere during this process, feel free to reach out.