Skip to content

Releases

OpenTag Station v1.0.1-beta.6

Pre-release

Choose a tag to compare

@github-actions github-actions released this 21 Oct 19:43
f55d8ae

PRE-RELEASE. Not for general use. This build is for testing and may lose data or
need a USB reflash to recover. It is not offered by the USB installer. If you want a
working station, install the latest stable release instead.

To test it anyway, upload opentag-station-1.0.1-beta.6-application.bin in the station's
web page under Settings → Update. Back up your settings first.

Pre-release for testers. One new setting. Not run on a WT32 by the author; see "Needs a station".

Display

  • The screen can be turned upside down. Browser: Settings → Display → Screen orientation,
    Normal or Upside down (turned 180°). The touchscreen, including touch, turns at once and
    keeps the orientation after a restart. Settings key device.display_rotation, 0 or 180;
    GET /api/v1/config reports it and PATCH /api/v1/config accepts it under device. Any other
    value is refused. Older saved settings without the key mean 0.

Needs a station

  • Set the orientation to upside down in the browser and check that the screen turns without a
    restart, that touches land where they are shown (tap each of the five pages), that the setting
    survives a reboot, and that Normal turns it back.

OpenTag Station v1.0.1-beta.5

Pre-release

Choose a tag to compare

@github-actions github-actions released this 21 Oct 18:30
f2f880c

PRE-RELEASE. Not for general use. This build is for testing and may lose data or
need a USB reflash to recover. It is not offered by the USB installer. If you want a
working station, install the latest stable release instead.

To test it anyway, upload opentag-station-1.0.1-beta.5-application.bin in the station's
web page under Settings → Update. Back up your settings first.

