[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"article:jupiter-on-fire-7896a7ba":3},{"article":4,"revisions":15},{"id":5,"author_id":6,"firmware_project_id":7,"slug":8,"published_revision_id":9,"visibility":10,"moderation_lock_reason":11,"version":12,"created_at":13,"updated_at":14},"c60585ed-38fd-4f2b-ae5e-a329777203ad","97f56621-f870-41bc-8ccc-b0b36bc4fd2a","7896a7ba-915b-4b07-a5a6-6f5350b6926d","jupiter-on-fire-7896a7ba","da2a52c6-8a16-4a73-b9d7-2924b9004b5b","public",null,6,"2026-09-24T11:14:46.725Z","2026-09-24T11:30:47.478Z",[16],{"id":9,"article_id":5,"revision_no":17,"state":18,"source_revision_id":11,"change_summary":19,"version":12,"submitted_at":20,"reviewed_at":21,"published_at":14,"created_at":13,"description":22,"rendered_description":23,"content":24},1,"published","Initial draft","2026-09-24T11:14:48.408Z","2026-09-24T11:30:47.452Z","# 浴火木星 · Jupiter on Fire\n\n22 世纪，人类已大规模迁出太阳系。留守故土边疆的你，是边疆护卫队的一名飞行员。盘踞在木星近地轨道的太空盗切断航路、袭击补给站；当增援仍在遥远星门之外，你只能驾驶一架战机，单枪匹马迎击整支盗匪舰队。\n\n《浴火木星》是一款运行在 ESP-Mosaico 上的低模太空空战游戏。木星云海与风暴填满远景，战机、小行星和激光在 480×480 屏幕上由软件实时渲染。弧形 HUD 显示击坠数、波次、分数、速度、护盾、船体、武器和锁定状态；开火、命中和受击配有科幻音效、马达振动，以及多功能子板灯带反馈。\n\n## 操作指南\n\n### IMU + 触控\n\n1. **校准姿态**  \n   开机或插拔多功能子板后，先按当前阅读方向拿稳设备。画面完成旋转并显示 `HOLD STILL` 时保持静止，固件会按新的屏幕方向重新初始化 IMU；出现 `TILT TO FLY` 后再开始倾斜。\n\n2. **俯仰与滚转**  \n   整机向前倾斜，机头下压；向后倾斜，机头拉起。向左或向右倾斜会让战机滚转，并带少量协同偏航。使用小幅、连续动作把目标送入中央准星，不要突然甩动设备。\n\n3. **自动巡航**  \n   IMU 模式下战机会自动向前飞行，不需要持续按加速。准星旁的 `SPD` 显示当前速度。\n\n4. **开火（短触）**  \n   在画面空白处短触即可使用当前武器。点按右侧弧形 HUD 的武器格只会切换武器，不会同时开火。\n\n5. **环视（拖动）**  \n   单指移动约 12 像素以上会进入环视，拖动追逐摄像机观察周围。拖动过程和松手都不会误触开火；环视只改变镜头，不改变战机朝向。\n\n6. **双指操作**  \n   一根手指保持拖动环视时，另一根手指仍可在空白处短触开火。两路触点独立处理，不必先松开环视手指。\n\n7. **系统菜单**  \n   长按机身 **AI 键**打开系统叠加层，可调亮度、音量，查看电池，并执行暂停或重置。菜单打开时战斗暂停；重置会回到第一波并清空分数。\n\n## 三种弹药\n\n- **Laser \u002F 激光**  \n  默认武器，不需要锁定。连续按住开火会发射带宽泛光、绿色辉光和白炽核心的三层重型激光；射速快，适合持续修正准星、清理普通敌机和削减小行星耐久。\n\n- **Cluster \u002F 集束弹**  \n  需要先让敌机进入锁定圈。每次齐射释放 5 枚粒子，先向两侧大幅散开并形成弧线，再逐渐收束追向目标。整轮集束共享一次伤害，适合用宽扇面保持对机动目标的压制。\n\n- **Missile \u002F 导弹**  \n  需要锁定，且每条命只有 5 枚。导弹单发追踪、造成 3 点伤害，适合重创高耐久目标或快速击碎大型小行星；弹药耗尽时 HUD 会显示 `EMPTY`。\n\n## 战斗与 HUD\n\n- `SHD` 护盾先承受伤害，`HUL` 船体随后受损；一段时间不受击后护盾会逐格恢复。\n- 左上角显示 `KILLS`，下方显示波次和分数；中央锁定框确认 Cluster 与 Missile 是否可以发射。\n- 撞击小行星会使其碎裂，并造成 2 点伤害；受击后有短暂无敌时间。\n- Laser、Cluster 和 Missile 分别在右侧弧形 HUD 中占一个武器格，当前武器会高亮。\n\n## 多功能子板支持\n\n游戏现已支持热插拔 **多功能交互子板**，也兼容 Button LED 子板。子板可插在左侧或右侧：\n\n- 插入后，画面自动旋转，让子板位于屏幕下方；触控坐标随屏幕旋转，IMU 会在新方向下重新校准。\n- **左键：开火。** Laser 与 Cluster 可按住连续射击；Missile 每次按下只发射一枚，避免误耗弹药。\n- **右键：切换武器。** 每次按下依次切换 Laser → Cluster → Missile。\n- **灯带射击反馈：** Laser 发射时绿色追逐，Cluster 为黄色追逐，Missile 为橙色追逐。\n- **受击反馈：** 玩家受伤时，红色快速闪烁约 600 毫秒，并优先覆盖当时的射击灯效。\n- Interaction 多功能子板使用 6 颗 LED；Button LED 子板使用 3 颗 LED。拔出后按键和灯带立即清空，游戏继续使用 IMU 与触控，并在重新插入后自动连接。\n\n多功能子板不是开玩的前提；不插子板时，完整的 IMU、触控、音效和振动玩法仍然可用。\n\n## 技术一览\n\n- 目标硬件：ESP-Mosaico（ESP32-S31）\n- 可选扩展：多功能交互子板 \u002F Button LED 子板\n- 分类：显示与 HMI \u002F 音频 \u002F 传感器\n- 固件格式：Iris\n- 许可证：Apache-2.0\n\n---\n\n# Jupiter on Fire · 浴火木星\n\nIn the 22nd century, humanity has largely moved beyond the Solar System. You are a pilot in the Frontier Guard, one of the few still protecting the old home system. Space pirates have occupied near-Jupiter orbit, cutting supply lanes and raiding outposts. With reinforcements still beyond a distant star gate, you launch alone against an entire pirate fleet.\n\nJupiter on Fire is a low-poly space combat game built for ESP-Mosaico. Jupiter's cloud bands and storms fill the horizon while fighters, asteroids, and laser fire are rendered in software on the 480×480 display. The curved fighter HUD shows kills, wave, score, speed, shield, hull, weapon, and lock state. Firing, hits, and damage add sci-fi audio, motor haptics, and optional multifunction-sub-board LED feedback.\n\n## How to play\n\n### IMU + touch\n\n1. **Calibrate the current pose**  \n   After boot or a multifunction-board hot-plug, hold the device in its current reading orientation. Keep still while the display rotates and shows `HOLD STILL`; firmware reinitializes the IMU in the new screen frame. Start tilting only after `TILT TO FLY`.\n\n2. **Pitch and roll**  \n   Tilt the whole device forward to push the nose down and back to pull up. Tilt left or right to roll, with a little coordinated yaw. Use small continuous movements to bring targets into the center reticle instead of jerking the device.\n\n3. **Automatic cruise**  \n   IMU mode maintains forward flight automatically. `SPD` beside the reticle shows current speed.\n\n4. **Fire (short tap)**  \n   Tap empty space to fire the selected weapon. Tapping a weapon cell on the right-hand arc changes weapons and does not fire at the same time.\n\n5. **Look (drag)**  \n   Move one finger about 12 pixels or more to orbit the chase camera. A look-drag never fires, including on release. Looking changes the camera, not the fighter heading.\n\n6. **Two fingers**  \n   Keep one finger dragging to look and short-tap empty space with the other to fire. The two touch tracks remain independent.\n\n7. **System overlay**  \n   Long-press the hardware **AI key** for brightness, volume, battery, pause, and reset. Combat pauses while the overlay is open. Reset returns to wave one and clears score.\n\n## Three ammunition types\n\n- **Laser**  \n  The default weapon needs no lock. Hold fire for rapid layered bolts with a broad bloom, green glow, and white-hot core. It is ideal for continuous aim correction, ordinary fighters, and chipping asteroid durability.\n\n- **Cluster**  \n  Requires a target inside the lock circle. Each volley releases five particles that spread into a wide curved fan, then tighten their homing pull toward the target. The full fan shares one damage event, making it useful for maintaining pressure on maneuvering enemies.\n\n- **Missile**  \n  Requires a lock and is limited to five rounds per life. Each single homing missile deals three damage, making it best for durable targets or large asteroids. The HUD reports `EMPTY` when the magazine is exhausted.\n\n## Combat and HUD\n\n- Shield (`SHD`) absorbs damage before hull (`HUL`) and regenerates cell by cell after a damage-free delay.\n- `KILLS` sits at the upper left with wave and score underneath; the center lock marker confirms whether Cluster and Missile can launch.\n- Ramming an asteroid shatters it and deals two damage, followed by a short invulnerability window.\n- Laser, Cluster, and Missile each occupy a cell on the right-hand HUD arc; the selected cell is highlighted.\n\n## Multifunction sub-board support\n\nThe game now supports the hot-pluggable **Interaction multifunction sub-board** and the compatible Button LED sub-board. Either board can be inserted on the left or right:\n\n- The display rotates automatically so the board becomes the bottom edge. Touch follows the display, and the IMU recalibrates in the new orientation.\n- **Left key: fire.** Hold for continuous Laser or Cluster fire. Missile launches once per press to prevent accidental ammo drain.\n- **Right key: cycle weapon.** Each press advances Laser → Cluster → Missile.\n- **Shot LED chase:** green for Laser, yellow for Cluster, and orange for Missile.\n- **Damage feedback:** rapid red flashes for about 600 ms override any shot animation when the player is hit.\n- The Interaction board drives six LEDs; the Button LED board drives three. Removal clears keys and LEDs immediately, while IMU and touch continue. Reinsertion reconnects automatically.\n\nThe sub-board is optional. Full IMU, touch, audio, and haptic gameplay remains available on the stock device.\n\n## Specs\n\n- Hardware: ESP-Mosaico (ESP32-S31)\n- Optional expansion: Interaction multifunction sub-board \u002F Button LED sub-board\n- Categories: Display & HMI \u002F Audio \u002F Sensors\n- Firmware: Iris\n- License: Apache-2.0\n","\u003Ch1>浴火木星 · Jupiter on Fire\u003C\u002Fh1>\n\u003Cp>22 世纪，人类已大规模迁出太阳系。留守故土边疆的你，是边疆护卫队的一名飞行员。盘踞在木星近地轨道的太空盗切断航路、袭击补给站；当增援仍在遥远星门之外，你只能驾驶一架战机，单枪匹马迎击整支盗匪舰队。\u003C\u002Fp>\n\u003Cp>《浴火木星》是一款运行在 ESP-Mosaico 上的低模太空空战游戏。木星云海与风暴填满远景，战机、小行星和激光在 480×480 屏幕上由软件实时渲染。弧形 HUD 显示击坠数、波次、分数、速度、护盾、船体、武器和锁定状态；开火、命中和受击配有科幻音效、马达振动，以及多功能子板灯带反馈。\u003C\u002Fp>\n\u003Ch2>操作指南\u003C\u002Fh2>\n\u003Ch3>IMU + 触控\u003C\u002Fh3>\n\u003Col>\n\u003Cli>\u003Cp>\u003Cstrong>校准姿态\u003C\u002Fstrong>\u003Cbr \u002F>开机或插拔多功能子板后，先按当前阅读方向拿稳设备。画面完成旋转并显示 \u003Ccode>HOLD STILL\u003C\u002Fcode> 时保持静止，固件会按新的屏幕方向重新初始化 IMU；出现 \u003Ccode>TILT TO FLY\u003C\u002Fcode> 后再开始倾斜。\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\u003Cp>\u003Cstrong>俯仰与滚转\u003C\u002Fstrong>\u003Cbr \u002F>整机向前倾斜，机头下压；向后倾斜，机头拉起。向左或向右倾斜会让战机滚转，并带少量协同偏航。使用小幅、连续动作把目标送入中央准星，不要突然甩动设备。\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\u003Cp>\u003Cstrong>自动巡航\u003C\u002Fstrong>\u003Cbr \u002F>IMU 模式下战机会自动向前飞行，不需要持续按加速。准星旁的 \u003Ccode>SPD\u003C\u002Fcode> 显示当前速度。\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\u003Cp>\u003Cstrong>开火（短触）\u003C\u002Fstrong>\u003Cbr \u002F>在画面空白处短触即可使用当前武器。点按右侧弧形 HUD 的武器格只会切换武器，不会同时开火。\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\u003Cp>\u003Cstrong>环视（拖动）\u003C\u002Fstrong>\u003Cbr \u002F>单指移动约 12 像素以上会进入环视，拖动追逐摄像机观察周围。拖动过程和松手都不会误触开火；环视只改变镜头，不改变战机朝向。\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\u003Cp>\u003Cstrong>双指操作\u003C\u002Fstrong>\u003Cbr \u002F>一根手指保持拖动环视时，另一根手指仍可在空白处短触开火。两路触点独立处理，不必先松开环视手指。\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\u003Cp>\u003Cstrong>系统菜单\u003C\u002Fstrong>\u003Cbr \u002F>长按机身 \u003Cstrong>AI 键\u003C\u002Fstrong>打开系统叠加层，可调亮度、音量，查看电池，并执行暂停或重置。菜单打开时战斗暂停；重置会回到第一波并清空分数。\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch2>三种弹药\u003C\u002Fh2>\n\u003Cul>\n\u003Cli>\u003Cp>\u003Cstrong>Laser \u002F 激光\u003C\u002Fstrong>\u003Cbr \u002F>默认武器，不需要锁定。连续按住开火会发射带宽泛光、绿色辉光和白炽核心的三层重型激光；射速快，适合持续修正准星、清理普通敌机和削减小行星耐久。\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\u003Cp>\u003Cstrong>Cluster \u002F 集束弹\u003C\u002Fstrong>\u003Cbr \u002F>需要先让敌机进入锁定圈。每次齐射释放 5 枚粒子，先向两侧大幅散开并形成弧线，再逐渐收束追向目标。整轮集束共享一次伤害，适合用宽扇面保持对机动目标的压制。\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\u003Cp>\u003Cstrong>Missile \u002F 导弹\u003C\u002Fstrong>\u003Cbr \u002F>需要锁定，且每条命只有 5 枚。导弹单发追踪、造成 3 点伤害，适合重创高耐久目标或快速击碎大型小行星；弹药耗尽时 HUD 会显示 \u003Ccode>EMPTY\u003C\u002Fcode>。\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2>战斗与 HUD\u003C\u002Fh2>\n\u003Cul>\n\u003Cli>\u003Ccode>SHD\u003C\u002Fcode> 护盾先承受伤害，\u003Ccode>HUL\u003C\u002Fcode> 船体随后受损；一段时间不受击后护盾会逐格恢复。\u003C\u002Fli>\n\u003Cli>左上角显示 \u003Ccode>KILLS\u003C\u002Fcode>，下方显示波次和分数；中央锁定框确认 Cluster 与 Missile 是否可以发射。\u003C\u002Fli>\n\u003Cli>撞击小行星会使其碎裂，并造成 2 点伤害；受击后有短暂无敌时间。\u003C\u002Fli>\n\u003Cli>Laser、Cluster 和 Missile 分别在右侧弧形 HUD 中占一个武器格，当前武器会高亮。\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2>多功能子板支持\u003C\u002Fh2>\n\u003Cp>游戏现已支持热插拔 \u003Cstrong>多功能交互子板\u003C\u002Fstrong>，也兼容 Button LED 子板。子板可插在左侧或右侧：\u003C\u002Fp>\n\u003Cul>\n\u003Cli>插入后，画面自动旋转，让子板位于屏幕下方；触控坐标随屏幕旋转，IMU 会在新方向下重新校准。\u003C\u002Fli>\n\u003Cli>\u003Cstrong>左键：开火。\u003C\u002Fstrong> Laser 与 Cluster 可按住连续射击；Missile 每次按下只发射一枚，避免误耗弹药。\u003C\u002Fli>\n\u003Cli>\u003Cstrong>右键：切换武器。\u003C\u002Fstrong> 每次按下依次切换 Laser → Cluster → Missile。\u003C\u002Fli>\n\u003Cli>\u003Cstrong>灯带射击反馈：\u003C\u002Fstrong> Laser 发射时绿色追逐，Cluster 为黄色追逐，Missile 为橙色追逐。\u003C\u002Fli>\n\u003Cli>\u003Cstrong>受击反馈：\u003C\u002Fstrong> 玩家受伤时，红色快速闪烁约 600 毫秒，并优先覆盖当时的射击灯效。\u003C\u002Fli>\n\u003Cli>Interaction 多功能子板使用 6 颗 LED；Button LED 子板使用 3 颗 LED。拔出后按键和灯带立即清空，游戏继续使用 IMU 与触控，并在重新插入后自动连接。\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>多功能子板不是开玩的前提；不插子板时，完整的 IMU、触控、音效和振动玩法仍然可用。\u003C\u002Fp>\n\u003Ch2>技术一览\u003C\u002Fh2>\n\u003Cul>\n\u003Cli>目标硬件：ESP-Mosaico（ESP32-S31）\u003C\u002Fli>\n\u003Cli>可选扩展：多功能交互子板 \u002F Button LED 子板\u003C\u002Fli>\n\u003Cli>分类：显示与 HMI \u002F 音频 \u002F 传感器\u003C\u002Fli>\n\u003Cli>固件格式：Iris\u003C\u002Fli>\n\u003Cli>许可证：Apache-2.0\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Chr \u002F>\n\u003Ch1>Jupiter on Fire · 浴火木星\u003C\u002Fh1>\n\u003Cp>In the 22nd century, humanity has largely moved beyond the Solar System. You are a pilot in the Frontier Guard, one of the few still protecting the old home system. Space pirates have occupied near-Jupiter orbit, cutting supply lanes and raiding outposts. With reinforcements still beyond a distant star gate, you launch alone against an entire pirate fleet.\u003C\u002Fp>\n\u003Cp>Jupiter on Fire is a low-poly space combat game built for ESP-Mosaico. Jupiter's cloud bands and storms fill the horizon while fighters, asteroids, and laser fire are rendered in software on the 480×480 display. The curved fighter HUD shows kills, wave, score, speed, shield, hull, weapon, and lock state. Firing, hits, and damage add sci-fi audio, motor haptics, and optional multifunction-sub-board LED feedback.\u003C\u002Fp>\n\u003Ch2>How to play\u003C\u002Fh2>\n\u003Ch3>IMU + touch\u003C\u002Fh3>\n\u003Col>\n\u003Cli>\u003Cp>\u003Cstrong>Calibrate the current pose\u003C\u002Fstrong>\u003Cbr \u002F>After boot or a multifunction-board hot-plug, hold the device in its current reading orientation. Keep still while the display rotates and shows \u003Ccode>HOLD STILL\u003C\u002Fcode>; firmware reinitializes the IMU in the new screen frame. Start tilting only after \u003Ccode>TILT TO FLY\u003C\u002Fcode>.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\u003Cp>\u003Cstrong>Pitch and roll\u003C\u002Fstrong>\u003Cbr \u002F>Tilt the whole device forward to push the nose down and back to pull up. Tilt left or right to roll, with a little coordinated yaw. Use small continuous movements to bring targets into the center reticle instead of jerking the device.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\u003Cp>\u003Cstrong>Automatic cruise\u003C\u002Fstrong>\u003Cbr \u002F>IMU mode maintains forward flight automatically. \u003Ccode>SPD\u003C\u002Fcode> beside the reticle shows current speed.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\u003Cp>\u003Cstrong>Fire (short tap)\u003C\u002Fstrong>\u003Cbr \u002F>Tap empty space to fire the selected weapon. Tapping a weapon cell on the right-hand arc changes weapons and does not fire at the same time.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\u003Cp>\u003Cstrong>Look (drag)\u003C\u002Fstrong>\u003Cbr \u002F>Move one finger about 12 pixels or more to orbit the chase camera. A look-drag never fires, including on release. Looking changes the camera, not the fighter heading.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\u003Cp>\u003Cstrong>Two fingers\u003C\u002Fstrong>\u003Cbr \u002F>Keep one finger dragging to look and short-tap empty space with the other to fire. The two touch tracks remain independent.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\u003Cp>\u003Cstrong>System overlay\u003C\u002Fstrong>\u003Cbr \u002F>Long-press the hardware \u003Cstrong>AI key\u003C\u002Fstrong> for brightness, volume, battery, pause, and reset. Combat pauses while the overlay is open. Reset returns to wave one and clears score.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch2>Three ammunition types\u003C\u002Fh2>\n\u003Cul>\n\u003Cli>\u003Cp>\u003Cstrong>Laser\u003C\u002Fstrong>\u003Cbr \u002F>The default weapon needs no lock. Hold fire for rapid layered bolts with a broad bloom, green glow, and white-hot core. It is ideal for continuous aim correction, ordinary fighters, and chipping asteroid durability.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\u003Cp>\u003Cstrong>Cluster\u003C\u002Fstrong>\u003Cbr \u002F>Requires a target inside the lock circle. Each volley releases five particles that spread into a wide curved fan, then tighten their homing pull toward the target. The full fan shares one damage event, making it useful for maintaining pressure on maneuvering enemies.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\u003Cp>\u003Cstrong>Missile\u003C\u002Fstrong>\u003Cbr \u002F>Requires a lock and is limited to five rounds per life. Each single homing missile deals three damage, making it best for durable targets or large asteroids. The HUD reports \u003Ccode>EMPTY\u003C\u002Fcode> when the magazine is exhausted.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2>Combat and HUD\u003C\u002Fh2>\n\u003Cul>\n\u003Cli>Shield (\u003Ccode>SHD\u003C\u002Fcode>) absorbs damage before hull (\u003Ccode>HUL\u003C\u002Fcode>) and regenerates cell by cell after a damage-free delay.\u003C\u002Fli>\n\u003Cli>\u003Ccode>KILLS\u003C\u002Fcode> sits at the upper left with wave and score underneath; the center lock marker confirms whether Cluster and Missile can launch.\u003C\u002Fli>\n\u003Cli>Ramming an asteroid shatters it and deals two damage, followed by a short invulnerability window.\u003C\u002Fli>\n\u003Cli>Laser, Cluster, and Missile each occupy a cell on the right-hand HUD arc; the selected cell is highlighted.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2>Multifunction sub-board support\u003C\u002Fh2>\n\u003Cp>The game now supports the hot-pluggable \u003Cstrong>Interaction multifunction sub-board\u003C\u002Fstrong> and the compatible Button LED sub-board. Either board can be inserted on the left or right:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>The display rotates automatically so the board becomes the bottom edge. Touch follows the display, and the IMU recalibrates in the new orientation.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Left key: fire.\u003C\u002Fstrong> Hold for continuous Laser or Cluster fire. Missile launches once per press to prevent accidental ammo drain.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Right key: cycle weapon.\u003C\u002Fstrong> Each press advances Laser → Cluster → Missile.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Shot LED chase:\u003C\u002Fstrong> green for Laser, yellow for Cluster, and orange for Missile.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Damage feedback:\u003C\u002Fstrong> rapid red flashes for about 600 ms override any shot animation when the player is hit.\u003C\u002Fli>\n\u003Cli>The Interaction board drives six LEDs; the Button LED board drives three. Removal clears keys and LEDs immediately, while IMU and touch continue. Reinsertion reconnects automatically.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>The sub-board is optional. Full IMU, touch, audio, and haptic gameplay remains available on the stock device.\u003C\u002Fp>\n\u003Ch2>Specs\u003C\u002Fh2>\n\u003Cul>\n\u003Cli>Hardware: ESP-Mosaico (ESP32-S31)\u003C\u002Fli>\n\u003Cli>Optional expansion: Interaction multifunction sub-board \u002F Button LED sub-board\u003C\u002Fli>\n\u003Cli>Categories: Display &amp; HMI \u002F Audio \u002F Sensors\u003C\u002Fli>\n\u003Cli>Firmware: Iris\u003C\u002Fli>\n\u003Cli>License: Apache-2.0\u003C\u002Fli>\n\u003C\u002Ful>\n",{"title":25,"categories":26,"boards":30,"tags":31,"cover_images":32,"external_links":35,"attachments":36,"current_version":37,"license":38,"firmware_variants":39},"浴火木星 · Jupiter on Fire",[27,28,29],"sensors","display","audio",[],[],[33,34],"\u002Fapi\u002Fv1\u002Ffiles\u002Ffa9cc725-f63d-4046-87cc-406f55c5b0e7.webp","\u002Fapi\u002Fv1\u002Ffiles\u002F3b8d5701-b347-4429-af2a-ffc7bc51ec2c.webp",[],[],"1.0.0","Apache-2.0",[40],{"type":41,"partitions":42,"iris":43},"iris",[],{"bundle_asset_id":44},"c9fccbbe-8de6-442f-b588-391d68054b3d.irisfw"]