ESP32腕時計TTGO T-Watchが届いた

ESP32を搭載した腕時計風のTTGO T-Watchを約49ドルで購入しました。

約2週間で届いたので早速遊んでみました。

資料系

メーカページ(LILYGO)
公式英語マニュアル
公式中国語マニュアル
サンプルソフトウェア

開梱

かわいらしい感じの梱包ですね。

内容物はこちら

T-Watch本体と、予備のボード?、T-Watchの横にあるコネクタから拡張するためのケーブル、Type-Cケーブル、腕時計用バンド、裏蓋取り外し用ネジ回しと予備のネジ

説明書には中を開けた時にどういう感じになっているのか書かれています。

とりあえずこちらも開けてみました。

元に戻して電源ON

最初はタッチパネルの検査プログラムが起動しタッチした座標を報告します、Type-Cコネクタの隣のボタンを押すと、今度は衝撃検知プログラムが起動しstepCountとして振り回した回数を表示します。

とりあえず、パソコンにつなげるとドライバがあれば「Silicon Labs CP210x USB to UART Bridge (COM?)」として認識します。

ドライバがインストールされていない場合は下記の様に「CP2104 USB to UART Bridge Controller」として認識されます。ドライバのインストールについては後述します。

デモ用のプログラムがgithubで公開されていますのでArduio IDEをセットアップします。

ただし、普通にインストールしただけでは認識せず、追加手順が必要となります。

必要なもの

Arduino IDE
git for Windows

T-watch ソフトウェア書き込み手順

TTGO公式の設定手順を参照しながらやりました。

その1:git for Windowsをインストール

以前に別の件でインストールしていたのでそのまま使っています。

その2:Arduino IDEをインストール

今回はArduino IDE ver 1.8.9をインストールしました。

その3: Arduino IDEのインストール先のhardwareディレクトリ内にespressifディレクトリを作る

標準インストールだとC:\Program Files (x86)\Arduino\hardware ディレクトリ内にespressifディレクトリを作る。

その4:作成したespressifディレクトリ内でコマンドプロンプトを開く

作成したC:\Program Files (x86)\Arduino\hardware\espressifディレクトリででコマンドプロンプトを開きます。

その5:gitでespressifのarduino-esp32レポジトリを取得する

espressifディレクトリで「git clone –recursive https://github.com/espressif/arduino-esp32.git esp32」(wordpress編集画面だと「-」が2個なのに1個だけになる・・・)を実行します。

そうすると、 C:\Program Files (x86)\Arduino\hardware\espressif\esp32 ディレクトリが作成されファイルが置かれていきます。

その6:esp32\toolsディレクトリにあるgetコマンドを実行し追加ファイルを取得

C:\Program Files (x86)\Arduino\hardware\espressif\esp32\tools\ ディレクトリ内にある「get.exe」を実行し、追加ファイルを取得します。

その7:Silicon Labs CP210xをインストール/アップデート

手順には明記されていないのですが、古いドライバ Ver6.7.4.261で書き込もうとするとエラーになりました。「T-WatchマニュアルのGetting started」に掲載されているCP2104-Win10(Ver10.1.8.2466)だと正常に動きますので、アップデートします。
(CP2104の製造メーカ公式ドライバダウンロードページ)

なお、書き込み時のエラーは下記の「A fatal error occurred: Failed to connect to ESP32: Timed out waiting for packet header」です。

その8:T-Watchをパソコンに接続

その9:Arduino IDEを起動し、TTGO T-Watchを選択

Arduino IDEを起動し、「ツール」-「ボード」の一覧から「TTGO T-Watch」を選択します。

その10:T-Watchサンプルソフトを取得

git for Windowsを使って、 https://github.com/Xinyuan-LilyGO/TTGO-T-Watch で公開されているサンプルソフトウェアを取得します。

「git clone –recursive https://github.com/Xinyuan-LilyGO/TTGO-T-Watch」

取得完了後、「library」にあるディレクトリを、マイドキュメントの中にある「Arduino\library」内にコピーします。

その11:書き込み

Arduino IDEからサンプルソフトウェアを書き込みます。


サンプルソフトウェアを書き込んだのですが、うまいこと自宅のWiFiに接続できず、時計合わせに失敗しています。

