2015-01-15 19:06:43 +01:00
Planck keyboard firmware
2014-12-14 16:30:27 +01:00
======================
2015-03-21 06:17:22 +01:00
DIY/Assembled compact ortholinear 40% keyboard by [Ortholinear Keyboards ](http://ortholinearkeyboards.com ).
2014-12-14 16:30:27 +01:00
2015-10-27 05:48:22 +01:00
## Quantum MK Firmware
2016-01-16 06:51:24 +01:00
2015-03-21 06:17:22 +01:00
2015-10-29 23:37:29 +01:00
## Building
Download or clone the whole firmware and navigate to the keyboard/planck folder. Once your dev env is setup, you'll be able to type `make` to generate your .hex - you can then use `make dfu` to program your PCB once you hit the reset button.
2015-03-18 15:19:40 +01:00
2015-04-25 00:28:03 +02:00
Depending on which keymap you would like to use, you will have to compile slightly differently.
2014-12-14 16:30:27 +01:00
2015-10-29 23:37:29 +01:00
### Default
To build with the default keymap, simply run `make` .
2015-04-25 00:35:57 +02:00
2016-02-01 17:37:17 +01:00
## Safety Considerations
You probably don't want to "brick" your keyboard, making it impossible
to rewrite firmware onto it. Here are some of the parameters to show
what things are (and likely aren't) too risky.
- If a keyboard map does not include RESET, then, to get into DFU
mode, you will need to press the reset button on the PCB, which
requires unscrewing some bits.
- Messing with tmk_core / common files might make the keyboard
inoperable
- Too large a .hex file is trouble; `make dfu` will erase the block,
test the size (oops, wrong order!), which errors out, failing to
flash the keyboard
- DFU tools do /not/ allow you to write into the bootloader (unless
you throw in extra fruitsalad of options), so there is little risk
there.
- EEPROM has around a 100000 write cycle. You shouldn't rewrite the
firmware repeatedly and continually; that'll burn the EEPROM
eventually.
2015-10-29 23:37:29 +01:00
### Other Keymaps
2016-01-16 06:51:24 +01:00
Several version of keymap are available in advance but you are recommended to define your favorite layout yourself. To define your own keymap create file named `<name>.c` and see keymap document (you can find in top README.md) and existent keymap files.
2015-04-25 00:29:50 +02:00
2015-10-29 23:37:29 +01:00
To build the firmware binary hex file with a keymap just do `make` with `KEYMAP` option like:
2015-04-25 00:28:03 +02:00
```
2015-08-22 17:10:57 +02:00
$ make KEYMAP=[default|jack|< name > ]
2015-04-25 00:28:03 +02:00
```
2016-01-16 06:51:24 +01:00
Keymaps follow the format **__<name\>.c__** and are stored in the `keymaps` folder.
2015-03-21 06:17:22 +01:00
2015-10-29 23:37:29 +01:00
### Notable forks (which some of the keymap files are from)
2015-03-21 06:17:22 +01:00
- [Shane's Fork ](https://github.com/shanecelis/tmk_keyboard/tree/master/keyboard/planck )
- [Pierre's Fork ](https://github.com/pcarrier/tmk_keyboard/blob/pcarrier/planck/keyboard/gh60/keymap_planck.c )
- [Nathan's Fork ](https://github.com/nathanrosspowell/tmk_keyboard/tree/planck-jack/keyboard/planck )
2015-04-25 00:28:03 +02:00
- [Matthew's Fork ](https://github.com/pepers/tmk_keyboard/tree/master/keyboard/planck_grid )