# 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)​

![](/files/-Lsj8sOg3vdh0gfpmNqr)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://rgbkb.gitbook.io/rgbkb-build-guides/sol-build-guide/flashing.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
