Skip to content

Releases: mateuszsikora/slate

Release list

Slate 0.1.0

Choose a tag to compare

@github-actions github-actions released this 07 Sep 14:59
8ada554

Firmware for the Waveshare ESP32-S3-Touch-LCD-7 carrying the
ESP32-S3-WROOM-1-N16R8 module — 16 MB of flash, 8 MB of PSRAM. The partition
table does not fit an 8 MB module, and vendor documentation for this board
describes one that at least some units are not, so trust the marking printed on
the module.

Install

On a panel that has never run Slate, from a Chromium-based desktop browser with
the board on a USB cable: https://mateuszsikora.github.io/slate/. No toolchain, no ESP-IDF, no
command line. What happens after the flash is on the screen, and the walkthrough
is in the README.

The same four images with esptool instead:

esptool.py --chip esp32s3 write_flash \
  0x0     bootloader-0.1.0.bin \
  0x8000  partition-table-0.1.0.bin \
  0x1d000 ota-data-initial-0.1.0.bin \
  0x20000 slate-0.1.0.bin

On a panel that is already running Slate, only the application image is
needed and no cable is:

SLATE_TOKEN=<administrator session credential> tools/ota/upload.sh <address> slate-0.1.0.bin

That path keeps the dashboard, authentication settings, External API keys and
WiFi credentials, which live outside the application partitions. A full flash
keeps them too unless the flash is erased first — the browser installer offers
that as a checkbox and says what it costs.

Neither command is how most panels will get this release. A panel already running
Slate checks once a day against the manifest published beside the installer page
above, and what it finds waits in the editor's Firmware updates panel until
somebody presses Install — nothing is downloaded by the check, and a wall panel
does not get to reboot itself in the middle of an evening. It verifies the
SHA-256 the manifest names before it makes the image bootable, and the bootloader
returns to the previous version on its own if the new one does not come back.

Verify

b5c37ee0bc42773d16fd102e3d9d218979eac2396654c65b3184d9be7d15232b  bootloader-0.1.0.bin
7d2c7ac4888bfd75cd5f56e8d61f69595121183afc81556c876732fd3782c62f  ota-data-initial-0.1.0.bin
2c353baa240c3a330b47df2b2f0ded62c6055fdbad47b96124804f06efaba6dc  partition-table-0.1.0.bin
49eee775d62ed106c0cd4c64ce437aaf8322a4676f970201bee4a3e0de59b4a0  sdkconfig-0.1.0.txt
d9670d4410c8d0131593f625d3e57f3ea38c303e70e57da72fddd0a2dc4ff16e  slate-0.1.0.bin
0d4ee983b39dcb79debc625cecf12ff50c19c0c587bdeb28f1b2ec2c020f5bf5  slate-0.1.0.elf
c0465e7054510df4e5f2264f368d6dbc0c9f4a3dd849ec1142339d2187b454bf  slate-0.1.0.map

slate-0.1.0.elf and slate-0.1.0.map are what a core dump from
this image symbolicates against, and sdkconfig-0.1.0.txt is the exact
configuration it was built from. Neither is needed to run the firmware; both are
needed to read a crash report about it.

Third-party software

slate-0.1.0.bin is not all Slate's code: LVGL draws it, littlefs stores
its configuration, ESP-IDF and the toolchain run it, the editor inside it is
built with React, three font faces are compiled in, and the certificate
authorities it trusts are Mozilla's. Nor is any of those all its own author's
code — LVGL, ESP-IDF and the toolchain each vendor libraries they did not write,
and those travel in the image too. Each arrives under its own license, and
THIRD_PARTY_NOTICES.md
names them all, with the complete texts in
LICENSES/. Links
rather than files, but links to the tag this image was built from: somebody who
downloaded a binary has no clone to read those notices out of.

Slate itself is MIT-licensed.