Pre-release for testers. First step of the tag-support roadmap (#93): the reader now also looks
for ISO 14443A (NFC-A) tags and names them. Nothing is read from them yet. Not run on a WT32 by
the author; see "Needs a station" below.

NFC

  • NTAG, MIFARE and other NFC-A tags are found and named. Each poll cycle still asks for
    NFC-V (ISO 15693) tags first, exactly as before. Only when that finds nothing, and no NFC-V tag
    is being tracked, does the same cycle also run an ISO 14443A detection (REQA and anticollision).
    So an OpenPrintTag is found and lost on the same polls as in 1.0.1-beta.4; the only added cost
    is one short NFC-A request on cycles with no NFC-V tag.
  • An NFC-A tag is reported with its NFCID1, SAK and ATQA and a kind derived from the SAK (NXP
    AN10833): type2 (NTAG, MIFARE Ultralight), mifare_classic, type4 or other. Nothing on
    the tag is read, it is not looked up in Spoolman, and the automatic weigh does not start for it.
  • Touchscreen: Home shows "TAG FOUND" / "Tag type not supported yet" with the kind; the Tag page
    shows the kind and the ID; the NFC READER setup step says "Tag found. Its type is not supported
    yet." Browser: the Dashboard shows "Tag type not supported yet" / "Not supported yet", Manage
    tag names the kind, and "Multiple NFC-A tags detected" when there are several.
  • API: GET /api/v1/nfc gains technology (nfcv, nfca or null) and, for an NFC-A tag, the
    state unsupported_technology, lifecycle UNSUPPORTED_TYPE, the NFCID1 as uid and an nfca
    object (nfcid1, length, sak, atqa, kind, description). inventory.technology now
    names the technology of the tag on the reader.
  • The serial diagnostic line adds technology= and, for an NFC-A tag, its NFCID1, SAK, ATQA and
    kind.
  • The production NFC check (tools/check_production_nfc.py) permits exactly three NFC-A RFAL
    calls (mode switch, technology detection, collision resolution) in the I2C driver only, and
    the ELF check now also fails if a Type 2 read or write, ISO-DEP or NFC-DEP routine is linked.

Needs a station

  • Detection and removal timing of an OpenPrintTag before and after this change, and the
    detection of an NTAG and a MIFARE Classic tag, have not been measured by the author. The
    acceptance steps are in the pull request for this release and in issue #93.

OpenTag Station v1.0.1-beta.4

Pre-release

Choose a tag to compare

@github-actions github-actions released this 21 Oct 17:58
92deef6

PRE-RELEASE. Not for general use. This build is for testing and may lose data or
need a USB reflash to recover. It is not offered by the USB installer. If you want a
working station, install the latest stable release instead.

To test it anyway, upload opentag-station-1.0.1-beta.4-application.bin in the station's
web page under Settings → Update. Back up your settings first.

Pre-release for testers. The Community catalog is gone, and the leftovers from the 1.1 cleanup
list that needed screenshots or a station are done. Nothing in this list has been run on a
WT32 yet; see "Needs a station" below.

Removed

  • The Community filament catalog is deleted (#86). It was disabled since 1.0.0-rc.9 and
    never part of a release. Gone with it: the catalog service, its download and gzip decoder,
    the writer's import actions (community_*, import_preview, import), the browser's
    "Find in Community" source and Settings card, the touchscreen's Community choice, the
    OPENTAG_ENABLE_COMMUNITY switch, the native-community test environment and the 2.4 MB
    community/community.pack. The writer now rejects those actions as unknown. The factory
    image still erases the filesystem (its part is now called factory-littlefs.bin and must
    be empty), and a factory reset also deletes /community.pack, /community.new and
    /community.old that a station flashed before 1.0.0-rc.9 may still hold.
  • POST /api/v1/nfc/read is removed. It always answered 503: the reader reads a tag when it
    is placed. Use GET /api/v1/nfc.
  • Test-only settings code (export_json, import_json, clear_spool_identity_mapping) is
    removed together with its tests.

Touchscreen

  • The Home WEIGH button only weighs. It no longer turns into CALIBRATE or WRITE TAG. It is
    disabled until the scale is calibrated, and the weight line then says "Scale not calibrated";
    calibration lives on the Weigh page, writing a blank tag under Manage tag.
  • The tag review shows the writer's other warnings: an interrupted write that this write
    completes, optional data not set in Spoolman ("Optional data not set: gtin, manufactured
    date and 2 more"), and any other note the writer adds. Fields that will not be written were
    already listed.
  • Choosing a spool on the "Which spool is this?" page now shows "Linked to spool #N" under
    the tag until Spoolman confirms the link. A refused choice says the station is busy.
  • If the settings storage cannot be read, the Home screen says so and tells you to reinstall
    the firmware with the USB installer; the browser shows the same message from /health.

Robustness

  • Tag writes and weight saves are refused while a restart is pending (a reboot, factory
    reset, firmware update or the health check of new firmware). This covers the automatic
    weight save after a weigh. Only the catalog search stays available. The answer is "The
    station is restarting, resetting or checking new firmware. Try again after it has restarted."
  • A reset marker with an unreadable filesystem no longer reboots in a loop. The station
    stays up with storage failing closed and reports the problem instead of restarting into the
    same recovery.
  • Skipping a recovery names the tag. discard_recovery now needs the tag's UID and is
    refused for another tag ("This recovery belongs to tag ..."). The browser's clear dialog ends
    in "Recovery skipped" with a Done button.
  • wifi.auto_reconnect: false now opens the setup network after the first failed
    connection.
    Before, the station stopped trying but never opened it, because the failure
    count it waits for could not be reached.

Docs

  • The toolhead profile fields nozzle_material and maximum_temperature_c are stored for a
    future compatibility check and have no visible effect yet.

Needs a station

  • Everything above is covered by host tests and CI only. In particular: the refusal while a
    restart is pending, the behaviour with an unreadable filesystem, the setup network with
    auto_reconnect: false, and the Home button and tag review wording on the real screen.

OpenTag Station v1.0.1-beta.3

Pre-release

Choose a tag to compare

@github-actions github-actions released this 21 Oct 15:50
84b2bfa

PRE-RELEASE. Not for general use. This build is for testing and may lose data or
need a USB reflash to recover. It is not offered by the USB installer. If you want a
working station, install the latest stable release instead.

To test it anyway, upload opentag-station-1.0.1-beta.3-application.bin in the station's
web page under Settings → Update. Back up your settings first.

Pre-release for testers. Reliability fixes for rare cases; nothing changes in normal use.

  • Settings survive a power cut during recovery. If the main settings file was damaged and the
    station restored them from its backup, saving the restored copy replaced the only good backup
    first. A power cut at that moment lost the settings. Recovery now writes the main file and
    leaves the backup alone.
  • Clearing a tag works when Spoolman holds the spool's UUID in capitals. The tag carries the
    UUID in lower case, so the station refused to unlink with "Owner instance UUID changed". UUIDs
    are compared without regard to case. A genuinely different UUID is still refused.
  • A zero empty-spool weight on the spool no longer hides the filament's or vendor's weight.
    The tag now gets the first weight above 0 (spool, then filament, then vendor). A 0 is written
    only when nothing is above 0, as before.
  • A wrong value in Spoolman now names the field. A weight, density or name that is negative or
    the wrong type used to report "does not fit this tag". It now says which Spoolman field to
    correct. "Does not fit this tag" remains for real lack of space.
  • A flaky NFC reader no longer floods the browser. Each NFC bus error triggered a refresh. The
    count is still in the NFC data; it just no longer pushes updates.

Not in this release: refusing writes and weight saves while a restart is pending (needs a station
to test), and the screenshot-related items from the 1.1 cleanup list.

OpenTag Station v1.0.1-beta.2

Pre-release

Choose a tag to compare

@github-actions github-actions released this 21 Oct 02:11
34cc568

PRE-RELEASE. Not for general use. This build is for testing and may lose data or
need a USB reflash to recover. It is not offered by the USB installer. If you want a
working station, install the latest stable release instead.

To test it anyway, upload opentag-station-1.0.1-beta.2-application.bin in the station's
web page under Settings → Update. Back up your settings first.

Pre-release for testers. Internal cleanup; nothing changes for a user.

  • Removed code that only the tests used: the first-generation tag writer, the SPI bring-up for
    the NFC chip, the shared-I2C diagnostic, an unused tag-presence state machine, the runtime task
    table and the event queue. Their tests went with them. The code that reads and writes tags on a
    station is unchanged.
  • The tag-protocol check (check_production_nfc.py) now fails if any of the removed files comes
    back.
  • Removed two unused fields (boot_started_ms_, the Wi-Fi scan list in the diagnostics snapshot).
  • Documented that the reader driver has no host test.

OpenTag Station v1.0.0

Choose a tag to compare

@github-actions github-actions released this 17 Oct 23:14
84c3c7f

Update a running station (keeps settings and calibration): in the station's web page open
Settings → Update and upload opentag-station-1.0.0-application.bin from this release.

New station or recovery (erases settings and calibration): use the
USB installer, which installs this same build.

The first release. Everything below is in it.

Identify and weigh

  • Place a spool with an OpenPrintTag on the station and it reads the tag and finds the spool in
    Spoolman. Spoolman stays the record of what you own. If Spoolman was unreachable, the station
    looks the spool up again by itself when Spoolman is back.
  • Weigh measures the spool. Update Spoolman saves the remaining weight. Nothing is saved
    until you ask; saving automatically after each Weigh is a setting and is off by default.
  • Scale support for the NAU7802 amplifier with a YZC-133 load cell (5 kg by default, 2 kg
    selectable), with tare and calibration.

Tags

  • Write a blank NXP ICODE SLIX2 tag from a spool in Spoolman, update a tag after the spool
    changed, or move a tag to another spool. You can pick an existing spool or create one from a
    filament, on the touchscreen or in the browser.
  • The station checks every block after writing it and reads the whole tag again at the end. If a
    write or clear is interrupted, it offers to finish it the next time that tag is on the reader,
    or to skip it if the tag is lost.
  • Clear / Reuse erases a tag and removes its link in Spoolman. The spool stays in Spoolman.
  • Writing is one confirmation: pick the spool, check what will be written, Write tag. The
    station asks again only when the tag belongs to another spool or holds other data. The preview
    lists anything that does not fit on the tag (a long name or material, several colours).
  • Reading and writing show their progress, and the spool's colour is shown on the result.
  • With Spoolman 0.27 or later the station also uses Spoolman's own tag list: writing a tag links
    it to the spool there, clearing removes it, and a tag Spoolman links to a spool is recognised
    even if it holds no OpenPrintTag data. The two Spoolman extra fields are then optional. Each
    tag placed on the station is reported to Spoolman, so a Spoolman page paired with the station
    jumps to the spool.

Printer

  • Assign the spool on the station to a toolhead (T1–T5) through FilaBridge. The station asks
    before it replaces a loaded spool or changes a printer that is printing, and checks afterwards
    that FilaBridge accepted the change.

Station

  • A touchscreen with Home, Weigh, Assign, Tag and Settings views, and a web page with Dashboard,
    Inventory, Printer and Settings. Firmware updates, settings export and factory reset are in
    the browser only.
  • First-time Wi-Fi setup on the touchscreen, or through an open setup network
    OpenTag-Setup-XXXX and a browser. A setup network you start yourself closes after 10
    minutes; on a station with an access token, the token is still needed over it.
  • An optional access token for the web page, and settings export and import that never include
    passwords or tokens.
  • Firmware updates from the browser keep your settings. After an update the station checks
    itself for 30 seconds and returns to the previous firmware if something is wrong.
  • A USB installer for new stations and recovery at https://76cb.github.io/OpenTag-Station/.
    It erases settings and calibration.

Good to know

  • The station works on your local network over plain HTTP. Do not expose it to the internet.
  • Firmware files are not signed. Only install files from
    https://github.com/76cb/OpenTag-Station/releases.
  • Supported hardware is the WT32-SC01 Plus with an ST25R3916B NFC reader. Only NXP ICODE SLIX2
    tags can be written.
  • Saving weights needs Spoolman 0.26 or 0.27. Assigning toolheads needs FilaBridge 1.2.1 or 1.2.2.
  • The Community filament catalog is not part of this release.

The manual is at https://76cb.github.io/OpenTag-Station-Docs/.

Each release has these files: opentag-station-<version>-application.bin (update from the
browser), opentag-station-factory.bin (USB installer image), manifest.json,
build-metadata.json and SHA256SUMS.

OpenTag Station v1.0.0-rc.23

Pre-release

Choose a tag to compare

@github-actions github-actions released this 17 Oct 22:06
5346c96

Update a running station (keeps settings and calibration): in the station's web page open
Settings → Update and upload opentag-station-1.0.0-rc.23-application.bin from this release.

New station or recovery (erases settings and calibration): use the
USB installer, which installs this same build.

The fixes for 1.0 found when the open issues were re-checked (#84). This candidate also contains
rc.22 (touchscreen button colours), which was not published separately.

Safety

  • The setup network you start from the browser now closes by itself after 10 minutes, and
    Stop setup network closes it at once. The touchscreen Settings line shows "closes in N min".
    It can't be stopped while it is the only way to reach a station that has no working Wi-Fi.
  • Tagging many spools in a row from the browser no longer ends in "Idempotency ledger is full":
    browsing and searching the spool list no longer use up request slots, and slots of finished
    requests are reused.

Finding the spool

  • A tagged spool is looked up in Spoolman as soon as it is placed. Before, the lookup waited for a
    steady weight, so an uncalibrated scale (or one waiting for a tare) meant tags were never
    identified.
  • If Spoolman or Wi-Fi was down when the spool was placed, the station looks the spool up again
    by itself when Spoolman is back (up to three times, spaced further apart each time). You no
    longer need to lift and replace the spool. If Spoolman answers but the lookup fails, both
    interfaces say "The Spoolman lookup failed: …" and still let you link the tag by hand.
  • While Spoolman is unreachable or the lookup is running, the touchscreen Manage tag page and the
    browser dashboard say so ("Spoolman is not reachable…", "Looking up this spool in Spoolman…")
    instead of calling the tag "not linked".

Writing tags

  • The preview lists anything that will not be written to the tag: a name, vendor, material or
    article number that is too long, a material type the tag can't store (such as "PLA Matte" or
    "PLA+"), or several colours. Browser: "Not written to the tag:"; touchscreen: "Not written: …".
    Before, these were left out without a word.
  • A single tag-reader error no longer blocks every write and erase until a restart. A write fails
    only if the reader reports an error during that write: "The tag reader reported an error during
    this step. Try again."
  • Spool lists with large entries no longer fail a whole page: the station fetches fewer rows at a
    time, and both interfaces page correctly through shorter pages.
  • Tag actions are named after what they do. "Assign" is only used for printer toolheads:
    WRITE TAG / Write tag for a blank tag, USE FOR ANOTHER SPOOL for a linked tag,
    Write tag for a spool in the browser.

Scale and weighing

  • Tare is refused when the platform is not empty: "The platform is not empty (reads X g). Remove
    everything, then tare. If it is empty, tare again within 15 seconds." A second tare within 15
    seconds is accepted, for the case where the zero itself has moved.
  • After a power glitch to the scale, the station reconnects to it by itself instead of needing a
    restart.
  • Weigh can't be started while a weight is still being saved to Spoolman; the button reads
    "Saving to Spoolman…" and a refused weigh says why.
  • The touchscreen Weigh page only shows a result for the spool that is on the station. After a
    swap it no longer offers to save the previous spool's weight.
  • Tare and calibration results, including failures, stay on the touchscreen until your next tap.

Touchscreen

  • Main actions are mint, erasing is red and other choices are grey on every screen (rc.22),
    including the setup guide, About and the toolhead question.
  • Setup: Next waits for the save and stays on the step with the reason if it failed. The printer
    list shows the printer that is saved.
  • The brightness set in Settings is kept after a restart, and display settings saved in the
    browser apply at once. About no longer has its own brightness slider.
  • About ten messages that described the software's internals are rewritten in plain words, and
    common errors on the tag failure page are explained.

OpenTag Station v1.0.0-rc.22

Pre-release

Choose a tag to compare

@github-actions github-actions released this 17 Oct 20:25
5d1c103

Update a running station (keeps settings and calibration): in the station's web page open
Settings → Update and upload opentag-station-1.0.0-rc.22-application.bin from this release.

New station or recovery (erases settings and calibration): use the
USB installer, which installs this same build.

Touchscreen button colours

  • The main action on each touchscreen screen is now drawn in the product's mint colour:
    WRITE TAG, ASSIGN TAG, CONTINUE, WEIGH on TAG READY, CHOOSE EXISTING SPOOL,
    FINISH WRITING and the like. Erasing stays red. BACK, DONE and other secondary
    choices stay grey. Before, every tag button except the red ones was grey.
  • The setup guide, About this station and the toolhead confirmation no longer use LVGL's
    default blue. In setup, Next/Finish, Save and (until the scale is calibrated)
    CALIBRATE NOW are mint; Back, Home and Scan are grey. In the toolhead question,
    Assign is mint, and Replace or Assign anyway (during an active print) is red.

OpenTag Station v1.0.0-rc.21

Pre-release

Choose a tag to compare

@github-actions github-actions released this 17 Oct 19:25
397cc39

Update a running station (keeps settings and calibration): in the station's web page open
Settings → Update and upload opentag-station-1.0.0-rc.21-application.bin from this release.

New station or recovery (erases settings and calibration): use the
USB installer, which installs this same build.

Writing and erasing tags: fewer steps, one reminder

  • Touchscreen: tapping a spool in MY SPOOLS reads the tag and opens the review page straight
    away; "Use this spool?" is gone. After CREATE SPOOL the review page opens by itself.
  • Touchscreen: "Move this tag?" is now the review page itself, not an extra page before it. It also
    appears when the station's preview finds that the tag belongs to another spool, and a tag that
    holds another spool's data shows "This tag holds another spool's data. Writing replaces it."
    Before, the touchscreen showed the generic text in those cases.
  • Browser: Continue reads the tag at once and shows the preview; the separate Review step and
    its Preview tag click are gone. The steps are Select → Preview → Write → Done; an Edit
    step appears only while editing. Write tag asks no further question for an ordinary write;
    the extra question (and a red button) remains when the tag belongs to another spool, holds other
    data, or has an interrupted write. "Create this physical spool in Spoolman?" is gone.
  • "Keep the tag on the reader." appears once, and only while the tag is read, written, checked or
    erased. While only Spoolman is updated the browser now says "The tag is written. Saving the link
    in Spoolman…" (or "The tag is erased. Removing the link in Spoolman…"); before, it still asked to
    keep the tag on the reader.
  • After a finished clear in the browser, Done closes the dialog instead of reopening Manage tag.

Reading progress

  • The full read before a write or clear reports its progress (160 block reads, both passes).
    Touchscreen and browser show a progress bar; the background read shows a spinner with
    "Reading tag" / "Hold the spool still."
  • Two tags on the reader now show "Two tags on the reader. Remove one." on the touchscreen and
    "Tag not read" in the browser, instead of "Reading tag…" that never ends.
  • Progress messages from the station are plain: "Reading tag", "Checking tag", "Writing tag",
    "Erasing tag", "Verifying tag".

Spool colour

  • The touchscreen review and TAG READY pages show a ring in the spool's colour; the browser
    preview and result show a spool picture in that colour.
  • Home on both interfaces uses the Spoolman spool's colour when the tag itself has none.
    The spool API now includes primary_color.

Setup and About

  • The setup network OpenTag-Setup-XXXX is open; there is no password to read off the screen.
    When it comes back on a station that already has Wi-Fi saved, a station with an access token
    still requires the token over it.
  • The first setup page no longer shows "Configuration schema 3". It says "Tap Next to start", or,
    on a station that is set up, that you can review a step or go Home.
  • About this station is one scrolling column in a larger font, one value per line, in the
    sections Network, Scale and screen, System and Memory.

Scale

  • Every tare, including the zero step of a calibration, first re-runs the scale converter's own
    offset calibration, so the zero matches the converter's current temperature. If that tare then
    does not finish, weighing asks for a new tare instead of using a zero that no longer fits.
  • Both calibration screens advise calibrating after the station has been on for about 15 minutes.
    Troubleshooting explains warm-up drift and load-cell creep.

Releases

  • Every version merged to main is published automatically as a GitHub release (a pre-release
    for candidates) with the update file, and the USB installer is built from that same release.

OpenTag Station v1.0.0-rc.20

Pre-release

Choose a tag to compare

@github-actions github-actions released this 17 Oct 18:22
3fe649f

Update a running station (keeps settings and calibration): in the station's web page open
Settings → Update and upload opentag-station-1.0.0-rc.20-application.bin from this release.

New station or recovery (erases settings and calibration): use the
USB installer, which installs this same build.

Spoolman 0.27 tag support

  • Writing a tag now also links it to the spool in Spoolman's own tag list (Spoolman 0.27 or
    later). Moving a tag removes it from the previous spool first, and clearing a tag removes it.
    These steps are part of saving the link in Spoolman, so the existing retry and recovery
    prompts cover them.
  • The station finds the spool through Spoolman's tag list first. A tag Spoolman links to a spool
    is recognised even if it holds no OpenPrintTag data, for example a blank tag you linked in
    Spoolman yourself: Home shows its spool, and Weigh and Assign work.
  • Tag IDs are matched in both byte orders, because some phones report them reversed.
  • On Spoolman 0.27 or later the two extra fields are optional. When they exist the station still
    fills them; when they don't, it uses Spoolman's tag list only and no longer warns about them.
  • Each tag placed on the station is reported to Spoolman, so a Spoolman page paired with the
    station (Spoolman: Settings > Tag Scanning) jumps to its spool.
  • A tag that Spoolman links to a filament, or to two spools, is refused before anything is written.

Fixes

  • Saving weights works with every Spoolman 0.26 and 0.27 release, not only 0.26.1.
  • After start-up or a Spoolman outage the station learns Spoolman's version again right away.
    Before, weight saving could stay off for up to five minutes.
  • A tag at the edge of the reader's range no longer flickers: one missed check is tolerated, and
    a read that fails part-way is retried after half a second instead of showing an error and
    waiting five seconds.