# The Easy Way
+If you have an ErgoDox EZ, the absolute easiest way for you to customize your firmware is using the [graphical configurator](http://configure.ergodox-ez.com), which uses QMK under the hood.
+
If you can find firmware someone else has made that does what you want, that
is the easiest way to customize your ErgoDox. It requires no programming
experience or the setup of a build environment.
keymap. This will require some experience with coding. Follow these steps
to customize a keymap:
- - Read the [qmk firmware README](https://github.com/jackhumbert/qmk_firmware) from top to bottom. Then come back here. :)
+ - Read the [qmk firmware README](https://github.com/qmk/qmk_firmware) from top to bottom. Then come back here. :)
- Clone the qmk_firmware repository
# Flashing Firmware
-## ErgoDox Ez
+## ErgoDox EZ
The Ez uses the [Teensy Loader](https://www.pjrc.com/teensy/loader.html).
-Linux users need to modify udev rules as described on the Teensy Linux page.
-Some distributions provide a binary, maybe called `teensy-loader-cli`).
+Linux users need to modify udev rules as described on the [Teensy
+Linux page]. Some distributions provide a binary, maybe called
+`teensy-loader-cli`.
+
+[Teensy Linux page]: https://www.pjrc.com/teensy/loader_linux.html
To flash the firmware:
- - Build the firmware with `make keymap=keymapname`, for example `make
- keymap=default`
+ - Build the firmware with `make keymapname`, for example `make default`
- This will result in a hex file called `ergodox_ez_keymapname.hex`, e.g.
`ergodox_ez_default.hex`
- Click the button in the Teensy app to download the firmware.
+To flash with ´teensy-loader-cli´:
+
+ - Build the firmware with `make keymapname`, for example `make default`
+
+ - Run ´<path/to/>teensy_loader_cli --mcu=atmega32u4 -w ergodox_ez_<keymap>.hex´
+
+ - Press the Reset button by inserting a paperclip gently into the reset hole
+ in the top right corder.
+
## ErgoDox Infinity
The Infinity is two completely independent keyboards, and needs to be flashed
for the left and right halves seperately. To flash them:
- - Build the firmware with `make keymap=keymapname subproject=infinity`
+ - Build the firmware with `make infinity-keymapname`
- Plug in the left hand keyboard only.
- Press the program button (back of keyboard, above thumb pad).
- - Install the firmware with `sudo make dfu-util keymap=keymapname subproject=infinity`
+ - Install the firmware with `sudo make infinity-keymapname-dfu-util`
- - Build left hand firmware with `make keymap=keymapname subproject=infinity MASTER=right`
+ - Build right hand firmware with `make infinity-keymapname MASTER=right`
- Plug in the right hand keyboard only.
- Press the program button (back of keyboard, above thumb pad).
- - Install the firmware with `sudo make dfu-util keymap=keymapname subproject=infinity MASTER=right`
+ - Install the firmware with `sudo make infinity-keymapname-dfu-util MASTER=right`
More information on the Infinity firmware is available in the [TMK/chibios for
Input Club Infinity Ergodox](https://github.com/fredizzimo/infinity_ergodox/blob/master/README.md)
There are external tools for customizing the layout, but those do not use
the featurs of this qmk firmware. These sites include:
- - [Massdrop configurator](https://keyboard-configurator.massdrop.com/ext/ergodox) for Ez
+ - The official [ErgoDox EZ configurator](http://configure.ergodox-ez.com)
+ - [Massdrop configurator](https://keyboard-configurator.massdrop.com/ext/ergodox) for EZ, works but not officially supported
- [Input Club configurator](https://input.club/configurator-ergodox) for Infinity, provides left and right files
You can also find an existing firmware that you like, for example from:
- [Dozens of community-contributed keymaps](http://qmk.fm/keyboards/ergodox/)
-
-This qmk firmware also provides the ability to customize keymaps, but requires
-a toolchain to build the firmware. See below for instructions on building
-firmware and customizing keymaps.