また、タッチパネルの動作が若干微妙な感じもあります・・・

hp 15 db-00000を買ってメモリとM2 SSDを増設してみた

家でメール、Webブラウザとデジカメデータの管理に使うノートパソコンを10万円以内で買い替えたい、という要望があった。

現行は 15.6インチの富士通LIFEBOOK AH40/M (FMVA40MWJ) をメモリ16GBに増量したものを使用中。Windows10アップデート後は、AMD E1-2100の性能の無さと、HDDの遅さが遺憾なく発揮され起動後にディスクアクセスが落ち着くまで長時間かかっている状態でした。
(ちなみにLIFEBOOKはSSDに交換したら少しマシになりました)

いろいろ選択肢を検討した結果、HP 15 db-00000のいろいろバリーションがある中からhp 15 db0178auを選択しました。

Ryzen 3 、4GBメモリ、1TB HDDで49500円というスペックのものですね。(なお、これより安くAMD A4搭載のモデルもありますが、そちらは論外です)


まぁ、当然そのままではキツイので、メモリ 8GBとIntelのM2 SSDのストレージIntel SSD 760p 256GBも買っています。

注文から3週間で届きました。

中身は以下の様な感じです。

「速攻!HPパソコンナビ」と、ACアダプタ用の電源ケーブルが2種類ある、というのが注目点ですね。

で、早速セットアップ開始です。

最近のWindows10なので、オフラインユーザ作成時にパスワードを設定してしまうと、パスワードのヒントを3つ設定しなければなりません。

しかし、パスワードを未設定に設定すると、ヒントを設定しなくてもいいので、とりあえず未設定で進めます。

う~ん・・・いらないものもインストールされていますね。

Windows OSは普通に全部再インストールしちゃうことにして、解体をします。

ネジは以下の赤丸のポイントにあります。

隠れてるネジについては、両面テープで貼り付けられているゴムをうまく剥がして外します。

また、筐体真ん中にあるネジはDVDドライブを止めているネジになります。このネジを外してから、ドライブを引っ張ると抜けます。

で・・・うまいことやって開けます。

キーボード側を開いて、無理矢理こじ開けていきます。

↑の赤枠ぐらいのところにある隙間に丈夫な薄いものをいれ、こじ開けていきます。

スマホ向けで売ってるこういうのを使ってもいいでしょうね。私は細い精密ドライバーで開けたのでちょっと傷が残ってしまいました。

で、徐々に開けていって、最後はがばっと開けます。

ちなみに、うちの場合、最初DVDドライブが引き抜ける状態にあるとは知らなかったので、DVDドライブが入ったまま開けたのでこんな感じで開けました。

基板を観察。

メモリ増設とM2.SSDを増設して記念撮影(なお、このあとHDDを抜きました)。M2.SSDスロットには止めるためのネジがありました。

裏蓋を戻してBIOSに入ります。

電源ボタンを押したあと「ESC」キーを何回か押していると起動選択メニューが出てきますので、そこで「F10」キーを押し、BIOSに入ります。

BIOSで設定できる項目はあまりありません。

で、あとは普通にWindows 10をインストールします。

初期インストール状態ではドライバがいくつかあたっていませんが、無線LANはちゃんと認識しているのでWindows Updateが実行できます。その結果、ドライバが全部適用されました。

hp提供の管理ソフトはHP Support AssistantをインストールすればとりあえずOKそうです。このソフトでBIOSやドライバのアップデートも出来ました。

ちょっとCPUファンがうるさい感じもありますが、とりあえずは使ってみますかね

Ryzen3 2200G環境でStoreMIを導入した

Ryzen3 2200G環境にして使っているわけですが、交換する以前から続いているWindows起動直後から10分ぐらい継続するGoogle Syncのファイル更新チェックによるCドライブのディスクI/O 100%消費がなんとかならないかと気になり始めた。

