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
220
Matter開発環境をざっくり眺める
ciniml
0
2.1k
組込みRustでも でかい?JSONを扱いたい!
ciniml
3
1.4k
ATOMDisplay_DisplayModule_M5Stack_UG_2023_Tokyo.pdf
ciniml
1
1.8k
Rusty Stack-chanのすすめ
ciniml
0
670
Raspberry Pi Picoデバッガ使用のすすめ
ciniml
0
2.2k
ベアメタル向けRust stdクレートの実装調査
ciniml
2
790
ESP32でSORACOM Arcつないでみた
ciniml
2
1.4k
RustでCMSIS-DAP実装してみた。
ciniml
3
1k
Other Decks in Technology
See All in Technology
AIを前提に、業務を”再構築”せよ IVRyの9ヶ月にわたる挑戦と未来の働き方 (BTCONJP2025)
yueda256
1
270
仕様は“書く”より“語る” - 分断を超えたチーム開発の実践 / 20251115 Naoki Takahashi
shift_evolve
PRO
1
520
コミュニティと共に変化する 私とFusicの8年間
ayasamind
0
450
Flutter DevToolsで発見! 本番アプリのパフォーマンス問題と改善の実践
goto_tsl
1
410
Flutterで実装する実践的な攻撃対策とセキュリティ向上
fujikinaga
1
350
[CV勉強会@関東 ICCV2025] WoTE: End-to-End Driving with Online Trajectory Evaluation via BEV World Model
shinkyoto
0
170
"おまじない"はもう卒業! デバッガで探るSpring Bootの裏側と「学び方」の学び方
takeuchi_132917
0
130
ユーザーストーリー x AI / User Stories x AI
oomatomo
0
180
CloudFormationコンソールから、実際に作られたリソースを辿れるようになろう!
amixedcolor
1
170
エンジニアにとってコードと並んで重要な「データ」のお話 - データが動くとコードが見える:関数型=データフロー入門
ismk
0
490
やり方は一つだけじゃない、正解だけを目指さず寄り道やその先まで自分流に楽しむ趣味プログラミングの探求 2025-11-15 YAPC::Fukuoka
sugyan
1
560
What's the recommended Flutter architecture
aakira
3
1.3k
Featured
See All Featured
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.7k
Product Roadmaps are Hard
iamctodd
PRO
55
12k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
10
660
For a Future-Friendly Web
brad_frost
180
10k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Gamification - CAS2011
davidbonilla
81
5.5k
Making Projects Easy
brettharned
120
6.4k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
11
920
A better future with KSS
kneath
239
18k
How to train your dragon (web standard)
notwaldorf
97
6.4k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
2.9k
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