2023年2月のWindowsのアップデート以降、Windows端末において、hexファイルをmicro:bit本体へ書き込めないケースが発生しています。
ユーザー皆様のご参考になるように当社にて当事象を検証し、Micro:bit Educational Foundationの公開情報と合わせて現時点の対処方法をお知らせいたします。
※ (2023年8月3日追加情報)この問題については、Micro:bit Educational FoundationとMicrosoft社が連携し、2023年9月のWindows Updateで修正が提供される予定です。
※ (2023年10月17日追加情報)この問題について、Micro:bit Educational FoundationとMicrosoft社は、解決に向けた取り組みを継続しており、2023年10月のWindows Updateで修正が提供される予定です。
※ 当社の関連ドキュメント「マイクロビット (micro:bit) のトラブルシューティング」
※ Micro:bit Educational Foundationの該当お知らせ「Error transferring file to the micro:bit since Windows update in February 2023」
1. 発生事象
1.1 発生条件
項目 | 詳細 |
対象OS・ 対象バージョン |
Windows10(22H2 OS Builds 1904x.2788 or later) Windows11(22H2 and 21H2 OS build 22621.1344 or later) |
発生条件と事象 |
作成済みのhexファイルを直接MICROBITドライブへの書き込み(コピーまたはドラッグ&ドロップ)を行う時に下記の事象が発生する ・micro:bitにエラーが表示される ・Windowsにエラーが表示される ・書き込みが正常に終了しない |
1.2 エラー内容
分類 | エラーの表示箇所 | エラー詳細 |
エラー表示 | micro:bitのディスプレイ | 521 |
エラー表示 | micro:bitのディスプレイ | 504 |
エラー表示 | micro:bitのディスプレイ | 506 |
エラー表示 | micro:bitのディスプレイ | 537 |
エラー表示 | Windowsエラー | 0x800703EE, 0x800701B1 - Interrupted Action or Problem Copying |
書き込みが終了しない |
なし | 時間が経過しても書き込みが終了しない |
2. 対処方法
当社が検証を行った結果、現時点で最も成功率が高い書き込み方法は以下のとおりです。
下記方法に従って、micro:bitにプログラムを書き込むことをおすすめいたします。
-
最初からプログラミングし、micro:bitに書き込む場合:
- ブラウザーを使ってMakeCodeにアクセスし、プログラミングを行います。
- MakeCodeのダウンロード機能(WebUSB機能)を利用してmicro:bitに書き込む。
- 該当エラーが発生する場合、ブラウザーを再起動し(ブラウザーを閉じるのではなく、ブラウザーアプリを一度終了する必要があります。)複数回を試します。
-
以前MakeCodeで作成済みのhexファイルをmicro:bitに書き込む場合:
- ブラウザーを使ってMakeCodeにアクセスし、MakeCodeの画面にhexファイルをドラッグ&ドロップすることで、MakeCodeに作成済みのプログラムを読み込みます。
- MakeCodeにダウンロード機能(WebUSB機能)を利用してmicro:bitへ書き込む。
- 該当エラーが発生する場合、ブラウザーを再起動し(ブラウザーを閉じるのではなく、ブラウザーアプリを一度終了する必要があります。)複数回を試します。
-
以前MakeCode以外で作成済みのhexファイルをmicro:bitに書き込む場合:
- 下記参考情報の「Windows端末でプログラムをmicro:bitに書き込む方法 」の方法①、または方法④を利用します。また、該当エラーが発生する場合、同じ方法で複数回を試します。
- 下記参考情報の「Windows端末でプログラムをmicro:bitに書き込む方法 」の方法②を複数回行う。該当エラーが発生する場合、ブラウザーを再起動し(ブラウザーを閉じるのではなく、ブラウザーアプリを一度終了する必要があります。)複数回を試します。
3. 参考情報
3.1 Windows端末でプログラムをmicro:bitに書き込む方法
3.1.1 方法①:「MICROBITドライブ」に直接書き込む
- 概要:マウスやキーボード操作で作成済みのhexファイルを直接 Windows OSで認識されている「MICRROBITドライブ」にコピーまたは、ドラッグ&ドロップすることでプログラムをmicro:bit本体に書き込みます。
- 書き込むプログラム:作成済みhexファイル(いずれのエディターでプログラミングし、生成されたhexファイル)
- 書き込む際に利用するツール:エクスプローラー(Windows基本機能)
- 書き込む際に利用する技術:OSの基本機能
3.1.2 方法②:MakeCodeの「ダウンロード」機能でmicro:bit本体に書き込む
- 概要:Chrome等のブラウザーを使ってMakeCodeにアクセスします。プログラムを作成した後、MakeCodeのダウンロード機能(WebUSB機能)を使ってmicro:bit本体に書き込みます。
- 書き込むプログラム:MakeCodeでプログラミングしたコード
- 書き込む際に利用するツール:MakeCode(Chrome等のブラウザーでアクセス)
- 書き込む際に利用する技術:ブラウザーのWebUSB機能
3.1.3 方法③:「micro:bit WebUSB hex file flashing tool」ツールでmicro:bit本体に書き込む
- 概要:Chrome等のブラウザーを使って「micro:bit WebUSB hex file flashing tool」にアクセスします。作成済みのhexファイルをブラウザーにドラッグ&ドロップすることでプログラムをmicro:bit本体に書き込みます。
- 書き込むプログラム:作成済みhexファイル(いずれのエディターでプログラミングし、生成されたhexファイル)
- 書き込む際に利用するツール:micro:bit WebUSB hex file flashing tool(Chrome等のブラウザーでアクセス)
- 書き込む際に利用する技術:ブラウザーのWebUSB機能
3.1.4 方法④:Windowsのコマンドプロンプトでmicro:bit本体に書き込む
- 概要:Windowsのコマンドプロンプトのコマンド操作において、作成済みのhexファイルを直接 Windows OSで認識されている「MICRROBITドライブ」にコピーすることでプログラムをmicro:bit本体に書き込みます。
- 書き込むプログラム:作成済みhexファイル(いずれのエディターでプログラミングし、生成されたhexファイル)
- 書き込む際に利用するツール:コマンドプロンプト(Windows基本機能)
- 書き込む際に利用する技術:OSの基本機能
3.2 当社の検証結果(各書き込む方法の比較)
3.2.1 検証実施概要
上記書き込み方法を用いて、下記の条件で現在主要バージョンのmicro:bitへの書き込みテストを行いました。
ご参考としてテストの結果を公開いたします。
※ 該当プログラムや実施タイミングによって、書き込みの成功率には違いが発生いたします。当社の検証結果は参考情報としてご活用ください。
前提項目 | 詳細 |
対象micro:bitとファームウェアのバージョン | ・V2.00(0255) ・V2.21(0257) |
書き込みテスト用サンプルプログラム |
過去エラーが発生したコード、またはそのコードで生成したhexファイル |
利用する端末のOSとバージョン | Windows11(OSビルド 22621.1702) |
テストの回数 | 5回(同じ方法と対象で5回ずつテストを行う) |
3.2.2 実施結果
micro:bit バージョン |
書き込む 方法 |
エラー回数 / テスト回数 |
micro:bit エラー |
備考 |
V2.00 |
方法① | 2/5 | 521 |
Fail.TXT(error: The hex file cannot be decoded. Checksum calculation failure occurred. type: transient, user) |
V2.00 |
方法② | 0/5 | ー | ー |
V2.00 | 方法③ | 5/5 | ー | 書き込みが終了しない ※1 |
V2.00 | 方法④ | 2/5 | 504 | Fail.TXT(error: error: The transfer timed out.type: transient, user) |
V2.21 | 方法① | 0/5 | ー | ー |
V2.21 | 方法② | 0/5 | ー | ー |
V2.21 | 方法③ | 2/5 | ー | 書き込みが終了しない ※1 |
V2.21 | 方法④ | 2/5 | 504 | Fail.TXT(error: error: The transfer timed out.type: transient, user) |
※1 テスト後、ブラウザーを再起動することで書き込みが連続で成功することがあります。