Cドライブ全部をSSDにすれば解決ではあるものの、現状のCドライブは2TBとこれをまるごとSSDにかえるにはハードルが高い(コスト的に

で・・・今回使ったマザーボードのチップセットAMD B450では「StoreMI」というストレージキャッシュテクノロジーが使える。参考記事:無料のAMDストレージ高速化技術「StoreMI」でHDD/SSDが速くなるか検証

そして、いまはSSDが安くなっている時期なので、Intel SSD 760pのNVMeモデル256GBを購入し、導入してみた。

複数の物理ディスクを繋いだ状態でセットアップしたところ、初回再起動時にブートデバイスを誤認してしまったので、セットアップ時はブートディスクとNVMeディスクのみを繋いで行った方が良さそうです。

初期再起動後、設定処理が30分ぐらい裏で走り、完了したあとで、再起動してみたところ、Google Syncによるディスク負荷100%は無くなりました。

しかし、その代わりに、常にCPUが20%程度持って行かれるという事態に・・・

この状態でWindows MRデバイス被ってSteam VRのBeat Saberをやってみたところ、レスポンスが従来に比べて悪くなっていることを確認。

どうやら、CPU性能があからさまに足らなくなった模様。

StoreMIを使う場合は、ある程度CPUが余っていないとあまり意味がなさそうですね。

ラズパイ3のWindows 10 on ARMを使う場合の設定ポイント

ラズパイ3の上でWindows 10 on ARMを使う場合、そのままの設定で使うとなかなか使いづらいです。

U3 A2クラスの高速なmiroSDを使ってもキツイところがあるので、このページに上げた設定変更することをお勧めします。

0. とにかく高速なmicroSD

遅いと試すのにもつらくなるほどで話になりません。

うちではSunDisk Extreme ProのUHSスピードクラス3とパフォーマンスクラスA2のロゴが入っているモデルを使いました。

なお、クラスの意味は以下の様になっています。OS起動はシーケンシャルアクセスではなく、ランダムアクセスになりますので、アプリケーションパフォーマンスクラスが保証されていることが重要です。

1. UEFI設定編

ラズパイ電源オン直後に、UEFIの設定画面でいくつか設定変更を行うと良いでしょう。

1.1. クロックアップ

標準状態ではMin(600MHz動作)となっています。設定変更を行うと、Max(1200MHz or 1400MHz)動作に変えることができます。

このクロックアップより初回起動にかかる時間が約半分になりました。

ただ、デメリットが2点あります。

その1:ちゃんと冷却しないと死ぬ恐れあり

SoC(CPU)をちゃんと冷却しないとクロックアップさせても処理能力が低下します。

その2:電源供給はしっかりとする

電源が不安定だと処理能力が低下します。

このため、初期設定があまり不安ない600MHzとなっています。

設定は、「Device Manager」→ 「Rapsberry Pi Configuration」 →「Chipset Configuration」の「CPU Clock」です。

設定後、F10キーを押して保存します。

1.2. ディスプレイ解像度

標準設定の場合、HDMIで接続したディスプレイの最大解像度でデスクトップが表示されますが、ラズパイは非力なので大きな画面過ぎると描画負荷がかかります。

このため、ある程度解像度を狭めた方・・・例えば1024×768ぐらいまでで設定した方が使用しやすいです。

設定は、「Device Manager」→ 「Rapsberry Pi Configuration」 →「Display」の「UEFI video driver settings」で、「Virtual 720p」「Virtual 1080p」「Native resolution」についてる「X」マークをスペースを押して解除し、F10キーで保存します。

2. Windows設定編

初期の起動状態ではディスクI/Oがずーっと100%になっています。

U3 A2のmicroSDを使ってもそうなってしまうので、設定を変えていきます。

2.1. スタートアップ設定

One Drive用プログラムがスタートアップに組み込まれており、これが結構な負荷を与えています。

「タスクマネージャ-」を開き「スタートアップ」タブにある「Microsoft OneDriver Setup」を右クリックし「無効化」を選択します。

2.2. 電源設定

コントロールパネルの電源オプション設定を「バランス」から「高パフォーマンス」に変更します。

最近のWindows10だとコントロールパネルをスタートメニューから開くのが面倒です。

スタートメニューから[設定]-[システム]-[電源とスリープ]から「電源の追加設定」をクリック

コントロールパネルの「電源オプション」が開きます。

ここで「追加プランの表示」の右側にある↓をクリックすると「高パフォーマンス」という項目が現れるのでそれを選択します。

2.3. バックグラウンドアプリ設定

Windowsストア系のアプリが動いてしまうと結構圧迫してしまうので、バックグラウンドアプリの実行を停止します。

[設定]-[プライバシー]-[バックグラウンドアプリ]にて「アプリのバックグラウンド実行を許可する」を「オフ」に変更します。

ラズパイ3でWindows 10 on ARMが簡単に動くという記事に騙されてはいけない

注: この記事は2019年2月に作成されたものです。

2021年12月13日現在は、Windows on Raspberry(WoR)プロジェクトの成果物を使って通常のWindows上でラズパイ用microSDを作成するか、そこから派生したWoR Flasher でLinux上でmicroSDを作成するか、という形になっています。

これらを使えば問題なく動作できるかと思います


ここから下は過去の資料になります。


MCCI Corporationというところが、ラズパイ用のUSBドライバをリリースしたことをきっかけに、ラズパイ3上でWindows 10 on ARMが動く、という話が大々的に言われるようになった。

しかし、最初はいろいろな問題があり、導入がかなり困難を極めました。

2019/02/16時点である程度手法は確立しましたので、ここからは、その手順を紹介していきます。

なお、本手順は紅樹タカオさんと共に進めていったものなので「Windows10 on ARMのインストール【成功しましたが簡単ではありません。】」と「ラズパイへWindows10 on ARMを入れるときのトラブルや対処方法」も参考になるかと思います。

準備するもの

・ラズパイ3もしくはラズパイ3B
・ラズパイを冷却するための機構(CPU冷却ファン搭載を推奨)
・高速なmicroSD(A2クラスを強く推奨)
・安定して5.04V~5.08Vが出せるACアダプタ(5.02V~5.04Vだと不足気味)
・Windows 10 on ARM用のISOファイル(「UUP(Unified Update Platform) Generation Project」を利用して作成)
WOA Deployer for Raspberry Pi

microSDは高速なものが必須です。3種類のmicroSDを使ってみたのですが、A2クラスのものを使わないとアプリを起動させるにも一苦労でした。

microSD の種類使用したものWoA Deploy にかかる時間初回起動時間ディスク I/O の様子
Class10 U190分1時間ほぼ常時100%
Class10 U3 A227分20分最初は100%だが20分ぐらいで落ち着く
Class10 U1 A134分まだまだ

電源については、ラズパイを1200MHz動作で使った場合でも1Aを超えることはありませんでした。電流より電圧の方が重要なようで、5.02Vぐらいになると右上に電力不足の雷マークが現れる感じです。

うちで試した限りでは、5.02V~5.04Vで動作するアダプタでは電力不足が表示され、5.04V~5.08Vでは特に問題なく動作していました。

作業手順

1. Windows 10 on ARMのISOを作成

UUP(Unified Update Platform) Generation Project」 から、Windows 10 on ARMのISOイメージを作成するためのCMDファイルを入手します。

その際の選択肢は以下のようになります。

Select type: Windows(Final version)
Select version: Feature update to Windows 10, version 1803 [arm64]
Select language: ja-jp:Japanese
Select edition: 適切に選ぶ
Select type download: Download ISO compiler in OneClick!(run downloaded CMD-file)

「version 1803」以外では、「Windows 10 Insider Preview 18836.1000(rs_prerelease) [arn64」でも問題なくインストールできています。

しかし「version 1809」ではブルースクリーンクラッシュ多発し、USBが認識しないなどの現象が発生します。現状はお薦めできません。

CMDファイルを入手したら、新しくディレクトリを作り、そこにCMDファイルを置き、実行します。すると、各種ファイルのダウンロードと、dismコマンドなどによるISOファイルの生成が開始されます。

ファイルのダウンロードは4GBぐらいあります。また、4GBのISOファイルも作成されますので、作業領域込みで12GB程度の空き容量があることを確認してから実行してください。

なお、アンチウイルスソフトなどによりファイル書き込みやファイルダウンロードに失敗した場合、CMDファイルが置かれたディレクトリにあるファイル・ディレクトリを削除してしまう事象が確認されています。

くれぐれもデスクトップにそのままおいて実行しないよう気をつけてください。

2. ISOファイルをマウントする

作成したISOファイルをエクスプローラーで開くと、Windows10の場合、CDドライブとして認識されます。そのドライブ内に「sources\install.wim」があることを確認します。

3. WoA Deployer for RPiを入手する

WOA Deployer for Raspberry Pi 」を入手します。「Release」にある最新のWOA.Deployer.GUI.zip をダウンロードして、ZIPファイルを展開します。

4. WoA Deployer.exe を実行してmicroSDに書き込みする

展開したファイルの中にある「WoA Deployer.exe」を実行します。

「DRIVE SELECTION」でmicroSDを指定します。
「WINDOWS IMAGE(.WIM)」でISOドライブ内の「sources\install.wim」を指定します。

「Depoly」ボタンをクリックすると、まずはUEFIファイルやドライバなどの必要なもののダウンロードが始まります。

ダウンロードが終わるとmicroSDへの書き込みが始まります。

一番最初にUSBドライバのライセンス承諾画面が表示されますので、「Accept」をクリックします。

microSDへの書き込みは、U1だと90分、U3 A2だと27分かかりました。

5. ラズパイ3にmicroSDをさして電源ON

USBキーボード、マウスをつなぎ、イーサケーブルはつながないで電源を入れます。
インターネットに接続できてしまうと変な動作になることが多いです。

最初の起動では、UEFI shellで停止してしまいます。

6. ラズパイ起動設定の変更

UEFI shellで「exit」と入力し、設定画面を表示させます。

6.1. クロックアップ設定

まず、クロックアップの設定を行います。

「Device Manager」→ 「Rapsberry Pi Configuration」→「Chipset」

「don’t overwrite」と書いてありますが、無視して変更します。

標準は「Min(600Mhz)」ですが、「Max(1200MHz)」とします。

これにより初回起動時間が約半分になります。

6.2. 起動順序設定

次に、起動順序の変更を行います。

「Boot Maintenance Manager」を選び

「Boot Options」を選び

「Change Boot Order」で起動順一覧を表示します。

標準では「UEFI shell」が上にあり、「SD/MMC on Broadcom SDHOST」が下にあります。

これを「UEFI shell」にカーソルを合わせた状態で「-」キーを押し、下側に持って行ったあと、Enterキーで確定させ、F10キーで設定保存をします。

6.3. 解像度設定

また、あまり大きすぎるディスプレイだと動きが遅くなりましたので、解像度制限を行った方がいい場合もあります。

「Device Manager」→「Rapsberry Pi Configuration」→「Display」で設定します。

下記の様なかたちで「Virtual 1024 x 768」ぐらいで設定した方が快適でした。

7. 初回起動

いろいろありつつもプロセスが進みます。

上記の画面が表示されるまで、U1の場合は約1時間かかりました。U3 A2の場合は約20分でした。クロックが標準状態のMin(600MHz)の場合はU1 microSDで約2時間した。

8. セットアップを進める

1803の場合はイーサケーブル繋がない状態で完了までさせてください。

Insider Preview 18894の場合、下記の画面になるまではイーサケーブルを繋がない方がいい感じです。それ以前につないでしまうとセットアップのアップデートをとりに行ってしまい、セットアップがループしました。

9. デスクトップが表示されるまで待つ

U1 microSDで約30分ぐらいかかりました。

10. 完了

以上でとりあえず完了です。

Firefoxをwin32版とwindows aarch64版の双方をインストールしてみたところ、youtube動画をwin32版で閲覧した場合、解像度が最低ラインの状態でなおかつしばしば停止しました。

それに対して、windows aarch64版では特に問題無く再生できました。

なお、音はHDMI経由の出力は現状出来ず、アナログ出力からとなります。

Windows aarch64版は正式配布前なので、「http://archive.mozilla.org/pub/firefox/nightly/latest-mozilla-central/」から英語版ダウンロードします。「firefox-~win64-aarch64.installer.exe」の一番新しいものを使用します。

http://archive.mozilla.org/pub/firefox/nightly/latest-mozilla-central-l10n/」から日本語版のダウンロードでもいいのですが、ファイル数が多くてEdgeだとなかなか開かなかったので諦めました・・・2019/02/21時点だと「http://archive.mozilla.org/pub/firefox/nightly/latest-mozilla-central-l10n/firefox-67.0a1.ja.win64-aarch64.installer.exe」ですね。

また、win32アプリはそこそこに動作しました。

2001年リリースの偽春菜も動きはしました・・・絵が変わる時の動作でよく止まりましたけどね・・・


ここから下は資料ゾーンです。

以前掲載していたものを資料のために載せています。


2019/02/16 21:30追加ゾーン開始

ようやくラズパイ3上でWindows 10 on ARMのデスクトップを開くことに成功しました。

ポイントは、WoA Installer for RPiのページに書いてあった「1809をつかえ」が諸悪の原因で、「1803」だとうまくいく、というところでした。

また、使用するmicroSDは早くないとダメというところ。最低限でClass10 U1じゃないと駄目で、Class10 U3ぐらいは欲しいところです。

うちの場合Class10 U1の samsung EVOPlus Class10 UHS-I MB-MC32GA を使っていますが、これだと初回起動に2時間かかりました。

また、ネットワークケーブルを繋いでいるとアップデートをとりにいってしまってうまく動かなくなりましたので、ケーブル外した状態で最初のログインまではしてください。

下の方の記述は明日修正していきます

2019/02/16追加ゾーンend


実際のインストーラについては、「WoA Installer for Raspberry Pi 3」というツールと「UUP(Unified Update Platform) Generation Project」というWebサイトが生成するバッチファイルと「Core Packages」を使います。


まずは、 「UUP(Unified Update Platform) Generation Project」 でISOイメージを生成するバッチファイルをダウンロードします。これを実行すると、ファイルを4GBちょいダウンロードし、4GBちょいのISOイメージを作成します。作業領域等を含めると15GBぐらいの空き容量が必要です。

注意:cmdファイルは、ディレクトリを作成し、そのなかにおいてから実行しましょう。アンチウイルスソフトによる機能制限によりダウンロードが途中で失敗した場合、同じディレクトリ内のファイルを削除してしまうという事態が発生するようです。

cmdファイルを実行したらすぐにウィンドウが閉じてしまうという場合は、一度、コマンドプロンプトを開いてから、そこの中からcmdファイルを実行してみるといいかもしれません。

2019/02/15 23:22追記:日本語版でやると失敗します。英語版(en_US)でISOを作成したところ、変なクラッシュもなしに起動が進んでいるところです・・・

23:48 英語でもやっぱキーボードが動かないやん・・・なんでじゃ・・・

2019/02/16 14:45追記:1809だと英語/日本語共に失敗。Insider Preview 18836 英語で試したところマウスキーボードは動くもののHi Thereより先に進めず。で・・・1803だとうまく行きやすい、という話を聞いて再挑戦中

2019/02/16 21:34追記:1803日本語であれば正常に動作しました。ただしネットワークケーブルは外した状態でセットアップを進める必要があります。USBは繋ぎっぱなしでも大丈夫です。


次に 「WoA Installer for Raspberry Pi 3」 を使ってmicroSDにWindowsイメージを書き込みます。これが1時間ぐらいかかります。


で、microSDが出来たら、ラズパイ3に突っ込んで起動するわけなんですが、初回起動時はEFI shellで止まります。

これは、「exit」で抜けて次の画面で「Boot order」を変更し、「UEFI shell」より先に「SD/MMC on Broadcom SDHOST」 が来るようにします。そうすると次回からWindowsが起動する様になります。詳しい替え方は FAQ 参照のこと。

ここで重大な注意点があります。

現状、USB機器をつないでると、めちゃくちゃブルースクリーンになります。このため、FAQでも入力を要求されるまではUSBを外しておくことが推奨されています。

で・・・うちの場合なのですが、キーボード選択画面まではいくのですが、USB機器を認識してくれないので進まない感じですね・・・

いったいどうすればいいのか・・・

・・・なんか日本語キーボードをつなぐと動かないのでは?説が急浮上です。

microSDを作り直して、英語キーボードでやってみましたが、状況変わらず・・・なぜだ

なお、初回電源オンからキーボード選択にたどり着くまでブルースクリーンクラッシュが5回ぐらいをはさみつつ約2時間かかりました。