Skip to content

Instantly share code, notes, and snippets.

@CampAsAChamp
Last active February 3, 2021 18:46
Show Gist options
  • Star 6 You must be signed in to star a gist
  • Fork 4 You must be signed in to fork a gist
  • Save CampAsAChamp/e747d2b605c0c32923593b529f82ccdd to your computer and use it in GitHub Desktop.
Save CampAsAChamp/e747d2b605c0c32923593b529f82ccdd to your computer and use it in GitHub Desktop.
Let's Split Flashing Guide for Windows

A Guide to Flashing a Let's Split for Beginners (Windows)


This guide is no longer being updated and instead has moved to GitHub (click and scroll down)


3 Main Steps

  • Setting Up and Installing Software
  • Building your keymap and keyboard firmware
  • Flashing your Let's Split with your created firmware

Helpful references


SETTING UP

  1. Install Bash Shell on Windows, follow this guide

  2. Download and install AVRDudess, link here

  3. Download and install WinAVR or LIBUSB to get the LIBUSB0.DLL

  • If you don’t then attempting to flash the pro micro won’t do anything
  • I’m going to be using WinAVR for this, so download and install it
  1. Go to install location of WinAVR and go to to the following path, using mine as an example

C:\Program Files (x86)\WinAVR\utils\libusb\bin

  1. Copy the 4 libusb0 files from the WinAVR folder into the AVRDUDESS Program Files location and it should look like this now

  1. Clone with Git or Download the QMK Zip and unzip it

https://github.com/qmk/qmk_firmware

  • For this guide I’m going to make it easy and just download the Zip

  1. Extract the zip so you have a folder named QMK or qmk_firmware_master
  • Place this in a nice easy location, that doesn’t require administrator access, like your documents folder or desktop
  1. Open a bash shell window through the start menu (should be called bash.exe or Bash on Ubuntu on Windows)

  2. Change the directory to your QMK copy, which you just unzipped.

  • Do this using the cd command (Hard drives are accessed in bash by typing cd /mnt/<driveletter>)

Example cd /mnt/c/Users/Nick/Documents/qmk_firmware_master

  1. Run sudo util/install_dependencies.sh, This will run apt-get upgrade

  2. Wait a while (5 minutes for me), and then you are good to go


BUILDING HEX

For the default keymap, with no customization

  1. Change the directory to your Lets_Split folder

  • Do this using the cd command

Hard drives are accessed from cd /mnt/<driveletter>

Example cd /mnt/c/Users/Nick/Documents/qmk_firmware_master/keyboards/lets_split

  1. Type make and it will build all of the hex’s that are available by default (Serial and i2c, for both Rev 1 & Rev 2)

  1. Your hex file and a folder will be generated for you at the following location qmk_firmware_master/.build
  • This folder will be generated and your appropriate hex files will be inside, all you need is your .hex file, so copy that somewhere safe, or you can just drag it in the let’s split folder in QMK

For customization

  1. Change the directory to your Lets_Split folder

  • Do this using the cd command

Hard drives are accessed from cd /mnt/<driveletter>

Example cd /mnt/c/Users/Nick/Documents/qmk_firmware_master/keyboards/lets_split

  1. Customize and configure your files in the Rev 2 folder (keymap.c for layout, but check QMK wiki on GitHub for more advanced)
  • Only if using Rev 2 PCB, if you are using Rev 1 just do everything in Rev 1 folder, and type make rev1
  • For me, I had to reverse the right side, because it was flipped, read the instructions for that above, at the end of the _zsh's guide, he goes over how to fix this. I’m not going to go into customization in this guide, so just check the QMK Wiki
  1. Type make rev2

  2. Your hex file and a folder will be generated for you at the following location qmk_firmware_master/.build

  • This folder will be generated and your appropriate hex files will be inside, all you need is your .hex file, so copy that somewhere safe, or you can just drag it in the let’s split folder in QMK


