# Flashing

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

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

### ​[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 and .hex files [here](https://github.com/RGBKB/Keyboard-files/tree/master/Zen/Flashing%20files)
   1. Right-click each link and "Save link as..." or download the whole repo
3. Flash the left half
   1. Programmer
      1. For Elite-C choose **`FLIP USB DFU protocol version 1 (doc7618)`**
      2. For Pro-Micro choose **`Atmel AppNote AVR109 Boot Loader`**
   2. Port: **`usb`**
   3. MCU: **`ATmega32U4`**
   4. Flash: choose your hex file
   5. EEPROM: choos&#x65;**`eeprom-lefthand.eep`**
   6. Press the reset button or short RST to GND
   7. Pres&#x73;**`Program!`**
4. Flash the right half, but us&#x65;**`eeprom-righthand.eep`**
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. Follow [these steps](https://docs.qmk.fm/#/newbs_getting_started?id=windows)
2. Install and setup QMK and Avrdudess
3. Edit your keymap as desired and compile hex file
4. Flash the hex to the master (follow guide above)
