Categories: 工作・開発

マイコンで光るキューブを作製、物理演算で重力の動きを再現した個人プロジェクト

開発者の「A_small_child1」氏が2025年8月15日頃、ESP32S3マイコンを使用してLEDキューブ上で動作する3D物理シミュレーションシステムを開発し、Github上で公開した。このプロジェクトは重力シミュレーションをWS2812bLEDストリップで視覚化するもので、外部バッテリーで動作するポータブル設計となっている。

同氏によると、これはArduino以外での初めてのプログラミングプロジェクトで、最小限の外部ライブラリ使用を目指した。具体的にはEspressifのLed-Stripライブラリのみを使用してWS2812bの低レベル制御を実現している。プロジェクトの3Dモデル、回路図、ソフトウェアは「Gravity-Cube」という名称でオープンソースとして公開されている。

システムは現在外部バッテリーパックで動作し、移動可能な構成となっている。内蔵LiPoバッテリーによるワイヤレス化も技術的には可能だが、同氏はバッテリー充電回路の実装を今回のプロジェクトでは避けたと説明している。

コミュニティから技術改善案と評価

Reddit上での議論では、技術面での改善提案が複数寄せられている。あるユーザーはフレームレート向上のため、LCDペリフェラルを使用した並列出力を提案し、この手法では2~16本のストリップを同時出力でき、400fps以上の駆動も可能としている。

一方で、現在の用途にはESP32が最適な選択ではないという指摘もあり、コードがCとC++のどちらを目指しているか曖昧だという技術的な問題点も指摘された。ただし、別のユーザーはこの批判に対してESP32使用に問題はないと反論し、「製品が完成し、コードが動作している」ことを評価している。

プロジェクトの用途について、複数のユーザーがデスクアクセサリーとしての魅力を評価している。「デスクに置きたい」「机の上で回し続けてしまいそう」といったコメントや、「こんなことができるようになりたい」という感想が寄せられている。

開発者は今回が初のフルCプログラムだったと明かし、ヘッダーファイルとリンクについては開発の後期に学習したと説明している。ESP32選択の理由については、広く利用可能でシミュレーション管理に十分なメモリを持っていたためとしている。コミュニティからの批判についても感謝の意を示し、将来のプロジェクトでの改善点として受け入れている。

このプロジェクトは、マイコンの限られたリソースで3D物理演算を実現した技術的挑戦として注目を集めており、改善提案も含めて建設的な議論が続いている。

関連情報

Gravity-Cube – GitHub

FabScene編集部

FabScene編集部