FLASHING (Not the one that gets you in trouble)

  1. Open up AVRDUDESS
  • If you get an error saying that it can’t start because libusb0.dll is missing then read step 2 of the SETUP GUIDE above
  1. Select Atmel AppNote AVR109 Boot Loader for the programmer

  1. Select ATmega32U4 for the MCU

  1. Select your .hex file in the for the flash box (click the … box to the right)

  1. Select the eeprom-lefthand.eep file in the QMK Lets_split folder for the EEPROM box
  • Make sure to select only one file, as you will have to change this file when flashing the right side
  1. Connect only the left side of your board to the computer through a USB cable

  2. Take note of the port drop down menu and see if you have any COMM listings, if you do, then Don’t select those particular ones in the next step

  1. Locate the ground and reset pins on your pro micro and short them, was 2 from the top on the right side of the pro micro for me

  1. Take something metal and touch between the ground and reset pins to short them out, or if your’s has a reset button then press that to enter the bootloader mode

  2. Quickly open the Port drop down menu and select the new COMM port that has popped up, then click program

  • If the pro micro came out of bootloader mode, then you won’t be able to flash it, but all you have to do is enter bootloader mode again by shorting the pins again.
  1. Now the left side is done, we have to flash the right side, so connect it to your PC through USB

  2. Be sure to change the EEPROM file to the right hand one (eeprom-righthand.eep)

  3. Locate the ground and reset pins on your pro micro and short them, was 3 from the top on the right side of the pro micro for me

  4. Take something metal and touch between the ground and reset pins to short them out, or if your’s has a reset button then press that to enter the bootloader mode

  5. Quickly open the Port drop down menu and select the new COMM port that has popped up, then click program

  • If the pro micro came out of bootloader mode, then you won’t be able to flash it, but all you have to do is enter bootloader mode again by shorting the pins again.
  1. Time to test it out, plug in your TRRS cable to both sides, and then plug in the USB on the left side and open a notepad window to test out all the keys and make sure your soldering skills were good

  2. Congrats on correctly flashing your own Let’s Split, and hope this helps those out who are having trouble with programming their Let’s Splits like I did


-Written by /u/CampAsAChamp

Help and references from

  • /u/wootpatoot

  • /u/_zsh

  • /u/jackhumbert

  • /u/Jolly_Green_Giant

@fpazos
Copy link

fpazos commented Feb 6, 2019

Hi, I was just madening when I read that the eeprom files now are common for the split keyboards and are placed in \qmk_firmware\quantum\split_common\ Hope to help someone

@PoisonLotus
Copy link

I keep getting an error saying avrdude.exe: ser_recv(): read error: The device does not recognize the command.
avrdude.exe: butterfly_recv(): programmer is not responding
avrdude.exe: ser_drain(): read error: The device does not recognize the command.
avrdude.exe: ser_send(): write error: sorry no info avail
avrdude.exe: ser_recv(): read error: The device does not recognize the command.
avrdude.exe: butterfly_recv(): programmer is not responding
avrdude.exe: ser_send(): write error: sorry no info avail
avrdude.exe: ser_recv(): read error: The device does not recognize the command.
avrdude.exe: butterfly_recv(): programmer is not responding
avrdude.exe: ser_recv(): read error: The device does not recognize the command.
avrdude.exe: butterfly_recv(): programmer is not responding
avrdude.exe: ser_send(): write error: sorry no info avail
avrdude.exe: ser_recv(): read error: The device does not recognize the command.
avrdude.exe: butterfly_recv(): programmer is not responding
Found programmer: Id = "F"; type = @
Software Version = @.u; Hardware Version = V.È
avrdude.exe: ser_send(): write error: sorry no info avail
avrdude.exe: ser_recv(): read error: The device does not recognize the command.
avrdude.exe: butterfly_recv(): programmer is not responding
avrdude.exe: ser_send(): write error: sorry no info avail

avrdude.exe: ser_recv(): read error: The device does not recognize the command.
avrdude.exe: butterfly_recv(): programmer is not responding
avrdude.exe: error: buffered memory access not supported. Maybe it isn't
a butterfly/AVR109 but a AVR910 device?
avrdude.exe: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.

avrdude.exe: ser_send(): write error: sorry no info avail
avrdude.exe: ser_recv(): read error: The device does not recognize the command.
avrdude.exe: butterfly_recv(): programmer is not responding
avrdude.exe: error: programmer did not respond to command: leave prog mode
avrdude.exe: ser_send(): write error: sorry no info avail
avrdude.exe: ser_recv(): read error: The device does not recognize the command.
avrdude.exe: butterfly_recv(): programmer is not responding
avrdude.exe: error: programmer did not respond to command: exit bootloader

And it wont download I have tried everything but I cant find much on this issue either way.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment