0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

micro:bit に .hex が移せなかった話

Posted at

45967806-fcf4ec00-c026-11e8-90a7-be2ecac881d5.png

はじめに

電子工作をゆるく続けているのですが、これまでは Raspberry Pi や Arduino ばかり触ってきました。
最近になって micro:bit にも興味が湧き、とあるキットを購入して試してみることに。

micro:bit は子ども向け教材として知られており、はんだ付けや複雑な配線がほとんど不要で、気軽に始められるのが魅力です。

……のはずだったのですが、最初のステップでつまずきました。

サーボモーターの初期調整に必要な .hex ファイルを PC から micro:bit に転送できないという予想外のトラブルに遭遇し、電子工作どころではなくなってしまったのです。

調べてみると、同じような事例はちらほら見つかるものの、決定的な解決策がまとまっている記事はほとんどありませんでした。
そこで今回、自分が試したことと最終的にわかった原因をまとめておこうと思います。

(ちなみに、この現象は決して「激レア」ではないようです)

エラー解決の道のり

今回やりたいことは単純で、.hex ファイルを micro:bit の USB ドライブにドラッグ&ドロップで移すというだけ。

はじめに私が使用していたのは USB ポートのない MacBook Air (M1)。
USB-A → USB-C の変換アダプタ経由で micro:bit を接続したところ、micro:bit 自体は USB ドライブとしてマウントされました。

ところが、.hex をドロップした瞬間に macOS がエラーを表示し、出てきたのは 100093 エラー(予期せぬエラー)。
同時に micro:bit 側でも LED 表示が 504 エラーになりました。

まずはケーブルや接続周りを疑いました。

1. 変換アダプタをやめてみる

「アダプタが悪いのでは?」と思い、USB-C → microUSB の直結ケーブルを購入。

しかし結果は同じ。
504 エラー、ファイルは転送できず。

2. コマンドラインで直接コピーしてみる

次に Finder を疑い、Terminal から cp コマンドでコピーを試す。

最初は書き込みできるかに見えるものの、途中でドライブが FAIL.TXT に置き換わり、最終的に 504 エラーに戻ってしまう。

3. iPad で試してみる

自宅に Windows マシンがなかったため、次の候補は iPad。
“PC が悪いだけでは?” と思ったが、iPadOS でも .hex の書き込みはできず。

4. micro:bit を初期化してみる

「本体側が壊れているのでは?」と思い、公式手順に従って初期化。

  • RESET ボタンを押しながら接続 → MAINTENANCE ドライブが登場
  • 最新の firmware.hex を書き込み
  • 再起動

……しても、やっぱり 504 のまま。

firmware.hex の更新方法

公式ページから最新版をダウンロードし、MAINTENANCE ドライブにコピーすれば更新できます:

5. OS を変えてみる(決定打)

ここまで来て、「もしかして macOS 側の問題では?」と疑い、家にあった古い Mac を持ち出して試してみることに。すると、一発で成功。

環境を整理すると次のとおり。

  • うまくいかなかった Mac
    MacBook Air (M1)
    macOS Ventura 13.0
    → 100093エラー & micro:bit 504エラー

  • うまくいった Mac
    MacBook (Retina, 12-inch, 2017)
    macOS Monterey 12.6.3
    → .hex ファイルを普通に転送できた

まとめ

結果として、今回の原因は ケーブルでも micro:bit 本体でもなく、macOS(特に Ventura 13 系)側の挙動でした。

micro:bit を USB マスストレージとして扱う際、Ventura が追加で行う処理(拡張属性やセキュリティ周り)が干渉し、転送中に micro:bit の処理がタイムアウト → 504 エラーにつながっていたと考えられます。

同じ問題に悩んでいる人は、

  • macOS のバージョンを変える(Monterey 以前は成功例が多い)
  • 別の PC(Windows / 古い Mac)を使う
  • rsync など Finder 以外の書き込み方法を試す

などを検討してみると良いかもしれません。
何かのお役に立てれば幸いです。読んでいただきありがとうございました。

引用

logo : https://github.com/Templarian/MaterialDesign/issues/4009

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?