Want to use QMK on your keyboard but don’t feel like installing Linux just to get it done?
Well here’s how you can do everything on a Windows computer.

This tutorial was written specifically for flashing an AMJ40, but you can follow most of these steps to flash any keyboard that supports using the QMK firmware.

  1. Setting up the software
  2. Building the Firmware
  3. Flashing the firmware

Setting up all of the software

  1. Installing Bash Shell on Windows 10: Read Here
  2. If you are flashing the AMJ40, you need to download: Here
    If you are only flashing the AMJ40, you do not need to do steps 3, 4, and 5.
  3. Download and install AVRDudess: From Here
  4. Download the dlls needed: Here
  5. Unzip the libusb0.zip file that you downloaded in step 3 above and copy all four files in that zip file to the AVRDUDESS Program Files folder. (This may be under the Program Files (x86) Folder if you are using a 64-bit computer.)
  6. Download QMK for the AMJ40: Here   (Click the green “Clone or Download” button at the top right)
  7. Extract the QMK folder to an easy to reach place such as the “Documents” folder or Desktop.
  8. Open a bash shell window through the start menu. If you are using Windows 10, you can search in the searchbar for “Bash on Ubuntu on Windows”
  9. Once you have the bash window open, use the “cd” command to change to the directory where you unzipped the QMK firmware. The example I will show next is with QMK unzipped to the Desktop.

    cd /mnt/c/Users/Paul/Desktop/qmk_firmware_amj40-master

    where ‘c’ is the drive letter where Windows as well as the Users folder are installed, “Paul” is replaced with your Windows username, and Desktop is where the QMK firmware folder was unzipped.

    Note: to change to a directory on level above the one you are currently in, type command:

    cd ..
  10. Run command:
    sudo util/install_dependencies.sh

    It may prompt you for a password. This should be the same password as your Windows login.

  11. Wait for about 5 minutes or so as it installs all of the necessary dependencies. You can tell that it has finished when it has returned to the Bash input command prompt.


Continue on to: Building the Firmware