72 lines
3.2 KiB
Markdown
72 lines
3.2 KiB
Markdown
|
# Getting Started
|
||
|
|
||
|
## Microcontrollers
|
||
|
KMK will run on most microcontrollers supported by
|
||
|
[Circuitpython](https://circuitpython.org/downloads). Our recommended
|
||
|
microcontrollers are found [here](Officially_Supported_Microcontrollers.md)
|
||
|
|
||
|
## Firmware
|
||
|
### KMKPython
|
||
|
KMKPython is a fork of Circuitpython, but with libraries for most extensions
|
||
|
built in. This saves you from having to get them all and keep them updated
|
||
|
yourself. There may be other features added in the future that are exclusive to
|
||
|
KMKPython. For the nice!nano, this is highly recommended, and used in place of
|
||
|
Circuitpython.
|
||
|
Notable differences include
|
||
|
- Built in libraries for bluetooth, RGB, and more
|
||
|
- Saves space as builds are optimized for keyboards
|
||
|
- Microcontrollers like the nice!nano will be able to access all features out of
|
||
|
the box.
|
||
|
|
||
|
### Circuitpython
|
||
|
Circuitpython can be installed by following this guide using the guide
|
||
|
[here](https://learn.adafruit.com/welcome-to-circuitpython/installing-circuitpython).
|
||
|
It's recommended to run the latest stable version that is at least 5.0 or higher.
|
||
|
Beta versions may work, but expect limited support.
|
||
|
#### Notable differences include
|
||
|
- Supports more devices
|
||
|
- Less built in libraries. If using RGB, bluetooth, and more, you will have to
|
||
|
add these libraries yourself
|
||
|
- Some devices such as the nice!nano don't have much free space, so not all
|
||
|
features can be installed at the same time
|
||
|
|
||
|
## Getting KMK
|
||
|
You can always find the latest releases on our CDN, in
|
||
|
[compiled and optimized](https://cdn.kmkfw.io/kmk-latest.zip) and
|
||
|
[raw, hackable text file](https://cdn.kmkfw.io/kmk-latest.unoptimized.zip)
|
||
|
forms. These follow the `master` branch here on GitHub. Just get the KMK folder
|
||
|
and drop this directly in the CIRCUITPYTHON directory (not in a sub folder).
|
||
|
Make sure to extract the zip, and put the `kmk` folder on the root of the
|
||
|
CIRCUITPY drive on the microcontroller
|
||
|
|
||
|
## Turning a controller into a keyboard
|
||
|
### Supported keyboards
|
||
|
If your keyboard and microcontroller are officially supported, simply visit the
|
||
|
page for your files, and dropping them on the root of the "flash drive". Those
|
||
|
pages can be found [here](https://github.com/KMKfw/boards). You will need the
|
||
|
`kb.py` and `main.py`. More advanced instructions can be found
|
||
|
[here](config_and_keymap.md). If using Curcuitpython and NOT KMKPython, you will
|
||
|
also need [boot.py](https://github.com/KMKfw/kmk_firmware/blob/master/boot.py)
|
||
|
|
||
|
### Porting a keyboard
|
||
|
If you are porting a board to KMK, check the page [here](porting_to_kmk.md).
|
||
|
|
||
|
### Handwired Keyboard
|
||
|
If you are doing a hand wire, check [here](handwiring.md)
|
||
|
|
||
|
## Additional features
|
||
|
Want to have fun features such as RGB, split keyboards and more? Check out what
|
||
|
extensions can do [here](extensions.md)
|
||
|
|
||
|
## Debugging
|
||
|
Debugging help can be found [here](debugging.md)
|
||
|
|
||
|
## Additional help and support
|
||
|
If you need support with KMK or just want to say hi, find us in
|
||
|
[#kmkfw:klar.sh on Matrix](https://matrix.to/#/#kmkfw:klar.sh). This channel is
|
||
|
bridged to Discord [here](https://discordapp.com/widget?id=493256121075761173&theme=dark)
|
||
|
for convenience. If you ask for help on chat or open a bug report, if possible
|
||
|
please give us your commit SHA, found by running
|
||
|
`from kmk.consts import KMK_RELEASE; print(KMK_RELEASE)` in the REPL on your
|
||
|
controller.
|