Skip to content

Instantly share code, notes, and snippets.

@GOROman
Last active August 21, 2026 12:04
Show Gist options
  • Select an option

  • Save GOROman/c96b2cdfeaa9ff9e8f3d482db1e57a93 to your computer and use it in GitHub Desktop.

Select an option

Save GOROman/c96b2cdfeaa9ff9e8f3d482db1e57a93 to your computer and use it in GitHub Desktop.
QM33120W データシート調査メモ (Rev.D) — M5Stamp UWB の中の人。CSn必須/RSTnオープンドレイン/電源系/SPI 32MHz などの根拠まとめ

QM33120W データシート調査メモ — M5Stamp UWB の中の人

M5Stack Stamp UWB (S017) に載っている Qorvo QM33120W のデータシート(Rev. D, 2025, 全53ページ)を読んだメモ。実際にモジュールを動かしながら得た知見(CONFIG_FAILED の話SPI コマンド一覧)の裏付けが色々取れた。

チップ概要

  • シングルチップ CMOS IR-UWB トランシーバー、6.5〜8 GHz
  • IEEE 802.15.4-2020 (HRP UWB PHY) / 802.15.4z-2020 (BPRF) / 802.15.8 準拠
  • パッケージ: WLCSP 52ボール、3.1 × 3.5 mm(ほぼ米粒大)
  • 測位精度 10 cm、TWR / TDoA / AoA (PDoA) 対応
  • RF ポート2つ — アンテナ2本構成なら到来角(AoA)も測れる。Stamp UWB は1アンテナなので距離のみ
  • チャンネル 5 (6489.6 MHz) & 9 (7987.2 MHz) — 「Supports Japan and Korea regulatory compliance」と明記。日本で使えるのは Ch9(Stamp UWB のアンテナも "CH9 ONLY")
  • データレート 850 kbps / 6.8 Mbps、パケット長 0〜1023 バイト(標準127バイト超の拡張フレーム対応)
  • HW AES-256 内蔵
  • DW1000 / DW3000 と over-the-air 互換(Ch5、6.8Mbps/850kbps 時)— 旧 Decawave 資産と混在可能
  • OTP メモリに TX パワー・水晶トリムの校正値を格納可能
  • STS (Scrambled Timestamp) により imposter / cicada / record & replay 等の測距なりすまし攻撃に対策

実際にハマったポイントの裏付け

CSn が必須な理由(ボール B5: SPICSn)

The high-to-low transition on SPICSn signals the start of a new SPI transaction. SPICSn can also act as a wake-up signal to bring QM33120W out of either SLEEP or DEEPSLEEP states.

  • CS のエッジがトランザクションの区切り。GND 固定では SPI が成立しない
  • CS を Low に保持するとスリープからのウェイクアップにもなる(WAKEUP ピン未配線でも復帰可能)

RSTn はオープンドレイン限定(ボール A10)

May be pulled low by the external open-drain driver. Must not be pulled high by the external source.

  • ホストから HIGH を出力してはいけない。リセット解除は開放(Hi-Z)で、チップ内部の POR が High に戻す
  • M5Stamp-UWB ライブラリの実装(OUTPUT-LOW → INPUT に戻す)はこれに正しく従っている

WAKEUP(ボール B9)

When this pin is pulled low, the D3 pin will drive as an output. This should be connected to the ground if not used.

  • 未使用時は GND 接続が推奨(モジュール内で処理されている模様。6本配線での実測は問題なし)

電源系

  • VDD1(1.62〜3.6V、常時ON): WAKEUP / EXTON / RSTn / SPI 系 I/O の電源
  • VDD2a/2b(2.4〜3.6V): フェライトビーズでの分離指定あり
  • VDD3(1.5〜3.6V)、VTX_D は外部デカップリングコンデンサ必須
  • Stamp UWB モジュールはこれらを 3.3V 単一電源にまとめてくれている(M5Stack 公式は高PSRR LDO / リップル12mVpp以下を要求)

SPI

  • ホスト SPI は最大 32 MHz(M5Stamp-UWB ライブラリのデフォルト16MHzは余裕側)
  • SPIHA=0/1 の2種の転送プロトコル(p.27)、SPI CRC モードあり

GPIO の小ネタ

  • GPIO0〜8 はソフトで機能切替可能: RXOKLED / SFDLED / RXLED / TXLED(送受信インジケータLED駆動)、COEX_OUT/COEXIN(他無線との共存制御)、PDoA アンテナ切替など
  • ただし「GPIO で LED 直駆動は電流制限に注意」の但し書きあり
  • SYNC/GPIO7: 外部同期入力(TDoA のアンカー時刻同期用)

読み込み対象ページメモ(Rev. D)

内容 ページ
ピン配置(WLCSP 52ボール全表) p.6〜8
測距精度特性 p.17
SPI タイミング/プロトコル/フォーマット p.26〜28
動作状態遷移(IDLE/SLEEP/DEEPSLEEP) p.31〜34
電源方式3種と消費電流プロファイル p.33〜41
アプリケーション回路・推奨レイアウト p.42〜43

関連リンク

@GOROman

GOROman commented Aug 21, 2026

Copy link
Copy Markdown
Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment