M5Stack FIREのファームウェアはM5GOのものでした


psRAMが無事使えるようになったM5Stack FIREですが、もともと入っていたファームウェアは消えてしまいました。
これはどこかに提供されていないのか、探してみたのですが、どうやらそもそもFIREには専用のファームウェアはなく、M5GO用のものがインストールされていたようです。
ファイルは以下で提供されています。

m5stack/M5GO

上記で提供されているv0.15をFIREにインストールしてみたところ、購入時と同じ状態になりました。
購入時のファームウェアからUARTへ出力される起動メッセージは保存してあったのですが、上記のファームウェアの出力はSPIFFSの利用状況やMicroPythonのバージョン・ビルド日時も含めて全く同じです。
ですので、おそらくこれが初期ファームウェアだったと思われます。

で、「あれ?M5GOFIREってモーションセンサに違いが無かったっけ?」と疑問が湧いたのですが、このファームウェアでも起動時のジャイロの動作デモ(Nextを何回か押すと出てくるもの)は問題なく動作しました。

調べてみると、M5GOもFIREもジャイロ&加速度センサ自体は同一(MPU-6050)で、コンパスがM5GOはANK8963、FIREはMAG3110になっているようです。そして、M5GOに搭載されているMPU-9250の実体はMPU-6050+ANK8963なのでした。

I2Cでデバイスの接続状況を調べてみたところ、

>>> from machine import I2C
>>> import i2c_bus
>>> i2c=i2c_bus.get(i2c_bus.PORTA)
>>> i2c.scan()
[14, 104, 117]
>>> 

MPU-6050(addr=104)は接続されていますが、ANK8963(addr=12)は接続されておらず、代わりにMAG3110(addr=14)が接続されています。

ただ、ANK8963はMicroPythonのドライバがあるのですが、MAG3110については不明です。

というわけで、M5Stack FIREとは

・FIRE≒(M5GO – 各種センサ類 – ANK8963 )+ 4MB psRAM + MAG3110
・ソフトウェアは同じ(現時点psRAMは無効)

ということのようです。

コメント