nazo6 notememo

Keyball消費電力メモ

QMKなどのファームウェアでKeyballの消費電力を測定し、各マイコン及び周辺機器の電力消費を調べた。

作成:2024/08/23

更新:2024/08/30

自作Keyballファームウェア

GitHub - nazo6/rktk: Keyboard firmware framework built with Rust and embassy

Keyboard firmware framework built with Rust and embassy - nazo6/rktk

github.com

の電力消費を改善するため、他のファームウェアの電力消費を調べたメモ。
以下の値は全て同一のKeyball61個体で測定し、指定がない限り
  • LED実装済み
  • OLED接続済
  • 5V(USB給電)
  • 左右をTRSケーブルで接続(つまりもう片側の電力が含まれる)
    という条件。

アイドル時

RP2040nRF52840備考
本当にアイドル時(USB Boot mode)0mA
embassyの初期化してアイドル25-35mA動作クロックデフォルト
基板に接続しない(RP2040単品)41-45mA
nice!nanoのvcc cutを利用してLEDへの電流を遮断した場合(ボールなし)0mA

QMK firmware

  • AVR(通常のProMicro)は公式ファームウェア(にちょっと手を加えたもの)、RP2040については、こちらのファームを使わせてもらった。
AVRRP2040
通常動作110-120mA(通常114mA)90-110mA(通常111mA)
OLED取り外し95-100mA(通常94mA)90mA
片側(ボール側)のみ70mA50-65mA (通常60-6621222mA)

rktk (自作ファームウェア)

RP2040nRF52840備考
通常動作(全機能ON、左右TRS接続)85-100mA50-60mA
クロック周波数変更(div=2)75-85mAdiv>=3だとUSB関連の何かが動作しない…
LEDを最低輝度でON時50-60mA上とほぼ変わらず
LEDを最高輝度でON時700-800mAマイコンが結構熱くなった。TRSケーブルって一体どれくらい電流流していいんだろうか
Bluetooth接続時40-70mA気持ち電流消費量が多いがあまり変わらない…?
片手(ボール側)のみ55-70mA30-40mA
片手(非ボール側)のみ30-40mA0-20mA使っている測定計の電流最低値が20mAぐらいなのでnRFはおそらく10mAぐらいで推移しているのでは

感想

  • 思ったより自作ファームウェアの消費電力は悪くなさそう。(まあQMKの全ての機能を実装しているわけではないので単純比較はできないが…)
  • AVRの消費電力が思ったより高い。あれだけ性能が低いから消費電力も低いかと思っていた。
  • RP2040はnRFより消費電力が高い。というかnRF52840の省電力性能が際立っている。LEDを切断すれば消費電力はuAレンジになっていそう。
  • LEDを切断するとどれくらい下がるかも検証したい
    • →nice!nanoのVCC Cutoffを用いて検証した。これを用いてLEDへの電力供給を遮断したところボールなし側ではなんと電流値がほぼ0になった。
    • つまりこれはLEDが消灯時に20mA(1つあたり0.6mA程度?)も消費していたことになる。