Artifacts view¶
The history of every firmware build uploaded to the project.
Columns¶
| Column | Notes |
|---|---|
build_number |
Project-scoped, monotonic, never reused. |
framework |
From the manifest. |
chip_family |
From the manifest. |
board_id |
From the manifest. |
size |
Binary size. |
sha256 |
Truncated; click to copy full digest. |
uploaded_at |
Server time at upload. |
deployments |
Count of active deployments referencing this artifact. |
Upload form¶
Drag-and-drop the binary, paste or upload the manifest JSON. The form validates the manifest before accepting the upload; a bad manifest fails fast with an inline error.
Upload the app image, not a merged/factory image
Upload the application binary: for the Arduino toolchain that is
sketch.ino.bin. Do not upload the sibling build outputs the
toolchain also produces:
sketch.ino.merged.bin(bootloader + partition table + app, ~4 MB)sketch.ino.bootloader.bin,sketch.ino.partitions.binsketch.ino.elf,sketch.ino.map
An OTA update rewrites only the app partition, so a merged/factory
image (which includes the bootloader and partition table and is far
larger than one app partition) can never fit and the device rejects
it with update_begin_failed. SimpleOTA shows an advisory warning
when an upload's filename looks like one of these, but still accepts
it, so double-check you selected the right file.
If you've hit your monthly artifact upload limit (Free plan: 10 / 30 days), the upload form blocks with a link to Billing → Upgrade.
Detail page¶
Clicking an artifact shows:
- Full manifest as pretty-printed JSON.
- All deployments that have ever included this artifact.
- A list of devices that successfully installed it (paginated).
- A "delete artifact" button if no active deployment references it.
Deleting an artifact removes the binary from object storage but does not rewrite history; the audit log still says "device X received build Y at time T".