Clone the `qmk_firmware` repo and navigate to its top level directory. [Once your build environment is setup](https://docs.qmk.fm/getting_started_build_tools.html), you'll be able to generate the default .hex using:
If you are on linux, you can also flash the hex file to the keyboard right after compilation, by adding `:avrdude` to the end of the make command like so:
For more information on customizing keymaps, take a look at the primary documentation for [Customizing Your Keymap](/readme.md##customizing-your-keymap) in the main readme.md.
Features
--------
For the full Quantum Mechanical Keyboard feature list, see [the parent readme.md](/readme.md).
Some features supported by the firmware:
* Either half can connect to the computer via USB, or both halves can be used
| 2 | Half cases. A 3D model for the left half is available [here](https://cad.onshape.com/documents/c6e5ae250d1e24fe46c9ef6c/w/d69f7049c0921df3d2b241f9/e/ecc2b176ab52a6d77bc55051). Mirror that to get a right-half case. Plate cases will be designed in the future.
A strip of WS2812 LEDs can be hooked up too, a guide will be written on how to do that once I get mine in the mail.
The PCB and connectors can safely handle 1A of current, but the USB standard is only rated at 500mA. Keep that in mind when picking the amount of LEDs.
On the left half PCB, there's two pads labled ***I2C Pullup*** if you want to use I2C, you need to bridge those two solder jumpers with a soldering iron.
If the keyboard isn't new, and has been flashed before, you need to enter bootloader.
To enter bootloader, either use the assigned keys on the keymap, or if none have been put in the keymap, quickly short the reset to gnd twice. (Bottom pins of programming header, see image) ![Reset pins](https://i.imgur.com/LCXlv9W.png)
Follow this guide [here](https://www.howtogeek.com/249966/how-to-install-and-use-the-linux-bash-shell-on-windows-10/) to get ubuntu bash on windows. Then, in ubuntu bash for windows, follow the linux instructions [here](https://docs.qmk.fm/getting_started_build_tools.html)
2. Pick ***Atmel AppNote AVR109 Boot Loader*** as the programmer
3. Select ATMega32U4 as the MCU.
4. Check which COM ports are available under Port. Note these down if there's too many to remember.
5. Plug in the keyboard, If you just got the PCBs, there's only the bootloader on there, and it it will connect in bootloader mode automatically. If it's not new, see **Entering bootloader** on how to enter bootloader mode
6. Check the Port drop-down in AVRDUDESS, and see which new COM port has appeared. Do this within 8 seconds of entering bootloader. Pick the new COM port. If none have shown, try entering bootloader again.
7. Open a ubuntu bash terminal, and navigate to the qmk_firmware folder. Windows drives are in `/mnt/[DRIVE LETTER no caps]/`
8. Run `make lets_split_vitamins/rev1:default`
9. Go back into AVRDUDESS when it has finished compiling, and pick the .hex file in the **flash** field
10. In the EEPROM field, navigate into `keyboards/lets_split_vitamins/` and pick `eeprom-lefthand.eep` or `eeprom-righthand.eep` depending on which half you are flashing.
11. Make sure the board is in bootloader mode, and hit the **Program!** button.
You can plug either half into USB and it will work. you can also remove the TRS/TRRS cable, and plug both halves in. (which is why the default layout has reset on both halves)