Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Wio Terminalのなんやかんや
Search
Kenta IDA
September 22, 2020
Technology
2
1.7k
Wio Terminalのなんやかんや
SeeedJP UG Online のLTで発表したWio Terminalの資料です。
Kenta IDA
September 22, 2020
Tweet
Share
More Decks by Kenta IDA
See All by Kenta IDA
日本の家電とMatterの世界
ciniml
0
63
Matter開発環境をざっくり眺める
ciniml
0
1.8k
組込みRustでも でかい?JSONを扱いたい!
ciniml
3
1.3k
ATOMDisplay_DisplayModule_M5Stack_UG_2023_Tokyo.pdf
ciniml
1
1.7k
Rusty Stack-chanのすすめ
ciniml
0
590
Raspberry Pi Picoデバッガ使用のすすめ
ciniml
0
2.1k
ベアメタル向けRust stdクレートの実装調査
ciniml
2
760
ESP32でSORACOM Arcつないでみた
ciniml
2
1.3k
RustでCMSIS-DAP実装してみた。
ciniml
2
960
Other Decks in Technology
See All in Technology
GitHub Coding Agent 概要
kkamegawa
1
1.4k
mnt_data_とは?ChatGPTコード実行環境を深堀りしてみた
icck
0
190
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
740
MCP Clientを活用するための設計と実装上の工夫
yudai00
0
720
Oracle Cloud Infrastructure:2025年5月度サービス・アップデート
oracle4engineer
PRO
0
350
令和最新版TypeScriptでのnpmパッケージ開発
lycorptech_jp
PRO
0
110
Swiftは最高だよの話
yuukiw00w
2
280
Houtou.pm #1
papix
0
640
Azure Developer CLI と Azure Deployment Environment / Azure Developer CLI and Azure Deployment Environment
nnstt1
1
120
ITエンジニアを取り巻く環境とキャリアパス / A career path for Japanese IT engineers
takatama
4
1.5k
2025advance01
minamizaki
0
130
SmartHRの複数のチームにおけるMCPサーバーの活用事例と課題
yukisnow1823
2
1.1k
Featured
See All Featured
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.8k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.2k
Rebuilding a faster, lazier Slack
samanthasiow
81
9k
Stop Working from a Prison Cell
hatefulcrawdad
269
20k
Build The Right Thing And Hit Your Dates
maggiecrowley
35
2.7k
The Power of CSS Pseudo Elements
geoffreycrofte
76
5.8k
The Cult of Friendly URLs
andyhume
78
6.4k
Music & Morning Musume
bryan
47
6.5k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
GraphQLとの向き合い方2022年版
quramy
46
14k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
180
53k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
52
2.8k
Transcript
Wio Terminalのなんやかんや SUGOi 2020/09/22 Kenta IDA (@ciniml)
自己紹介 •井田 健太 (@ciniml) •仕事:組み込みソフト開発 •使用言語:C++, SystemVerilog, Go, Python 2020/9/22
Wio Terminalのなんやかんや 2
Wio Terminal 2020/9/22 Wio Terminalのなんやかんや •最近流行の筐体入りマイコン・モジュール • Wi-Fi 2.4GHz +
5GHz • Bluetooth5 • 液晶 (320x240) • ボタン • スピーカー • etc… •いろいろ付いてて楽しい 3
なんやかんや 2020/9/22 Wio Terminalのなんやかんや •ハードウェア構成 •拡張基板をつくってみた •デバッガのつなぎ方 •QSPIフラッシュの使い方 4
ハードウェア構成 2020/9/22 Wio Terminalのなんやかんや 5
ハードウェア構成 2020/9/22 Wio Terminalのなんやかんや •MCUが2つある • ATSAMD51P19A • RTL8720DN 6
ハードウェア構成 2020/9/22 Wio Terminalのなんやかんや •ATSAMD51P19A • Microchip製 • Cortex-M4F 120[MHz]
• 512[kiB] Flash • 192[kiB] RAM 7
ハードウェア構成 2020/9/22 Wio Terminalのなんやかんや •RTL8720DN • Realtek製 • Cortex-M0 20[MHz]
• Cortex-M4F 200[MHz] • 64+512[kiB] RAM • Wi-Fi + Bluetooth •ATSAMD51より強い 8
ハードウェア構成 2020/9/22 Wio Terminalのなんやかんや •周辺回路 • ほとんどATSAMD51側 に接続されている • LCD
• ボタン • ブザー, マイク, LED • 加速度センサー 9
メインMCU 2020/9/22 Wio Terminalのなんやかんや •開発者が使うのは (主に)ATSAMD51 • Arduinoで触れるのはこっち • RTL8720DNも
触れなくはない • SDKは公開されている • UART経由で書き込みも可 10
無線通信 2020/9/22 Wio Terminalのなんやかんや •Wi-FiとBluetoothはRTL8720DN側 •ATSAMD51とはSPI+GPIOで接続 • ATSAMD51がSPIマスター • RTL8720DNのリセット(CHIP_EN)
• RTL8720DNからの割り込み(IRQ0) 11
無線通信 2020/9/22 Wio Terminalのなんやかんや •RTL8720DN側に ネットワーク・スタック • TCP/IP, TLS •
Bluetooth Stack 12
無線通信 2020/9/22 Wio Terminalのなんやかんや •ATSAMD側はRTL8720DNに ATコマンドを送って制御 •制御用にESP32用のライブラリを いろいろ魔改造してぶち込んである • 結構カオス
13
拡張基板をつくってみた 2020/9/22 Wio Terminalのなんやかんや 14
Wio Terminalの拡張コネクタ 2020/9/22 Wio Terminalのなんやかんや •本体裏に40pinコネクタがある • 配列はRaspberry Pi 互換
• ただしRPiに直結は不可 • 筐体が干渉する • 3.3Vがデフォルトで出力方向 15
Wio Terminalの拡張コネクタ 2020/9/22 Wio Terminalのなんやかんや •拡張基板のサイズ • Wio Terminalの基板外形から作成 •
外形 • 穴位置 • ピンヘッダ位置 16
Wio Terminalの拡張コネクタ 2020/9/22 Wio Terminalのなんやかんや •単3・4電池拡張基板 • つくってみた。 • Fusion
PCBで5枚 17
Wio Terminalの拡張コネクタ 2020/9/22 Wio Terminalのなんやかんや •単3・4電池拡張基板 • つないでみた。 • けっこうでかい…
•測定アプリ(無線なし)で7時間くらい • 単3(eneloop)x2 18
感想 2020/9/22 Wio Terminalのなんやかんや •ピン数が多いので柔軟な設計が可能 • RPi互換ヘッダ • (M5Stackはピンが少なくて難しい) •高いピンヘッダが欲しい
• 日本では入手性に難あり • Battery Chassisの部品ほしい… 19
デバッガのつなぎ方 2020/9/22 Wio Terminalのなんやかんや 20
Wio Terminalのデバッグ事情 2020/9/22 Wio Terminalのなんやかんや •ATSAMD51のSWDが接続可能 • 出荷時書き込み用パッド • デバッグ用コネクタ
(v1.2以降) •RTL8720DNのSWDは未接続 • 頑張って引き出せなくもないが 結構難しい 21
Wio Terminalのデバッグ事情 2020/9/22 Wio Terminalのなんやかんや •デバッグ用コネクタ • 7月頃入荷分くらいから • 0.5[mm]x10ピン
FFCコネクタ • FFC+FFC変換基板でデバッガに接続 • どちらもAmazonやaitendoで買える 22
Wio Terminalのデバッグ事情 2020/9/22 Wio Terminalのなんやかんや •SWDを使用可能なデバッガで接続 • OpenOCD • J-Link
•普通に デバッグ可能 • 便利! 23
QSPIフラッシュの使い方 2020/9/22 Wio Terminalのなんやかんや 24
QSPIフラッシュ 2020/9/22 Wio Terminalのなんやかんや •4[MiB]のフラッシュ •ATSAMD51に接続 25
アクセス方法 2020/9/22 Wio Terminalのなんやかんや •ATSAMD51のブートローダー • QSPIフラッシュの読み書き機能無し •Arduino内蔵ライブラリ • QSPIフラッシュの読み書き機能なし
→実装するしかない 26
QSPIフラッシュに置けるもの 2020/9/22 Wio Terminalのなんやかんや •データ •プログラム • ATSAMD51は QSPIフラッシュ上のプログラムを直接実行できる 27
ExtFlashLoader 2020/9/22 Wio Terminalのなんやかんや •つくってみた •Wio Terminal用のQSPIフラッシュ・ドライバ • ArduinoのプログラムからQSPIの読み書き •https://github.com/ciniml/ExtFlashLoader
28
ExtFlashLoader 2020/9/22 Wio Terminalのなんやかんや •サンプル • DownloadFromSerial • USBシリアル経由でPCからQSPIフラッシュにデータを書き込む •
LaunchExtFlash • QSPIフラッシュ上のプログラムを実行する • WriteSampleMenu • サンプルのメニューアプリをQSPIフラッシュに書き込む 29
メニューアプリ 2020/9/22 Wio Terminalのなんやかんや •QSPIフラッシュ上で動作 •TFカード上のバイナリを ATSAMD51内蔵フラッシュに書き込み • メニューアプリはQSPI上なので 内蔵フラッシュを書き換えられる
30 内蔵フラッシュ QSPIフラッシュ アプリA メニュー アプリ TFカード アプリB アプリC アプリD
メニューアプリ 2020/9/22 Wio Terminalのなんやかんや 31 •メニューから アプリを選択 • アプリ書き込み •
アプリ起動 •メニューを起動 • ボタンを押しながら リセット
メニューアプリ 2020/9/22 Wio Terminalのなんやかんや 32 •M5Stackにもこういうのありますね •とりあえずWio Terminalでも 技術的に可能ということは示せた
その他 2020/9/22 Wio Terminalのなんやかんや 33
他作ったもの 2020/9/22 Wio Terminalのなんやかんや 34 •タイマー割り込みライブラリ • https://github.com/ciniml/SAMD51_Timer •バックライト制御ライブラリ •
https://github.com/ciniml/WioTerminal_BackLight •GROVEポートからUART出すコードサンプル • https://gist.github.com/ciniml/bd2bb4dea22a55c067ca6790ad0c 3eae
宣伝 2020/9/22 Wio Terminalのなんやかんや •技術書典9でWioTerminal本出してます • 今回唯一のWioTerminal本らしい • BOOTHでも頒布中 •内容は今日話したことの詳細
35
おしまい 2020/9/22 Wio Terminalのなんやかんや 36