Skip to content

Instantly share code, notes, and snippets.

@passalini
Forked from nicinabox/lets split build guide.md
Last active July 28, 2017 16:17
Show Gist options
  • Save passalini/dd4c4dbe4abe11969d0a2f3c719b6951 to your computer and use it in GitHub Desktop.
Save passalini/dd4c4dbe4abe11969d0a2f3c719b6951 to your computer and use it in GitHub Desktop.

Revisions

  1. passalini revised this gist Jul 28, 2017. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion lets split build guide.md
    Original file line number Diff line number Diff line change
    @@ -26,7 +26,7 @@ This guide covers building a Let's Split v2. Order your parts and read over this
    - [x] **2** TRRS jacks ([CP-43514-ND](https://www.digikey.com/product-detail/en/cui-inc/SJ-43514/CP-43514-ND/368146))
    - [x] [Plate & case](https://github.com/jackhumbert/qmk_firmware/blob/master/keyboards/lets_split/imgs/letssplitv2.svg) (sandwich design)
    - [x] **8** [10mm M3 standoffs](https://www.mcmaster.com/#94868A166) (required for sandwich case)
    - [ ] **16** [6mm M3 screws](https://www.mcmaster.com/#91292A111) (required for sandwich case, comes in packs of 100)
    - [x] **16** [6mm M3 screws](https://www.mcmaster.com/#91292A111) (required for sandwich case, comes in packs of 100)
    - [x] **48** [Switches of your choice](https://mechanicalkeyboards.com/shop/index.php?l=product_list&c=107)
    - [x] [TRRS cable](https://www.amazon.com/gp/product/B019TRW4HQ/ref=oh_aui_detailpage_o04_s00?ie=UTF8&psc=1)

  2. passalini revised this gist Jul 28, 2017. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion lets split build guide.md
    Original file line number Diff line number Diff line change
    @@ -28,7 +28,7 @@ This guide covers building a Let's Split v2. Order your parts and read over this
    - [x] **8** [10mm M3 standoffs](https://www.mcmaster.com/#94868A166) (required for sandwich case)
    - [ ] **16** [6mm M3 screws](https://www.mcmaster.com/#91292A111) (required for sandwich case, comes in packs of 100)
    - [x] **48** [Switches of your choice](https://mechanicalkeyboards.com/shop/index.php?l=product_list&c=107)
    - [ ] [TRRS cable](https://www.amazon.com/gp/product/B019TRW4HQ/ref=oh_aui_detailpage_o04_s00?ie=UTF8&psc=1)
    - [x] [TRRS cable](https://www.amazon.com/gp/product/B019TRW4HQ/ref=oh_aui_detailpage_o04_s00?ie=UTF8&psc=1)

    **/!\** The M3 screws linked above may have a slight clearance issue with the keycap. You can countersink the head or use a screw with a lower profile head. I'm testing out button head screws to see if they work better.

  3. passalini revised this gist Jul 28, 2017. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion lets split build guide.md
    Original file line number Diff line number Diff line change
    @@ -27,7 +27,7 @@ This guide covers building a Let's Split v2. Order your parts and read over this
    - [x] [Plate & case](https://github.com/jackhumbert/qmk_firmware/blob/master/keyboards/lets_split/imgs/letssplitv2.svg) (sandwich design)
    - [x] **8** [10mm M3 standoffs](https://www.mcmaster.com/#94868A166) (required for sandwich case)
    - [ ] **16** [6mm M3 screws](https://www.mcmaster.com/#91292A111) (required for sandwich case, comes in packs of 100)
    - [ ] **48** [Switches of your choice](https://mechanicalkeyboards.com/shop/index.php?l=product_list&c=107)
    - [x] **48** [Switches of your choice](https://mechanicalkeyboards.com/shop/index.php?l=product_list&c=107)
    - [ ] [TRRS cable](https://www.amazon.com/gp/product/B019TRW4HQ/ref=oh_aui_detailpage_o04_s00?ie=UTF8&psc=1)

    **/!\** The M3 screws linked above may have a slight clearance issue with the keycap. You can countersink the head or use a screw with a lower profile head. I'm testing out button head screws to see if they work better.
  4. passalini revised this gist Jul 28, 2017. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion lets split build guide.md
    Original file line number Diff line number Diff line change
    @@ -25,7 +25,7 @@ This guide covers building a Let's Split v2. Order your parts and read over this
    - [x] **48** 1N4148 diodes ([1N4148FS-ND](https://www.digikey.com/products/en?keywords=1N4148FS-ND), just go ahead and get 100)
    - [x] **2** TRRS jacks ([CP-43514-ND](https://www.digikey.com/product-detail/en/cui-inc/SJ-43514/CP-43514-ND/368146))
    - [x] [Plate & case](https://github.com/jackhumbert/qmk_firmware/blob/master/keyboards/lets_split/imgs/letssplitv2.svg) (sandwich design)
    - [ ] **8** [10mm M3 standoffs](https://www.mcmaster.com/#94868A166) (required for sandwich case)
    - [x] **8** [10mm M3 standoffs](https://www.mcmaster.com/#94868A166) (required for sandwich case)
    - [ ] **16** [6mm M3 screws](https://www.mcmaster.com/#91292A111) (required for sandwich case, comes in packs of 100)
    - [ ] **48** [Switches of your choice](https://mechanicalkeyboards.com/shop/index.php?l=product_list&c=107)
    - [ ] [TRRS cable](https://www.amazon.com/gp/product/B019TRW4HQ/ref=oh_aui_detailpage_o04_s00?ie=UTF8&psc=1)
  5. passalini revised this gist Jul 28, 2017. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion lets split build guide.md
    Original file line number Diff line number Diff line change
    @@ -24,7 +24,7 @@ This guide covers building a Let's Split v2. Order your parts and read over this
    - [x] **2** 5V/16MHz Pro Micros ([official](https://www.sparkfun.com/products/12640) or [clone](http://www.ebay.com/itm/Arduino-Pro-Micro-ATmega32U4-5V-16MHz-Replace-ATmega328-Pro-Mini-Leonardo-USB-/222383274330?hash=item33c713795a:g:3CkAAOSwubRXMmnp))
    - [x] **48** 1N4148 diodes ([1N4148FS-ND](https://www.digikey.com/products/en?keywords=1N4148FS-ND), just go ahead and get 100)
    - [x] **2** TRRS jacks ([CP-43514-ND](https://www.digikey.com/product-detail/en/cui-inc/SJ-43514/CP-43514-ND/368146))
    - [ ] [Plate & case](https://github.com/jackhumbert/qmk_firmware/blob/master/keyboards/lets_split/imgs/letssplitv2.svg) (sandwich design)
    - [x] [Plate & case](https://github.com/jackhumbert/qmk_firmware/blob/master/keyboards/lets_split/imgs/letssplitv2.svg) (sandwich design)
    - [ ] **8** [10mm M3 standoffs](https://www.mcmaster.com/#94868A166) (required for sandwich case)
    - [ ] **16** [6mm M3 screws](https://www.mcmaster.com/#91292A111) (required for sandwich case, comes in packs of 100)
    - [ ] **48** [Switches of your choice](https://mechanicalkeyboards.com/shop/index.php?l=product_list&c=107)
  6. passalini revised this gist Jul 28, 2017. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion lets split build guide.md
    Original file line number Diff line number Diff line change
    @@ -23,7 +23,7 @@ This guide covers building a Let's Split v2. Order your parts and read over this
    - [x] [v2 PCB](http://www.switchtop.com/product/let-s-split-40-percent-pcb)
    - [x] **2** 5V/16MHz Pro Micros ([official](https://www.sparkfun.com/products/12640) or [clone](http://www.ebay.com/itm/Arduino-Pro-Micro-ATmega32U4-5V-16MHz-Replace-ATmega328-Pro-Mini-Leonardo-USB-/222383274330?hash=item33c713795a:g:3CkAAOSwubRXMmnp))
    - [x] **48** 1N4148 diodes ([1N4148FS-ND](https://www.digikey.com/products/en?keywords=1N4148FS-ND), just go ahead and get 100)
    - [ ] **2** TRRS jacks ([CP-43514-ND](https://www.digikey.com/product-detail/en/cui-inc/SJ-43514/CP-43514-ND/368146))
    - [x] **2** TRRS jacks ([CP-43514-ND](https://www.digikey.com/product-detail/en/cui-inc/SJ-43514/CP-43514-ND/368146))
    - [ ] [Plate & case](https://github.com/jackhumbert/qmk_firmware/blob/master/keyboards/lets_split/imgs/letssplitv2.svg) (sandwich design)
    - [ ] **8** [10mm M3 standoffs](https://www.mcmaster.com/#94868A166) (required for sandwich case)
    - [ ] **16** [6mm M3 screws](https://www.mcmaster.com/#91292A111) (required for sandwich case, comes in packs of 100)
  7. passalini revised this gist Jul 28, 2017. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion lets split build guide.md
    Original file line number Diff line number Diff line change
    @@ -20,7 +20,7 @@ This guide covers building a Let's Split v2. Order your parts and read over this

    ## Parts

    - [ ] [v2 PCB](http://www.switchtop.com/product/let-s-split-40-percent-pcb)
    - [x] [v2 PCB](http://www.switchtop.com/product/let-s-split-40-percent-pcb)
    - [x] **2** 5V/16MHz Pro Micros ([official](https://www.sparkfun.com/products/12640) or [clone](http://www.ebay.com/itm/Arduino-Pro-Micro-ATmega32U4-5V-16MHz-Replace-ATmega328-Pro-Mini-Leonardo-USB-/222383274330?hash=item33c713795a:g:3CkAAOSwubRXMmnp))
    - [x] **48** 1N4148 diodes ([1N4148FS-ND](https://www.digikey.com/products/en?keywords=1N4148FS-ND), just go ahead and get 100)
    - [ ] **2** TRRS jacks ([CP-43514-ND](https://www.digikey.com/product-detail/en/cui-inc/SJ-43514/CP-43514-ND/368146))
  8. passalini revised this gist Jul 28, 2017. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion lets split build guide.md
    Original file line number Diff line number Diff line change
    @@ -22,7 +22,7 @@ This guide covers building a Let's Split v2. Order your parts and read over this

    - [ ] [v2 PCB](http://www.switchtop.com/product/let-s-split-40-percent-pcb)
    - [x] **2** 5V/16MHz Pro Micros ([official](https://www.sparkfun.com/products/12640) or [clone](http://www.ebay.com/itm/Arduino-Pro-Micro-ATmega32U4-5V-16MHz-Replace-ATmega328-Pro-Mini-Leonardo-USB-/222383274330?hash=item33c713795a:g:3CkAAOSwubRXMmnp))
    - [ ] **48** 1N4148 diodes ([1N4148FS-ND](https://www.digikey.com/products/en?keywords=1N4148FS-ND), just go ahead and get 100)
    - [x] **48** 1N4148 diodes ([1N4148FS-ND](https://www.digikey.com/products/en?keywords=1N4148FS-ND), just go ahead and get 100)
    - [ ] **2** TRRS jacks ([CP-43514-ND](https://www.digikey.com/product-detail/en/cui-inc/SJ-43514/CP-43514-ND/368146))
    - [ ] [Plate & case](https://github.com/jackhumbert/qmk_firmware/blob/master/keyboards/lets_split/imgs/letssplitv2.svg) (sandwich design)
    - [ ] **8** [10mm M3 standoffs](https://www.mcmaster.com/#94868A166) (required for sandwich case)
  9. passalini revised this gist Feb 10, 2017. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion lets split build guide.md
    Original file line number Diff line number Diff line change
    @@ -21,7 +21,7 @@ This guide covers building a Let's Split v2. Order your parts and read over this
    ## Parts

    - [ ] [v2 PCB](http://www.switchtop.com/product/let-s-split-40-percent-pcb)
    - [ ] **2** 5V/16MHz Pro Micros ([official](https://www.sparkfun.com/products/12640) or [clone](http://www.ebay.com/itm/Arduino-Pro-Micro-ATmega32U4-5V-16MHz-Replace-ATmega328-Pro-Mini-Leonardo-USB-/222383274330?hash=item33c713795a:g:3CkAAOSwubRXMmnp))
    - [x] **2** 5V/16MHz Pro Micros ([official](https://www.sparkfun.com/products/12640) or [clone](http://www.ebay.com/itm/Arduino-Pro-Micro-ATmega32U4-5V-16MHz-Replace-ATmega328-Pro-Mini-Leonardo-USB-/222383274330?hash=item33c713795a:g:3CkAAOSwubRXMmnp))
    - [ ] **48** 1N4148 diodes ([1N4148FS-ND](https://www.digikey.com/products/en?keywords=1N4148FS-ND), just go ahead and get 100)
    - [ ] **2** TRRS jacks ([CP-43514-ND](https://www.digikey.com/product-detail/en/cui-inc/SJ-43514/CP-43514-ND/368146))
    - [ ] [Plate & case](https://github.com/jackhumbert/qmk_firmware/blob/master/keyboards/lets_split/imgs/letssplitv2.svg) (sandwich design)
  10. passalini revised this gist Feb 10, 2017. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion lets split build guide.md
    Original file line number Diff line number Diff line change
    @@ -20,7 +20,7 @@ This guide covers building a Let's Split v2. Order your parts and read over this

    ## Parts

    - [x] [v2 PCB](http://www.switchtop.com/product/let-s-split-40-percent-pcb)
    - [ ] [v2 PCB](http://www.switchtop.com/product/let-s-split-40-percent-pcb)
    - [ ] **2** 5V/16MHz Pro Micros ([official](https://www.sparkfun.com/products/12640) or [clone](http://www.ebay.com/itm/Arduino-Pro-Micro-ATmega32U4-5V-16MHz-Replace-ATmega328-Pro-Mini-Leonardo-USB-/222383274330?hash=item33c713795a:g:3CkAAOSwubRXMmnp))
    - [ ] **48** 1N4148 diodes ([1N4148FS-ND](https://www.digikey.com/products/en?keywords=1N4148FS-ND), just go ahead and get 100)
    - [ ] **2** TRRS jacks ([CP-43514-ND](https://www.digikey.com/product-detail/en/cui-inc/SJ-43514/CP-43514-ND/368146))
  11. passalini revised this gist Feb 10, 2017. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion lets split build guide.md
    Original file line number Diff line number Diff line change
    @@ -20,7 +20,7 @@ This guide covers building a Let's Split v2. Order your parts and read over this

    ## Parts

    - [ ] [v2 PCB](http://www.switchtop.com/product/let-s-split-40-percent-pcb)
    - [x] [v2 PCB](http://www.switchtop.com/product/let-s-split-40-percent-pcb)
    - [ ] **2** 5V/16MHz Pro Micros ([official](https://www.sparkfun.com/products/12640) or [clone](http://www.ebay.com/itm/Arduino-Pro-Micro-ATmega32U4-5V-16MHz-Replace-ATmega328-Pro-Mini-Leonardo-USB-/222383274330?hash=item33c713795a:g:3CkAAOSwubRXMmnp))
    - [ ] **48** 1N4148 diodes ([1N4148FS-ND](https://www.digikey.com/products/en?keywords=1N4148FS-ND), just go ahead and get 100)
    - [ ] **2** TRRS jacks ([CP-43514-ND](https://www.digikey.com/product-detail/en/cui-inc/SJ-43514/CP-43514-ND/368146))
  12. @nicinabox nicinabox revised this gist Feb 7, 2017. 1 changed file with 1 addition and 2 deletions.
    3 changes: 1 addition & 2 deletions lets split flashing.md
    Original file line number Diff line number Diff line change
    @@ -91,10 +91,9 @@ Add a new file to your keymap directory named `flip_keymap.h`:
    }
    ```

    Then include this file at the top of `keymap.c`:
    Then include this file at the top of `keymap.c` under `#include "lets_split.h"`:

    ```
    #include "lets_split.h"
    #include "flip_keymap.h"
    ```

  13. @nicinabox nicinabox revised this gist Feb 7, 2017. 1 changed file with 8 additions and 3 deletions.
    11 changes: 8 additions & 3 deletions lets split flashing.md
    Original file line number Diff line number Diff line change
    @@ -36,7 +36,7 @@ Example:

    ```bash
    $ make rev2-YOUR_KEYMAP_NAME-avrdude
    Reset your Pro Micro then hit any key to continue...
    Reset your Pro Micro now

    Connecting to programmer: .
    Found programmer: Id = "CATERIN"; type = S
    @@ -64,8 +64,9 @@ The controller isn't in bootloader mode. You may have missed the 8 second window

    The serial port you specified isn't the one the controller is using.

    ### Your right side has the TRRS on the LEFT and the keymap is reversed

    ### One side is reversed
    As of Feb 7, 2017 this should no longer be necessary. The default `rev2` orientation matches the keymap below.

    You need to flip the keymap in QMK to match the orientation of your board. If you have the right side setup with the TRRS on the left you'll need to reverse the keymap for that side.

    @@ -95,4 +96,8 @@ Then include this file at the top of `keymap.c`:
    ```
    #include "lets_split.h"
    #include "flip_keymap.h"
    ```
    ```

    ### Your right side has the TRRS on the RIGHT and the keymap is reversed

    Use `rev2fliphalf` instead of `rev2` as the target.
  14. @nicinabox nicinabox revised this gist Feb 7, 2017. 1 changed file with 2 additions and 2 deletions.
    4 changes: 2 additions & 2 deletions lets split flashing.md
    Original file line number Diff line number Diff line change
    @@ -69,7 +69,7 @@ The serial port you specified isn't the one the controller is using.

    You need to flip the keymap in QMK to match the orientation of your board. If you have the right side setup with the TRRS on the left you'll need to reverse the keymap for that side.

    Add a new file to your keymap directory named `keymap.h`:
    Add a new file to your keymap directory named `flip_keymap.h`:
    ```
    #undef KEYMAP
    #define KEYMAP( \
    @@ -94,5 +94,5 @@ Then include this file at the top of `keymap.c`:

    ```
    #include "lets_split.h"
    #include "keymap.h"
    #include "flip_keymap.h"
    ```
  15. @nicinabox nicinabox revised this gist Feb 7, 2017. 1 changed file with 8 additions and 2 deletions.
    10 changes: 8 additions & 2 deletions lets split flashing.md
    Original file line number Diff line number Diff line change
    @@ -22,12 +22,18 @@ You will have 8 seconds to flash before it continues on to the sketch.

    > Tip: If this is the first time the Pro Micro has been flashed it should go directly to the bootloader on start.
    From the keymap directory type (`$` indicates the prompt. Don't type that):
    ## Flash

    QMK now includes a very easy way to automatically find the serial port and flash without having to race the bootloader. From the keymap directory type (`$` indicates the prompt. Don't type that):

    ```
    $ make rev2-YOUR_KEYMAP_NAME-avrdude
    ```

    Be sure to replace `YOUR_KEYMAP_NAME` with the name of your keymap.

    Example:

    ```bash
    $ make rev2-YOUR_KEYMAP_NAME-avrdude
    Reset your Pro Micro then hit any key to continue...
    @@ -38,7 +44,7 @@ Found programmer: Id = "CATERIN"; type = S
    Programmer supports auto addr increment.
    Programmer supports buffered memory access with buffersize=128 bytes.

    [snip]
    # [snip]

    avrdude: verifying ...
    avrdude: 22286 bytes of flash verified
  16. @nicinabox nicinabox revised this gist Feb 7, 2017. 1 changed file with 7 additions and 53 deletions.
    60 changes: 7 additions & 53 deletions lets split flashing.md
    Original file line number Diff line number Diff line change
    @@ -7,76 +7,30 @@
    From the lets_split directory:

    ```
    make rev2-YOUR_KEYMAP_NAME-build
    make rev2-YOUR_KEYMAP_NAME-avrdude
    ```

    Don't forget to replace `YOUR_KEYMAP_NAME` with the actual name of your keymap.

    You'll now have a .hex file that we can use to flash.

    ### Enter Bootloader
    ### Bootloader

    Connect RST and GND. If you're using an official Sparkfun Pro Micro (the red one) you need to short this twice quickly.
    Connect RST and GND to enter bootloader. If you're using an official Sparkfun Pro Micro (the red one) you need to short this twice quickly.

    You will only have about 8 seconds to find the serial port and run the flash command before it continues on to the sketch.
    You will have 8 seconds to flash before it continues on to the sketch.

    > Tip: If this is the first time the Pro Micro has been flashed it should go directly to the bootloader on start.
    ### Find Your Serial Port

    Unfortunately, this serial port is not plug-n-play so the kernel does not know which device was plugged in. We'll have to find it manually.

    Before resetting look at the existing serial ports:

    ```
    ls /dev/tty* | grep usb
    ```

    Then reset and run the command again. You should see a new one show up. That's the serial port you'll need to specify when running `avrdude`, but there's a catch: this port may change on every reset so you'll have to go real quick (see **Easier, Alternative Flashing** for a way around this).

    ### Flash Using `avrdude`

    Install `avrdude` if you haven't already: `brew install avrdude`.

    Set your serial port and run `avrdude` to flash the Pro Micro. You may need to adjust the build path.
    From the keymap directory type (`$` indicates the prompt. Don't type that):

    ```
    avrdude \
    -p atmega32u4 \
    -c avr109 \
    -P YOUR_SERIAL_PORT \
    -U flash:w:./build/lets_split_rev2_YOUR_KEYMAP_NAME.hex
    ```

    ### Easier, Alternative Flashing

    You might have heard of this little thing called "computers". They're good at doing things that humans aren't. We can eliminate the race to find the serial port using a little bash.

    Add a Makefile to your keymap directory with the following contents:

    ```
    ifndef QUANTUM_DIR
    include ../../../../Makefile
    endif
    avrdude: build
    ls /dev/tty* > /tmp/1; \
    echo "Reset your Pro Micro now"; \
    while [[ -z $$USB ]]; do \
    sleep 1; \
    ls /dev/tty* > /tmp/2; \
    USB=`diff /tmp/1 /tmp/2 | grep -o '/dev/tty.*'`; \
    done; \
    avrdude -p $(MCU) -c avr109 -P $$USB -U flash:w:$(BUILD_DIR)/$(TARGET).hex
    .PHONY: avrdude
    $ make rev2-YOUR_KEYMAP_NAME-avrdude
    ```

    Let's run it (from the lets_split directory):

    ```bash
    $ make rev2-YOUR_KEYMAP_NAME-avrdude
    Reset your Pro Micro now
    Reset your Pro Micro then hit any key to continue...

    Connecting to programmer: .
    Found programmer: Id = "CATERIN"; type = S
  17. @nicinabox nicinabox revised this gist Feb 5, 2017. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion lets split flashing.md
    Original file line number Diff line number Diff line change
    @@ -109,7 +109,7 @@ The serial port you specified isn't the one the controller is using.

    You need to flip the keymap in QMK to match the orientation of your board. If you have the right side setup with the TRRS on the left you'll need to reverse the keymap for that side.

    Add a new file to your keymap directory `keymap.h`:
    Add a new file to your keymap directory named `keymap.h`:
    ```
    #undef KEYMAP
    #define KEYMAP( \
  18. @nicinabox nicinabox revised this gist Feb 5, 2017. 1 changed file with 0 additions and 4 deletions.
    4 changes: 0 additions & 4 deletions lets split flashing.md
    Original file line number Diff line number Diff line change
    @@ -55,10 +55,6 @@ You might have heard of this little thing called "computers". They're good at do
    Add a Makefile to your keymap directory with the following contents:

    ```
    TAP_DANCE_ENABLE = yes
    RGBLIGHT_ENABLE = yes
    USE_I2C = no
    ifndef QUANTUM_DIR
    include ../../../../Makefile
    endif
  19. @nicinabox nicinabox revised this gist Feb 5, 2017. 2 changed files with 56 additions and 46 deletions.
    24 changes: 0 additions & 24 deletions lets split build guide.md
    Original file line number Diff line number Diff line change
    @@ -194,27 +194,3 @@ If you're having trouble with a dead column right over your Pro Micro it could b

    - Double check your jumpers are bridged correctly.
    - Make sure J1 on the Pro Micro is **not** bridged.

    ### One side is reversed

    You need to flip the keymap in QMK to match the orientation of your board. If you have the right side setup with the TRRS on the left your keymap should look like this:

    In `keyboards/lets_split/rev2/rev2.h`:
    ```
    #define KEYMAP( \
    k00, k01, k02, k03, k04, k05, k45, k44, k43, k42, k41, k40, \
    k10, k11, k12, k13, k14, k15, k55, k54, k53, k52, k51, k50, \
    k20, k21, k22, k23, k24, k25, k65, k64, k63, k62, k61, k60, \
    k30, k31, k32, k33, k34, k35, k75, k74, k73, k72, k71, k70 \
    ) \
    { \
    { k00, k01, k02, k03, k04, k05 }, \
    { k10, k11, k12, k13, k14, k15 }, \
    { k20, k21, k22, k23, k24, k25 }, \
    { k30, k31, k32, k33, k34, k35 }, \
    { k40, k41, k42, k43, k44, k45 }, \
    { k50, k51, k52, k53, k54, k55 }, \
    { k60, k61, k62, k63, k64, k65 }, \
    { k70, k71, k72, k73, k74, k75 } \
    }
    ```
    78 changes: 56 additions & 22 deletions lets split flashing.md
    Original file line number Diff line number Diff line change
    @@ -52,33 +52,34 @@ avrdude \

    You might have heard of this little thing called "computers". They're good at doing things that humans aren't. We can eliminate the race to find the serial port using a little bash.

    Save this as `flash.sh` then `chmod +x flash.sh`:
    Add a Makefile to your keymap directory with the following contents:

    ```bash
    #!/bin/bash

    # Usage
    # ./flash.sh path/to/your.hex

    TARGET=$1

    ls /dev/tty* > /tmp/1

    echo "Reset your Pro Micro now"

    while [[ -z $USB ]]; do
    sleep 1
    ls /dev/tty* > /tmp/2
    USB=`diff /tmp/1 /tmp/2 | grep -o '/dev/tty.*'`
    done

    avrdude -p atmega32u4 -c avr109 -P $USB -U flash:w:$TARGET
    ```
    TAP_DANCE_ENABLE = yes
    RGBLIGHT_ENABLE = yes
    USE_I2C = no
    ifndef QUANTUM_DIR
    include ../../../../Makefile
    endif
    avrdude: build
    ls /dev/tty* > /tmp/1; \
    echo "Reset your Pro Micro now"; \
    while [[ -z $$USB ]]; do \
    sleep 1; \
    ls /dev/tty* > /tmp/2; \
    USB=`diff /tmp/1 /tmp/2 | grep -o '/dev/tty.*'`; \
    done; \
    avrdude -p $(MCU) -c avr109 -P $$USB -U flash:w:$(BUILD_DIR)/$(TARGET).hex
    .PHONY: avrdude
    ```

    Let's run it (from the lets_split directory):

    ```bash
    $ ./flash.sh ../../.build/lets_split_rev2_YOUR_KEYMAP_NAME.hex
    $ make rev2-YOUR_KEYMAP_NAME-avrdude
    Reset your Pro Micro now

    Connecting to programmer: .
    @@ -105,4 +106,37 @@ The controller isn't in bootloader mode. You may have missed the 8 second window

    ### Can't open device

    The serial port you specified isn't the one the controller is using.
    The serial port you specified isn't the one the controller is using.


    ### One side is reversed

    You need to flip the keymap in QMK to match the orientation of your board. If you have the right side setup with the TRRS on the left you'll need to reverse the keymap for that side.

    Add a new file to your keymap directory `keymap.h`:
    ```
    #undef KEYMAP
    #define KEYMAP( \
    k00, k01, k02, k03, k04, k05, k45, k44, k43, k42, k41, k40, \
    k10, k11, k12, k13, k14, k15, k55, k54, k53, k52, k51, k50, \
    k20, k21, k22, k23, k24, k25, k65, k64, k63, k62, k61, k60, \
    k30, k31, k32, k33, k34, k35, k75, k74, k73, k72, k71, k70 \
    ) \
    { \
    { k00, k01, k02, k03, k04, k05 }, \
    { k10, k11, k12, k13, k14, k15 }, \
    { k20, k21, k22, k23, k24, k25 }, \
    { k30, k31, k32, k33, k34, k35 }, \
    { k40, k41, k42, k43, k44, k45 }, \
    { k50, k51, k52, k53, k54, k55 }, \
    { k60, k61, k62, k63, k64, k65 }, \
    { k70, k71, k72, k73, k74, k75 } \
    }
    ```

    Then include this file at the top of `keymap.c`:

    ```
    #include "lets_split.h"
    #include "keymap.h"
    ```
  20. @nicinabox nicinabox revised this gist Feb 5, 2017. 1 changed file with 5 additions and 0 deletions.
    5 changes: 5 additions & 0 deletions lets split build guide.md
    Original file line number Diff line number Diff line change
    @@ -10,6 +10,11 @@ This guide covers building a Let's Split v2. Order your parts and read over this

    - [/u/wootpatoot's v2 assembly instructions](https://www.reddit.com/r/MechanicalKeyboards/comments/5funsl/guidelets_split_v2_assembly_instructions/)
    - [/u/bakingpy's build log](https://www.reddit.com/r/MechanicalKeyboards/comments/5rgj06/lets_split_v2_build_log_with_mini_usb_pro_micro/)
    - [/u/tobiasboon's Let's split v2 build log (with I2C)](https://www.reddit.com/r/MechanicalKeyboards/comments/5s3yr2/lets_split_v2_build_log_with_i2c_photos/)

    ## Contents

    - Build guide (currently reading)
    - [RGB underglow](https://gist.github.com/nicinabox/3582fc89470a3f4efc9ed194f12fabfb#file-lets-split-rgb-underglow-md)
    - [Flashing](https://gist.github.com/nicinabox/3582fc89470a3f4efc9ed194f12fabfb#file-lets-split-flashing-md)

  21. @nicinabox nicinabox revised this gist Feb 2, 2017. 1 changed file with 2 additions and 1 deletion.
    3 changes: 2 additions & 1 deletion lets split build guide.md
    Original file line number Diff line number Diff line change
    @@ -8,7 +8,8 @@ This guide covers building a Let's Split v2. Order your parts and read over this

    ## Helpful references

    - [wootpatoot's v2 assembly instructions](https://www.reddit.com/r/MechanicalKeyboards/comments/5funsl/guidelets_split_v2_assembly_instructions/)
    - [/u/wootpatoot's v2 assembly instructions](https://www.reddit.com/r/MechanicalKeyboards/comments/5funsl/guidelets_split_v2_assembly_instructions/)
    - [/u/bakingpy's build log](https://www.reddit.com/r/MechanicalKeyboards/comments/5rgj06/lets_split_v2_build_log_with_mini_usb_pro_micro/)
    - [RGB underglow](https://gist.github.com/nicinabox/3582fc89470a3f4efc9ed194f12fabfb#file-lets-split-rgb-underglow-md)
    - [Flashing](https://gist.github.com/nicinabox/3582fc89470a3f4efc9ed194f12fabfb#file-lets-split-flashing-md)

  22. @nicinabox nicinabox revised this gist Feb 1, 2017. 1 changed file with 2 additions and 2 deletions.
    4 changes: 2 additions & 2 deletions lets split build guide.md
    Original file line number Diff line number Diff line change
    @@ -178,7 +178,6 @@ Home stretch. Gently snap in the rest of the switches and solder them.

    You did it! Great job!


    ## Common Issues

    ### My column 2 or column 5 doesn't work
    @@ -187,7 +186,8 @@ If you're having trouble with a dead column right over your Pro Micro it could b

    ### One side isn't working

    Double check your jumpers.
    - Double check your jumpers are bridged correctly.
    - Make sure J1 on the Pro Micro is **not** bridged.

    ### One side is reversed

  23. @nicinabox nicinabox revised this gist Jan 31, 2017. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion lets split flashing.md
    Original file line number Diff line number Diff line change
    @@ -79,7 +79,7 @@ Let's run it (from the lets_split directory):

    ```bash
    $ ./flash.sh ../../.build/lets_split_rev2_YOUR_KEYMAP_NAME.hex
    Reset your Pro Micro then hit any key to continue...
    Reset your Pro Micro now

    Connecting to programmer: .
    Found programmer: Id = "CATERIN"; type = S
  24. @nicinabox nicinabox revised this gist Jan 30, 2017. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion lets split flashing.md
    Original file line number Diff line number Diff line change
    @@ -69,7 +69,7 @@ echo "Reset your Pro Micro now"
    while [[ -z $USB ]]; do
    sleep 1
    ls /dev/tty* > /tmp/2
    USB=`diff /tmp/1 /tmp/2 | grep '>' | sed -e 's/> //'`
    USB=`diff /tmp/1 /tmp/2 | grep -o '/dev/tty.*'`
    done

    avrdude -p atmega32u4 -c avr109 -P $USB -U flash:w:$TARGET
  25. @nicinabox nicinabox revised this gist Jan 30, 2017. 1 changed file with 6 additions and 4 deletions.
    10 changes: 6 additions & 4 deletions lets split flashing.md
    Original file line number Diff line number Diff line change
    @@ -64,11 +64,13 @@ TARGET=$1

    ls /dev/tty* > /tmp/1

    echo "Reset your Pro Micro then hit any key to continue..."
    read -n 1 -s
    echo "Reset your Pro Micro now"

    ls /dev/tty* > /tmp/2
    USB=`diff /tmp/1 /tmp/2 | grep '>' | sed -e 's/> //'`
    while [[ -z $USB ]]; do
    sleep 1
    ls /dev/tty* > /tmp/2
    USB=`diff /tmp/1 /tmp/2 | grep '>' | sed -e 's/> //'`
    done

    avrdude -p atmega32u4 -c avr109 -P $USB -U flash:w:$TARGET
    ```
  26. @nicinabox nicinabox revised this gist Jan 30, 2017. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion lets split build guide.md
    Original file line number Diff line number Diff line change
    @@ -10,7 +10,7 @@ This guide covers building a Let's Split v2. Order your parts and read over this

    - [wootpatoot's v2 assembly instructions](https://www.reddit.com/r/MechanicalKeyboards/comments/5funsl/guidelets_split_v2_assembly_instructions/)
    - [RGB underglow](https://gist.github.com/nicinabox/3582fc89470a3f4efc9ed194f12fabfb#file-lets-split-rgb-underglow-md)
    - [Flashing]()
    - [Flashing](https://gist.github.com/nicinabox/3582fc89470a3f4efc9ed194f12fabfb#file-lets-split-flashing-md)

    ## Parts

  27. @nicinabox nicinabox revised this gist Jan 30, 2017. 2 changed files with 107 additions and 1 deletion.
    2 changes: 1 addition & 1 deletion lets split build guide.md
    Original file line number Diff line number Diff line change
    @@ -5,12 +5,12 @@ This guide covers building a Let's Split v2. Order your parts and read over this
    ![](http://i.imgur.com/yuQuNJU.jpg)

    - I2C isn't covered in this guide (yet), mostly because I didn't do it for my build.
    - Flashing isn't covered. I'm hoping to add this to the QMK Let's Split readme instead.

    ## Helpful references

    - [wootpatoot's v2 assembly instructions](https://www.reddit.com/r/MechanicalKeyboards/comments/5funsl/guidelets_split_v2_assembly_instructions/)
    - [RGB underglow](https://gist.github.com/nicinabox/3582fc89470a3f4efc9ed194f12fabfb#file-lets-split-rgb-underglow-md)
    - [Flashing]()

    ## Parts

    106 changes: 106 additions & 0 deletions lets split flashing.md
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,106 @@
    # Flashing a Pro Micro

    ## OSX, Linux

    ### Build Keymap (QMK)

    From the lets_split directory:

    ```
    make rev2-YOUR_KEYMAP_NAME-build
    ```

    Don't forget to replace `YOUR_KEYMAP_NAME` with the actual name of your keymap.

    You'll now have a .hex file that we can use to flash.

    ### Enter Bootloader

    Connect RST and GND. If you're using an official Sparkfun Pro Micro (the red one) you need to short this twice quickly.

    You will only have about 8 seconds to find the serial port and run the flash command before it continues on to the sketch.

    > Tip: If this is the first time the Pro Micro has been flashed it should go directly to the bootloader on start.
    ### Find Your Serial Port

    Unfortunately, this serial port is not plug-n-play so the kernel does not know which device was plugged in. We'll have to find it manually.

    Before resetting look at the existing serial ports:

    ```
    ls /dev/tty* | grep usb
    ```

    Then reset and run the command again. You should see a new one show up. That's the serial port you'll need to specify when running `avrdude`, but there's a catch: this port may change on every reset so you'll have to go real quick (see **Easier, Alternative Flashing** for a way around this).

    ### Flash Using `avrdude`

    Install `avrdude` if you haven't already: `brew install avrdude`.

    Set your serial port and run `avrdude` to flash the Pro Micro. You may need to adjust the build path.

    ```
    avrdude \
    -p atmega32u4 \
    -c avr109 \
    -P YOUR_SERIAL_PORT \
    -U flash:w:./build/lets_split_rev2_YOUR_KEYMAP_NAME.hex
    ```

    ### Easier, Alternative Flashing

    You might have heard of this little thing called "computers". They're good at doing things that humans aren't. We can eliminate the race to find the serial port using a little bash.

    Save this as `flash.sh` then `chmod +x flash.sh`:

    ```bash
    #!/bin/bash

    # Usage
    # ./flash.sh path/to/your.hex

    TARGET=$1

    ls /dev/tty* > /tmp/1

    echo "Reset your Pro Micro then hit any key to continue..."
    read -n 1 -s

    ls /dev/tty* > /tmp/2
    USB=`diff /tmp/1 /tmp/2 | grep '>' | sed -e 's/> //'`

    avrdude -p atmega32u4 -c avr109 -P $USB -U flash:w:$TARGET
    ```

    Let's run it (from the lets_split directory):

    ```bash
    $ ./flash.sh ../../.build/lets_split_rev2_YOUR_KEYMAP_NAME.hex
    Reset your Pro Micro then hit any key to continue...

    Connecting to programmer: .
    Found programmer: Id = "CATERIN"; type = S
    Software Version = 1.0; No Hardware Version given.
    Programmer supports auto addr increment.
    Programmer supports buffered memory access with buffersize=128 bytes.

    [snip]

    avrdude: verifying ...
    avrdude: 22286 bytes of flash verified

    avrdude: safemode: Fuses OK (E:CB, H:D8, L:FF)

    avrdude done. Thank you.
    ```

    ## Common Issues

    ### Programmer not responding

    The controller isn't in bootloader mode. You may have missed the 8 second window to flash.

    ### Can't open device

    The serial port you specified isn't the one the controller is using.
  28. @nicinabox nicinabox revised this gist Jan 30, 2017. 2 changed files with 3 additions and 1 deletion.
    2 changes: 2 additions & 0 deletions lets split build guide.md
    Original file line number Diff line number Diff line change
    @@ -24,6 +24,8 @@ This guide covers building a Let's Split v2. Order your parts and read over this
    - [ ] **48** [Switches of your choice](https://mechanicalkeyboards.com/shop/index.php?l=product_list&c=107)
    - [ ] [TRRS cable](https://www.amazon.com/gp/product/B019TRW4HQ/ref=oh_aui_detailpage_o04_s00?ie=UTF8&psc=1)

    **/!\** The M3 screws linked above may have a slight clearance issue with the keycap. You can countersink the head or use a screw with a lower profile head. I'm testing out button head screws to see if they work better.

    ## Cost Breakdown

    | Cost | Part |
    2 changes: 1 addition & 1 deletion lets split rgb underglow.md
    Original file line number Diff line number Diff line change
    @@ -5,7 +5,7 @@
    ## Parts

    - [ ] [WS2812 LED strip](https://www.sparkfun.com/products/12025)
    - [ ] 24 AWG stranded wire in 3 colors (white, red, black are good choices)
    - [ ] 24 AWG (or smaller) stranded wire in 3 colors (white, red, black are good choices)

    The WS2812B strip is also fine, but avoid the sealed waterproof one for keyboards.

  29. @nicinabox nicinabox revised this gist Jan 29, 2017. 1 changed file with 35 additions and 0 deletions.
    35 changes: 35 additions & 0 deletions lets split build guide.md
    Original file line number Diff line number Diff line change
    @@ -175,3 +175,38 @@ Home stretch. Gently snap in the rest of the switches and solder them.
    2. Install your keycaps and connect the two halves with the TRRS cable.

    You did it! Great job!


    ## Common Issues

    ### My column 2 or column 5 doesn't work

    If you're having trouble with a dead column right over your Pro Micro it could be that you've got a short from the switch pins. Try to get under there and bend them down.

    ### One side isn't working

    Double check your jumpers.

    ### One side is reversed

    You need to flip the keymap in QMK to match the orientation of your board. If you have the right side setup with the TRRS on the left your keymap should look like this:

    In `keyboards/lets_split/rev2/rev2.h`:
    ```
    #define KEYMAP( \
    k00, k01, k02, k03, k04, k05, k45, k44, k43, k42, k41, k40, \
    k10, k11, k12, k13, k14, k15, k55, k54, k53, k52, k51, k50, \
    k20, k21, k22, k23, k24, k25, k65, k64, k63, k62, k61, k60, \
    k30, k31, k32, k33, k34, k35, k75, k74, k73, k72, k71, k70 \
    ) \
    { \
    { k00, k01, k02, k03, k04, k05 }, \
    { k10, k11, k12, k13, k14, k15 }, \
    { k20, k21, k22, k23, k24, k25 }, \
    { k30, k31, k32, k33, k34, k35 }, \
    { k40, k41, k42, k43, k44, k45 }, \
    { k50, k51, k52, k53, k54, k55 }, \
    { k60, k61, k62, k63, k64, k65 }, \
    { k70, k71, k72, k73, k74, k75 } \
    }
    ```
  30. @nicinabox nicinabox revised this gist Jan 27, 2017. 1 changed file with 7 additions and 5 deletions.
    12 changes: 7 additions & 5 deletions lets split rgb underglow.md
    Original file line number Diff line number Diff line change
    @@ -7,18 +7,20 @@
    - [ ] [WS2812 LED strip](https://www.sparkfun.com/products/12025)
    - [ ] 24 AWG stranded wire in 3 colors (white, red, black are good choices)

    The WS2812B strip is also fine, but avoid the sealed waterproof one for keyboards. Look for the strip with spaced 3 pin connectors. The pads are bigger and it's easier to solder to.
    The WS2812B strip is also fine, but avoid the sealed waterproof one for keyboards.

    Look for a strip with spaced, 3-pad connectors. When you cut between them the pads are bigger and it's easier to solder to. Example:

    ![](http://i.imgur.com/bwrhq7p.jpg)

    ## Prep the strips

    1. Cut 2 5-LED segments from the WS2812 strip
    2. Fill the pads on both ends with solder
    1. Cut 2 5-LED segments from the WS2812 strip (cut between the pads, or in the middle of the pads if you don't have a space between)
    2. Fill the pads on both ends with solder like the picture below

    ![](http://i.imgur.com/u9RdXxE.jpg)
    Avoid buying LED strips like this one where you cut the pad in half. There's just not much left to solder to, but it can be done.

    > Avoid the strips that have you cut the pad in half. See how tiny the remaining pad is?
    ![](http://i.imgur.com/70IHyql.jpg)

    ## Prep the wire