aboutsummaryrefslogtreecommitdiffstats
path: root/README
blob: 4374e160b28b6cdd6c439f7b852fbbeca26f5d24 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
Introduction
============

A firmware Sketch for the Keyboardio Model 01.  Based algerno's:
https://git.madhouse-project.org/algernon/Model01-Sketch#base-layer


Build
=====

On Debian systems, the following packages are required:

    - avr-libc
    - avrdude
    - binutils-avr
    - gcc-avr
    - arduino-mk

Running `apt install arduino-mk` should pull in all required
dependencies.  Moreover Arduino 1.6.7 or newer is required.
Unfortunately, as of 2019-06-25 the version found in Debian sid is too
old (cf. #780706, #925578, #927329), so for now we add ArduinoCore-avr
as a submodule.

Initialize (or update) submodules:

    ~$ git submodule update --init \
            lib/hardware/arduino/avr \
            lib/hardware/keyboardio

    ~$ git -C lib/hardware/keyboardio submodule update --init --recursive \
            "avr/bootloaders/*" \
            "avr/libraries/Kaleidoscope" \
            "avr/libraries/Kaleidoscope-HIDAdaptor-KeyboardioHID" \
            "avr/libraries/Keyboardio*"

    ~$ make

To enable communicating with the host via a simple Serial protocol, use

    ~$ ENABLE_SERIAL=1 make


Flash firmware
==============

    ~$ make upload

Press down the 'prog' key while the board is rebooting.  You can release
it once it glows red.


Apply the color map
===================

    ~$ make apply-colormap

This requires a firmware supporting the Serial protocol.  (Add
ENABLE_SERIAL=1 to the build environment.)