メインコンテンツまでスキップ

Firmix について

概要

Firmixは、電子工作の作品のファームウェアの投稿して配布するための Webサービスです。
電子工作のプロジェクトを誰でも再現できるようにするために、ビルド済みのファームウェアを投稿して公開します。

利用するユーザーが開発環境やソースコードのビルドなどを行わなくても、ビルドしたファームウェアを簡単にボードに書き込んで、手元で試せるようにすることを目的としています。

サポートしているMCUやプラットフォームは、ビルドしたファームウェアをブラウザから簡単にボードに書き込めるものとしています。 現在、UF2ファイルでファームウェアの書き込みができるボードをサポートしています。

主な機能

FirmixのWebサービスには以下の機能があります。

  • Githubアカウントでのログイン
  • プロジェクトの一覧と詳細の表示
  • ファームウェアのダウンロード
  • プロジェクトの管理
  • ローカルプロジェクトの投稿
  • CIプロセスから利用できるAPIによる投稿

開発環境

プロジェクト

Firmixでは、プロジェクトという単位で投稿作品を扱っています。 プロジェクトには、ファームウェアのバイナリとReadmeファイル、サムネイル画像がアセットとして含まれます。 PCのローカルフォルダからプロジェクトのリソースを読み込んで投稿することができます。

プロジェクトの構成には、ビルドツールや依存パッケージの管理がしやすい、PlatformIOを利用した構成を推奨しています。それ以外の任意のツールでビルドする構成でも利用できます。投稿時にフォルダ単位でプロジェクトを読み込むため、ビルドしたファームウェアがプロジェクトのフォルダ配下に配置されている必要があります。

ボードとMCU

ブラウザからUF2ファイルをダウンロードしてそのままボードに書き込める構成をサポートしています。 またそれ以外にもシリアル経由でブラウザからファームウェアを書き込めるボードやMCUをサポートしていく予定です。

UF2ブートローダーに対応しているMCU

UF2ファイルでファームウェアを書き込めるボードに対応しています。MCUのROMブートローダでUF2に対応しているものや製品の工場出荷時にUF2ブートローダが書き込まれているボードを主なターゲットとしています。

  • RP2040
  • ATSAMD21/51
  • nRF52840
  • ESP32S3

ESP32S3ではTinyUF2というブートローダを使うとUF2による書き込みに対応できます。ただあまり一般的に使われていないため、↓のシリアル経由での書き込みを検討しています。

ESP32(検討中)

ESP32シリーズも電子工作界隈で広く使われているので、書き込みをサポートすることを検討しています。 ブラウザ上からWeb Serial経由でボードのファームウェアを書き込めるようにする対応を考えています。