はじめに
この記事は キーボード #1 Advent Calendar 2024 の20日目の記事です。
昨日はm.kiさんの今年設計したキーボードの紹介でした。
XのTLで見かけるたびに新作つくられてるなと感じでいたのですが、16台も作成されてるとは驚きです…
自分は年1~2台ぐらいが精一杯な感じがありますが、来年は3台ぐらい作成したいですね…
ふと振り返ると自作キーボードの設計頒布を始めて5年ぐらい経過していたのでこれまで得た知見をまとめようかなと思い書くこととしました。
最近イベントなどで新規で自作キーボードを設計するの方と知り合いになることも増えてきたので、自分が過去にした失敗は犯してほしくないなというのが伝われば幸いです。
あくまで個人的見解をつらつらと書いているだけですので、間違っているところなどもあるかもしれませんがご容赦ください。
問題があればご指摘をお願いいたします。
それと毎年書いていたその年の活動振り返りは別記事で書いてますのでよろしければ合わせてお読みください。
cyberdeckarsenal.hatenablog.com
気をつけるべきこと
データシートを読もう
自作キーボード設計というか電子工作をするにあたりデータシートを読むことは大切です。
その電子部品の使い方が書いてあるので必ず読みましょう。
ネットの情報や他人の設計を参考にすると「鼻から悪魔が飛び出しても仕様に反しない」状態で動いている場合があるので注意です。
自作キーボードですとSK6812MINI-Eという足つきのRGB LEDがそんな状態であるものが多々見受けられます。
簡単に書くと何も気にせずRP2040とSK6812MINI-Eを繋ぐと電源電圧とデータ電圧が足りていない場合があるということです。
この状態でもLEDとして動作してしまうので気にせず繋いでいることがあります。
この点についてmonksoffunkさんが詳しく解説している記事を出されていますので一度読んでおくと良いです。
データシートを端から端まで読んでいると新しい事実を見つける場合があります。
例えばKeyballやReexなどで採用されているPWM3360に付属しているレンズ(LM19-LSI)。
これはPWM3360専用というわけではなく他の同社センサでも使われているのですが、PMW3360のデータシート内にセンサから飛び出てるレンズのガイドポストを熱で溶かして固定するよう推奨項目として記載されています。
PMW3360採用した自作キーボードのビルドガイドでもこのことに言及しているものがなかった為、発見した時にはじめて知ることとなりました。
Reexのビルドガイドには溶かすよう記載しているのですが、現状このことに言及してる人は少ないのでこの機会に広まると嬉しいですね。
ライセンスの確認
自作キーボードを設計においてファームウェアやフットプリントなど必要なものをいちから自分で作成し設計することもできますが、ありがたいことにオープンソースライセンスで開発公開されいるものがあります。
入門書などを読んでも基本的にそれらを利用することを前提としているとこがあり、設計初心者であれば使わないことはまずないでしょう。
このとき気を付けて欲しいのがライセンスです。
各プロジェクトにおけるライセンスについては検索すれば詳しい記事が見つかると思いますので、こちらでは割愛させていただきます。
今回気をつけたいところがQMK Firmwareで採用されているGPLライセンスとライセンスなしで公開されているものです。
自作キーボードを頒布する場合、QMK Firmwareのコンパイル済みのもの同時に頒布することが多いと思いますが、このときGPLライセンスに従うと改変部分のソースコード公開を含んだ公開義務が発生します。
大切なのが改変部分を含んだという点であり、改変部分だけでは不十分です。
QMKをフォークし、改変部分をコミットして公開しておけば問題ないのでやっておきましょう。
ライセンスなしについてはGithub上で公開されているだけであり、Githubの規約上閲覧・フォークだけ許可されている状態ですので注意が必要です。
先日ふと気になって、ZMK FirmwareのPMW3610ドライバ(マウスセンサ)の実装がどうなっているか見てみた際に、プロジェクトのライセンスが明記されていないことに気づきました。
一部のファイルのヘッダーにSPDXにてライセンス表記はされていたのですが、この状態では記載されているファイルのみライセンスが適用ですので全体を利用するのが非常にリスキーな状態です。
個人的に許可されていない場合を除き、オープンソースがライセンスによって担保されていないものを利用するのは避けておくのが懸命です。
その為上記のドライバを含んだファームウェアの頒布は避けるべきだと個人的には考えております。
ライセンスがない状態の危険性については少し古いですが下記の記事が参考になりますので一度読んでおくと良いです。
ちなみにZMK FirmwareのDiscordにてオープンソースライセンスが明記されているPMW3610のドライバはないですか?と質問したところ、最新版のzephyrにあるよとのありがたい助言を頂きました。
ただし現状のzmkはzephyr3.5をベースとしており、最新版のzephyrは3.7ですのでバージョンの差異があるので注意です。
PMW3610を使用する場合は現状こちらのドライバをベースに開発を行ったほうが安全です。
最後にGPLとかMITとかソースコード向けのライセンスで基板データなど公開した場合の扱いってどう解釈したらいいんですかね?
個人的にはソースコードと同じ扱いと思っていますが、GPLで公開されている基板データから基板作った場合その基板にもGPLが適用されるんですかね?
誰か詳しい人いたら教えて下さい。
採用マイコンボード
基板本体に直付けする場合を除き、基本的にProMicroやRaspberry Pi Picoなどのマイコンボードを採用するはずです。
このときビルドガイドにはテストしたマイコンボードのみ動作確認が取れていますよと記載しましょう。
採用している電子部品やファームウェアの書き方によっては互換機でも動かない場合がありますので注意が必要です。
上記の文言を記載していても、動かないという問い合わせを貰い調査してみたら動作保証外のマイコンを使用していたこと多々あります。
書いていても発生していますので、書かないと大変なことになることは想像に難くないので必ず書きましょう。
即売会について
以前まで昨今の状況もあり自作キーボードを対面で頒布する機会が少なく、もっぱらBoothなどの通販での頒布が中心でしたが、今年から開催したキーケットなどもあり即売会に参加する設計者も増えていくことかと思います。
即売会慣れしている人は少ないかと思いますので気をつけるべき点も記載しておこうかなと思います。
キャッシュレス対応
自作キーボードのキットを頒布するとなると単価が1万円を超えることが多いため、キャッシュレス端末を用意するとよいです。
代表的な所で言うとSquareやUSEN PAYなどがあり、イベント参加時のみ使用することを考えると月額利用料が無料のところを選ぶと良いでしょう。
参加者捌き
自作キーボードという特性上サークル前に人が集まりやすい傾向にあります。
そのため自分のサークルスペース前が埋まり、参加者が隣のサークルからこちらのサークルを見ている場合が多々発生します。
この状態では隣のサークルからしたら迷惑の何者でもないので見つけ次第自サークル前だけから見るように注意したほうが良いです。
個人的な触感ですが参加者が即売会に慣れていないように見受けられ、列形成などについてわかっていないことが多いです。
参加者が慣れていなく上記のような状況になってしまうのは仕方がないところもありますので、サークル主が注意を向けて迷惑になっていないかどうか気を配ることが大切です。
どうもならないようであればすぐさまスタッフを呼んでください。
隣のサークルさんに頼んでもいいですし、巡回しているスタッフを捕まえてもいいです。
おわりに
最初にも書きましたが個人的見解ですので、間違いなどはご容赦ください。
つらつらと書いてみましたが、思った以上にネタがあったなぁという印象です。
書こうと思えば「キースイッチをなぜ南向きに配置するのか」などまだ書けるネタはあるのですが長くなったのでまたの機会にしたいと思います。
明日はせきごんさんの記事です。
予定タイトルが書かれていないので何について書かれるのか楽しみです。
この記事はReex67ModとRe64とHHKB Professional Hybrid Type-Sで書きました。