# Flashing

Sol uses QMK firmware. [Documentation on installation, keymaps and compiling can be found here.](https://docs.qmk.fm/)​

{% hint style="warning" %}
Sol 2 has many different features, which must be enabled in QMK. Use the file [rgbkb/sol/rev2/rules.mk](https://github.com/qmk/qmk_firmware/blob/master/keyboards/rgbkb/sol/rev2/rules.mk) to turn on/off features. You must do this for custom keymaps using OLED, encoders, or full hand LEDs. Only enable the features you need.
{% endhint %}

{% hint style="danger" %}
If you are using OLED panels, you must only enable it in the rules.mk for the half with the OLED installed. Due to a firmware issue, enabling it with nothing installed will result in lag. This means if you only have one installed on one half, you'll need to make two different hex files.
{% endhint %}

### ​[Pre-compiled firmware files can be found here](https://github.com/RGBKB/Keyboard-files/tree/master/Sol/Flashing%20files)​ <a href="#pre-compiled-firmware-files-can-be-found-here" id="pre-compiled-firmware-files-can-be-found-here"></a>

**To install the default keymap:**

1. Install [AVRdudess](https://github.com/zkemble/AVRDUDESS)​
   1. You may need to install [Atmel Flip drivers](https://www.microchip.com/developmenttools/ProductDetails/FLIP) and follow [this guide](https://imgur.com/a/bnwzy) after resetting the board.
2. Download the [left/right eeprom files​](https://github.com/qmk/qmk_firmware/tree/master/quantum/split_common) and[ pre-compiled hex files](https://github.com/RGBKB/Keyboard-files/tree/master/Sol/Flashing%20files)
   1. Right-click on the **`RAW`** button and and "Save link as..."
3. Flash the left half
   1. Programmer: Choose **`FLIP USB DFU protocol version 1 (doc7618)`**
   2. Port: **`usb`**
   3. MCU: **`ATmega32U4`**
   4. Flash: choose your hex file
   5. EEPROM: choos&#x65;**`eeprom-lefthand.eep`**
   6. Flip the #4 (Master) switch to **ON**
      1. Remove the yellow tape from the DIP switches.
   7. Plug in the left half and toggle the reset switch (position #6) on and off
   8. Pres&#x73;**`Program!`**
4. Flash the right half
   1. Flip the #4 (Master) switch to **ON**
   2. Plug in the right half alone
   3. Follow the same steps as the left, but choos&#x65;**`eeprom-righthand.eep`**
   4. Flip the #4 (Master) switch to **OFF**
5. Plug the leftmost port into your PC, and the two middle ports into each other.
6. After the initial setup, you can update your keymap using [QMK Toolbox](https://github.com/qmk/qmk_toolbox), and you only need to flash the master half.

**For custom layouts:**

1. Install [Bash on Windows](https://www.windowscentral.com/how-install-bash-shell-command-line-windows-10)​
2. Install and setup QMK and Avrdudess
3. Edit your keymap as desired and compile hex file
4. Flash the hex and left/right eeprom to each half (follow guide above)

​[Follow these instructions for setting up QMK and flashing on Windows](https://github.com/CampAsAChamp/LetsSplitWindowsGuide)​

If QMK Toolbox doesn't work, try [these steps](https://www.reddit.com/r/olkb/comments/7jo1ob/qmk_flashing_kbd75_no_device_present/dr9jvj6)​

![](https://553213463-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LNtw8XAkDrxt-vLrfjL%2F-Lsj8kwTg2Q64LCknl4I%2F-Lsj8sOg3vdh0gfpmNqr%2Fimage.png?alt=media\&token=9b67ff2e-54fb-416e-ab94-6008c0d1ec84)
