ANAVI Technology has launched two more open-source hardware mechanical keyboards based on the Raspberry Pi RP2040 microcontroller, equipped with an OLED display, and programmable with CircuitPython: the ANAVI Macro Pad 12 with 12 keys and the ANAVI Arrows with four keys and a rotary encoder.

ANAVI Macro Pad 12 Specifications:

Pasted image 20231204090229.png


Getting started

The default configuration came with it doing this:

Default: LED Display:

ANAVI Macro Pad 12

Open Source

Default Keybindings:

0 a b
7 8 9
4 5 6
1 2 3

So now what?

Open that code.py file and look at it. Notice that when you open with VS Code it triggers the device to do a reload.

The key code bits that control that default behavior are in the code.py in two sections:


oled_ext = Oled(
    OledData(
        corner_one={0: OledReactionType.STATIC, 1: ['ANAVI Macro Pad 12']},
        corner_two={0: OledReactionType.STATIC, 1: [' ']},
        corner_three={0: OledReactionType.STATIC, 1: ['Open Source']},
        corner_four={0: OledReactionType.STATIC, 1: [' ']},
    ),
    oWidth=128,
    oHeight=64,
    toDisplay=OledDisplayMode.TXT,
    flip=False,
)
keyboard.extensions.append(oled_ext)

## then later on it has this section

# Matrix 4x3 keymap, 12 keys in total

keyboard.keymap = [

    [

        KC.N1,

        KC.N2,

        KC.N3,

        KC.N4,

        KC.N5,

        KC.N6,

        KC.N7,

        KC.N8,

        KC.N9,

        KC.N0,

        KC.A,

        KC.B,

    ]

]

Doesn't make much sense at first where you got o change key bindings or other behavior.

The device comes with KMK which is written in CircuitPython. Their Getting Started Guide might help.

What I did: Open E: in VSCode, initialize Git, start hacking with a tiny hint of safety.