Skip to content

PlaiiinLightOS v2.1.2

Latest

Choose a tag to compare

@github-actions github-actions released this 29 Aug 23:36
· 1 commit to main since this release

Firmware build for PlaiiinLightOS v2.1.2.

Forms shipped

tower · wormhole · display · cube · rocket · strip

Every form ships for five SoCs: esp32 (Xtensa, no suffix), esp32s3
(Xtensa, -esp32s3 suffix), esp32c3 and esp32c6 (RISC-V, -esp32c3 /
-esp32c6 suffix) and esp32c5 (RISC-V, -esp32c5 suffix,
experimental — built with IDF v5.5, may be absent from a release),
e.g. tower-flash.bin vs tower-esp32s3-flash.bin vs
tower-esp32c6-flash.bin. Match the asset to your board's chip — a
lamp reports its own via GET /api/ota/info (target).

What's in each form

File Purpose Flash to
<form>-flash.bin USB first-flash (bootloader + partitions + OTA data + app) offset 0x0
<form>-app.bin OTA payload — POST to /api/ota on a running lamp (OTA, no offset)
<form>-effects.bin byForm SPIFFS image (effects + form-template) offset 0x3C0000
<form>.manifest.json ESP Web Tools manifest for browser-based flashing

(For a SoC variant, <form> is the suffixed stem, e.g. strip-esp32c3-flash.bin.)

DIY flash recipes

CLI (esptool) — pass the matching --chip. Every flash.bin is a merged
image starting at 0x0, so the write offset is 0x0 regardless of where the SoC's
ROM expects its bootloader (0x1000 esp32, 0x0 esp32c3, 0x2000 esp32c5):

# esp32 form (e.g. tower)
esptool.py --chip esp32 -p /dev/cu.usbserial-* write_flash 0x0      tower-flash.bin
esptool.py --chip esp32 -p /dev/cu.usbserial-* write_flash 0x3C0000 tower-effects.bin

# esp32c3 variant (e.g. strip / shrumLight)
esptool.py --chip esp32c3 -p /dev/cu.usbmodem* write_flash 0x0      strip-esp32c3-flash.bin
esptool.py --chip esp32c3 -p /dev/cu.usbmodem* write_flash 0x3C0000 strip-esp32c3-effects.bin

# esp32c5 variant
esptool.py --chip esp32c5 -p /dev/cu.usbmodem* write_flash 0x0      strip-esp32c5-flash.bin
esptool.py --chip esp32c5 -p /dev/cu.usbmodem* write_flash 0x3C0000 strip-esp32c5-effects.bin

Browser (ESP Web Tools): point the install button at <form>.manifest.json
(e.g. tower.manifest.json or strip-esp32c3.manifest.json) — the manifest's
chipFamily selects the right target automatically.

Verification

See SHA256SUMS.