JavaScriptを有効にしてください

Seeed Studio XIAO RP2040でQMK Firmwareを使ってみた

 ·  ☕ 2 分で読めます

概要

PRK firmwareを使用すると簡単にキーボードとして使用できたが、今の所OLEDに対応していなかったのでQMK Firmwareで使い方を確認した。

前提

作業内容

キーボードの雛形を作成する

❯ qmk new-keyboard
Ψ Generating a new QMK keyboard directory

Name Your Keyboard Project
Keyboard Name? #キーボードの名前を入力

Your GitHub Username? #githubのユーザー名

Your Real Name? #ここもデフォルトでgithubのユーザー名になってた

Pick Base Layout       
As a starting point, one of the common layouts can be used to bootstrap the process
                                                     
Default Layout?
Please enter your choice:  [52] 27 #使用したいレイアウトを選択

What Powers Your Project
For more infomation, see:
https://docs.qmk.fm/#/compatible_microcontrollers
                                                     
MCU? 
Please enter your choice:  [27] 35 #RP2040を選択

#新しくディレクトリが作成される。

スイッチのピン設定

https://docs.qmk.fm/#/reference_info_json?id=direct-pins
上記を参考にダイレクトピンで記述。

キーはなんでも良いが、RGB_MODを押さないとLEDがアニメーションに切り替わらなかった。
(デフォルトでアニメーションにする方法があるのかもしれないがわからなかった。)

OLED関連の設定

ピンの指定とHAL_USE_I2C TRUEがないと表示できなかった。参考

1
2
3
#define HAL_USE_I2C TRUE
#define I2C1_SCL_PIN GP7
#define I2C1_SDA_PIN GP6

以下の2ファイルはここを参考に、qmkのロゴが表示されるようにした。

1
2
3
OLED_ENABLE = yes
LED_DRIVER = SSD1306
OLED_TRANSPORT = i2c
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
static void render_logo(void) {
    static const char PROGMEM qmk_logo[] = {
        0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x90, 0x91, 0x92, 0x93, 0x94,
        0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, 0xB0, 0xB1, 0xB2, 0xB3, 0xB4,
        0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0x00
    };

    oled_write_P(qmk_logo, false);
}

bool oled_task_user(void) {
    render_logo();
    return false;
}

ここを参考に設定を記述。

LED関連の設定

1
2
3
4
#define RGB_DI_PIN GP2
#define RGBLED_NUM 10
#define RGBLIGHT_SLEEP
#define RGBLIGHT_EFFECT_CHRISTMAS

コンパイルと書き込み

コンパイルするとqmk/.buildにuf2ファイルが作成されるので、ボードに移動させる。

$ qmk compile -kb キーボード名 -km default

$ mv .build/キーボード名default.uf2 /Volumes/RPI-RP2/

表示内容

その他

LEDについてはマトリックス設定もあり、色々できそうだった。
LEDの色を変える部分ではデフォルトで色を変える部分がわからなかった。
RGB_HUI等のキー入力で変えることはできたが、ファームウェアを更新しても変えた後の色で点灯して、デフォルトの赤に戻らなかったりしたのでよくわからなかった。
PRK Firmwareの方が使用が簡単だったのでOELDを使用しないならRPKでいいと思った。(PRKの導入記事はこちら)


書いた人
keee
Webエンジニア

目次