Skip to content

Releases: djvalic/kiln-os

Kiln OS v0.0.32

Choose a tag to compare

@djvalic djvalic released this 28 Oct 08:48

Kiln OS v0.0.32

Contains no Flashforge files: a first install copies them from the
printer itself (see docs/install.md).

New install from the stock firmware: kiln-os-v0.0.32-install.zip (docs/install.md).
Your stock/zMod settings and configs are not carried over (back them up),
Kiln OS updates the boards' firmware itself at its first start.

Printers on Kiln OS: Fluidd → Settings → Software Updates → Kiln OS → Update.
By hand: kiln-os-v0.0.32-update.zip on a USB stick while the recovery OS runs.

Source code: this repository at v0.0.32; third-party sources in the
sources release,
listed with their licences in kiln-os-v0.0.32-licenses.tar.gz.

What's new

Added

  • IFS Klipper mode (code only, not active in this release): ifs.py can drive the filament unit's feeder and selector through Klipper (mode: auto in ifs.cfg, klipper/generic-flashforge-ifs.cfg) instead of the serial link. It needs the IFS board running Klipper firmware, which this release does not include, and it is only tried if /data/ad5x/ifs-klipper.enable exists. No file is created by default, so the IFS keeps its Flashforge firmware and serial link as before. Code from GitHub pull request #16 by Hunter Laux (docs/deviations-from-stock.md).
  • Half-duplex serial keep-alive (GitHub pull request #16 by Hunter Laux, for the IFS on Klipper firmware): the keep-alive waits 20 ms after every command, not only after the last poll, so it cannot land on a command on the shared RS-485 line (buildroot/package/klipper/0001-serialhdl-add-half-duplex-RS-485-TDD-support.patch). Only used in the IFS Klipper mode, so not in this release.

Fixed

  • Homing leaves the bed 5 mm off the Z stop: after G28 Z the nozzle is lowered to Z 215, so the swap's +5 mm lift no longer runs the bed into the top of Z travel. Z zero and the mesh are unchanged.
  • IFS flash stops when the bootloader erase fails (ad5x-mcu flash-ifs, boot path): ifsF37's exit status is checked before IFSCommand writes anything; a failure is logged to /data/ad5x/mcu/ifsF37.log and the flash stops. Before, the write went ahead regardless. Only in the IFS Klipper mode, so not in this release.
  • IFS as a Klipper MCU: IFS_STOP cuts a push (IFS Klipper mode, not in this release; klipper/extras/ifs.py): the push moves the feeder and extruder in short steps, so a stop switches the feeder off within one step. Before, the whole push ran on after IFS_STOP.
  • IFS as a Klipper MCU: a load with no toolhead sensor stops at the length limit (IFS Klipper mode, not in this release): the feeder has no stall detection, so without head_sensor a load used to run its full length and report success. It now fails with an error at load_length, and a warning at start says so.
  • IFS as a Klipper MCU: a selector that does not find its endstop fails the load (IFS Klipper mode, not in this release): the homing error names the endstop, and the selector motor is switched off. Before, the G-code error escaped without a reset.
  • IFS as a Klipper MCU: a stop during the wait for queued moves is kept (IFS Klipper mode, not in this release; not yet covered by a test): IFS_STOP pressed while an earlier move still runs is no longer cleared before the next command starts. IFS errors name a failed reset, in both modes: after an error the reset runs (F15 on the serial link, the motors off in MCU mode); if it fails, the error says so instead of hiding it.

Kiln OS v0.0.31

Choose a tag to compare

@djvalic djvalic released this 27 Oct 21:14

Kiln OS v0.0.31

Contains no Flashforge files: a first install copies them from the
printer itself (see docs/install.md).

New install from the stock firmware: kiln-os-v0.0.31-install.zip (docs/install.md).
Your stock/zMod settings and configs are not carried over (back them up),
Kiln OS updates the boards' firmware itself at its first start.

Printers on Kiln OS: Fluidd → Settings → Software Updates → Kiln OS → Update.
By hand: kiln-os-v0.0.31-update.zip on a USB stick while the recovery OS runs.

Source code: this repository at v0.0.31; third-party sources in the
sources release,
listed with their licences in kiln-os-v0.0.31-licenses.tar.gz.

What's new

Fixed

  • Kernel (test boot first): eMMC clock cap 50 MHz (kernel-ingenic66/ad5x.dts): stock caps the eMMC at 25 MHz; HS200 was negotiated and reads ran at about 21 MiB/s. Needs a test boot: 10 cold boots, no mmc errors, a read/write loop.

  • Kernel (test boot first): CMA reserve 32 MB to 16 MB (kernel-ingenic66/ad5x.config): about 8 MB is in use. Needs a test boot: display and camera come up on a cold boot.

  • Kernel (test boot first): DMA probe no longer logs "IRQ pdmam not found" (kernel-ingenic66/patches/0008): the X2600 PDMA node has no pdmam interrupt; the lookup is now optional.

  • Kernel (test boot first): ifconfig eth0 hw ether no longer warns "Incorrect netdev->dev_addr" (kernel-ingenic66/patches/0009): the address setter updates both copies.

  • Webcam name: the first camera is named "Chamber/Bed" in Fluidd, HelixScreen and Moonraker (was "camera1"). Later cameras keep "Camera n". Set in init.d/S64ad5x-camera; takes effect on the next boot.

  • Webcam: the dead USB device is no longer the main camera: a UVC device with ID 0bda:d565 ("Snapshot Camera", on the board's OTG port) answered no probe, so the main webcam tile was dead while the bed camera on the hub worked. The camera script now skips that ID (CAMERA_IGNORE in init.d/S64ad5x-camera), so the bed camera is camera 1. Needs a printer test boot: /webcam/?action=snapshot returns a JPEG of the bed.

  • Motor currents set to the community values (klipper/ad5x.cfg): X and Y run 1.1 to 0.9 A RMS, Z 0.9 to 0.6 A RMS (hold the same). The values come from the AD5M shipping settings, which the community reports working. Needs a printer check: a long print for step loss on X, Y and Z (Z under bed load), and a homing repeat test.

  • Homing: Y back-off no longer zeroes Z (klipper/ad5x.cfg, _HOME_ZXY): G28 Y with Y already on its endstop set Z to 0 without homing Z. Z now keeps its current height. Needs a printer check: G28 Y with the carriage on the Y endstop, then GET_POSITION.

  • Docs: MCU version, RAM and homing notes now match the printer (MCU v0.13.0-803, N32G455 128 KB RAM patch, the back-off difference from stock).

  • Runout sensor during swaps: the toolhead sensor is now switched off during an IFS swap and put back to its previous state after it (klipper/ifs.cfg). The sensor was forced back on after a swap, even if it had been off before. It is now put back to the state it had. Needs a printer check: a multi-colour print with the sensor on.

  • Print start purge: a colour already in the nozzle gets the prime line instead of a second 90 mm purge. A colour that has to be loaded skips the box purge, because the IFS swap purges (macros/print_start.cfg). Needs a printer check: the first layer after the first colour.

  • Print start retraction: the 3 mm retraction the start leaves is put back on every path (prime line, IFS purge, prime line off, no room on the plate), so the first extrusion is not short (macros/print_start.cfg, macros/prime_line.cfg).

  • Print start checks: a BED or EXTRUDER that is not a number (an unexpanded placeholder) stops the start with an error, instead of heating to 0. The factory fallback PRINT_START checks TOOL the same way (ad5x.cfg).

  • Print without a saved centre Z: the start stops with an error and runs BED_MESH_CALIBRATE first. Before, the print ran with no mesh loaded (klipper/ad5x.cfg, _CHECK_Z_APPLY).

  • Quick actions and IFS_PURGE_TEST keep the extrusion mode: LOAD_FILAMENT, UNLOAD_FILAMENT (without an IFS) and IFS_PURGE_TEST put back the M82/M83 mode they found (macros/quick_actions.cfg, klipper/ifs.cfg).

  • IFS_PURGE_RESULT without DOT= gives a clear error (klipper/ifs.cfg).

  • UNLOAD_FILAMENT with a lane Kiln has no record of (issue #13): when ifs_loaded is 0 but the IFS reports the selected lane as holding filament, UNLOAD_FILAMENT runs IFS_UNLOAD on that lane instead of a plain 50 mm retract. The plain retract is only used when no lane is loaded (macros/quick_actions.cfg). Needs a printer check: a lane loaded under zMod, then UNLOAD_FILAMENT.

  • A failed IFS unload releases the lane (issue #13): when an unload fails, the lane is released after the error, so the spool can be pulled by hand. Not after IFS_STOP (klipper/extras/ifs.py, _unload_toolhead). Needs a printer check: an unload that fails with the toolhead sensor still reading filament.

  • Board fan during long macros (issue #17): the board fan (pcb_fan, cools the TMC2209 drivers) is kept on by a reactor timer, [pcb_fan_watch] (klipper/extras/pcb_fan_watch.py), instead of a delayed_gcode that waited behind a long macro such as bed leveling. Same rule: on while a motor or heater is on or a print runs, off 30 s after. Needs a printer check: a bed level with the fan on, and the fan off 30 s after the level.

  • Wi-Fi (USB rtw88) crash at boot fixed (kernel-ingenic66/patches/0010): receive started before mac80211 had a channel, and the receive status read a NULL channel. Receive now starts after the hardware is registered, as upstream does. Needs a kernel test boot before release: no oops in dmesg, Wi-Fi associates.

  • Wi-Fi regulatory database built into the kernel (kernel-ingenic66/ad5x.config, build.sh, ad5x-kernel66.mk): cfg80211 asks for regulatory.db before the root filesystem is mounted, so the file on /lib/firmware was never found. It is now built in with its signature, from the wireless-regdb package. Needs a printer check after the next kernel build: no "failed to load regulatory.db" in dmesg, and iw reg get shows a country.

Changed

  • IFS swaps refuse an empty slot before anything is cut: a tool change to a slot with no filament stops with an error (klipper/extras/ifs.py, same check as IFS_MAP_TOOL).
  • Shared-slot warning: at print start, a message when two tools map to one slot but the file names different filament for them. A message only; nothing else changes.
  • CLEAR_NOZZLE description now says it moves to the purge box and brushes, with no purge and no heating.

Kiln OS v0.0.30

Choose a tag to compare

@djvalic djvalic released this 27 Oct 12:27

Kiln OS v0.0.30

Contains no Flashforge files: a first install copies them from the
printer itself (see docs/install.md).

New install from the stock firmware: kiln-os-v0.0.30-install.zip (docs/install.md).
Your stock/zMod settings and configs are not carried over (back them up),
Kiln OS updates the boards' firmware itself at its first start.

Printers on Kiln OS: Fluidd → Settings → Software Updates → Kiln OS → Update.
By hand: kiln-os-v0.0.30-update.zip on a USB stick while the recovery OS runs.

Source code: this repository at v0.0.30; third-party sources in the
sources release,
listed with their licences in kiln-os-v0.0.30-licenses.tar.gz.

What's new

Fixed

  • Motor currents set to the community values for X and Y (klipper/ad5x.cfg): X and Y run 1.1 to 0.9 A RMS. The Z current stays at stock. The values come from the AD5M shipping settings, which the community reports working. Needs a printer check: a long X/Y print for step loss, and a homing repeat test.

  • Homing: Y back-off no longer zeroes Z (klipper/ad5x.cfg, _HOME_ZXY): G28 Y with Y already on its endstop set Z to 0 without homing Z. Z now keeps its current height. Needs a printer check: G28 Y with the carriage on the Y endstop, then GET_POSITION.

  • Docs: MCU version, RAM and homing notes now match the printer (MCU v0.13.0-803, N32G455 128 KB RAM patch, the back-off difference from stock).

  • Runout sensor during swaps: the toolhead sensor is now switched off during an IFS swap and put back to its previous state after it (klipper/ifs.cfg). The sensor was forced back on after a swap, even if it had been off before. It is now put back to the state it had. Needs a printer check: a multi-colour print with the sensor on.

  • Print start purge: a colour already in the nozzle gets the prime line instead of a second 90 mm purge. A colour that has to be loaded skips the box purge, because the IFS swap purges (macros/print_start.cfg). Needs a printer check: the first layer after the first colour.

  • Print start retraction: the 3 mm retraction the start leaves is put back on every path (prime line, IFS purge, prime line off, no room on the plate), so the first extrusion is not short (macros/print_start.cfg, macros/prime_line.cfg).

  • Print start checks: a BED or EXTRUDER that is not a number (an unexpanded placeholder) stops the start with an error, instead of heating to 0. The factory fallback PRINT_START checks TOOL the same way (ad5x.cfg).

  • Print without a saved centre Z: the start stops with an error and runs BED_MESH_CALIBRATE first. Before, the print ran with no mesh loaded (klipper/ad5x.cfg, _CHECK_Z_APPLY).

  • Quick actions and IFS_PURGE_TEST keep the extrusion mode: LOAD_FILAMENT, UNLOAD_FILAMENT (without an IFS) and IFS_PURGE_TEST put back the M82/M83 mode they found (macros/quick_actions.cfg, klipper/ifs.cfg).

  • IFS_PURGE_RESULT without DOT= gives a clear error (klipper/ifs.cfg).

  • Spoolman grams on the slot tile: a slot linked to a Spoolman spool shows its remaining grams under the material (for example 750g), where it used to show nothing. Slots without a Spoolman link are unchanged (HelixScreen patch 0027, ams_state.cpp).

  • UNLOAD_FILAMENT with a lane Kiln has no record of (issue #13): when ifs_loaded is 0 but the IFS reports the selected lane as holding filament, UNLOAD_FILAMENT runs IFS_UNLOAD on that lane instead of a plain 50 mm retract. The plain retract is only used when no lane is loaded (macros/quick_actions.cfg). Needs a printer check: a lane loaded under zMod, then UNLOAD_FILAMENT.

  • A failed IFS unload releases the lane (issue #13): when an unload fails, the lane is released after the error, so the spool can be pulled by hand. Not after IFS_STOP (klipper/extras/ifs.py, _unload_toolhead). Needs a printer check: an unload that fails with the toolhead sensor still reading filament.

  • Board fan during long macros (issue #17): the board fan (pcb_fan, cools the TMC2209 drivers) is kept on by a reactor timer, [pcb_fan_watch] (klipper/extras/pcb_fan_watch.py), instead of a delayed_gcode that waited behind a long macro such as bed leveling. Same rule: on while a motor or heater is on or a print runs, off 30 s after. Needs a printer check: a bed level with the fan on, and the fan off 30 s after the level.

Changed

  • IFS swaps refuse an empty slot before anything is cut: a tool change to a slot with no filament stops with an error (klipper/extras/ifs.py, same check as IFS_MAP_TOOL).
  • Shared-slot warning: at print start, a message when two tools map to one slot but the file names different filament for them. A message only; nothing else changes.
  • CLEAR_NOZZLE description now says it moves to the purge box and brushes, with no purge and no heating.
  • IFS wording on the screen: the touch screen says IFS where it said AMS (Bambu's name for its system): the "AMS is busy" and "No AMS Detected" messages, the wizard and print-start text, and the telemetry labels. Patch 0028. Code names (AmsState, ams_*) are unchanged.
  • IFS channel count in one place (klipper/extras/ifs.py): the four channels come from one constant, and the reply parser and the status lists follow it. No change on the printer: still four channels. This is groundwork for other IFS hardware; it does not add support for any.
  • New logo and brand guide (docs/brand/): a frost-blue ring with four gaps, one per IFS slot, and a solid K. One colour; the slot is read by position. App icon and lockup included.

Kiln OS v0.0.29

Choose a tag to compare

@djvalic djvalic released this 27 Oct 03:09

Kiln OS v0.0.29

Contains no Flashforge files: a first install copies them from the
printer itself (see docs/install.md).

New install from the stock firmware: kiln-os-v0.0.29-install.zip (docs/install.md).
Your stock/zMod settings and configs are not carried over (back them up),
Kiln OS updates the boards' firmware itself at its first start.

Printers on Kiln OS: Fluidd → Settings → Software Updates → Kiln OS → Update.
By hand: kiln-os-v0.0.29-update.zip on a USB stick while the recovery OS runs.

Source code: this repository at v0.0.29; third-party sources in the
sources release,
listed with their licences in kiln-os-v0.0.29-licenses.tar.gz.

What's new

Fixed

  • Spoolman grams on the slot tile: a slot linked to a Spoolman spool shows its remaining grams under the material (for example 750g), where it used to show nothing. Slots without a Spoolman link are unchanged (HelixScreen patch 0027, ams_state.cpp).

Changed

  • IFS wording on the screen: the touch screen says IFS where it said AMS (Bambu's name for its system): the "AMS is busy" and "No AMS Detected" messages, the wizard and print-start text, and the telemetry labels. Patch 0028. Code names (AmsState, ams_*) are unchanged.
  • IFS channel count in one place (klipper/extras/ifs.py): the four channels come from one constant, and the reply parser and the status lists follow it. No change on the printer: still four channels. This is groundwork for other IFS hardware; it does not add support for any.
  • New logo and brand guide (docs/brand/): a frost-blue ring with four gaps, one per IFS slot, and a solid K. One colour; the slot is read by position. App icon and lockup included.

Kiln OS v0.0.28

Choose a tag to compare

@djvalic djvalic released this 27 Oct 01:35

Kiln OS v0.0.28

Contains no Flashforge files: a first install copies them from the
printer itself (see docs/install.md).

New install from the stock firmware: kiln-os-v0.0.28-install.zip (docs/install.md).
Your stock/zMod settings and configs are not carried over (back them up),
Kiln OS updates the boards' firmware itself at its first start.

Printers on Kiln OS: Fluidd → Settings → Software Updates → Kiln OS → Update.
By hand: kiln-os-v0.0.28-update.zip on a USB stick while the recovery OS runs.

Source code: this repository at v0.0.28; third-party sources in the
sources release,
listed with their licences in kiln-os-v0.0.28-licenses.tar.gz.

What's new

Fixed

  • Spoolman grams on the slot tile: a slot linked to a Spoolman spool shows its remaining grams under the material (for example 750g), where it used to show nothing. Slots without a Spoolman link are unchanged (HelixScreen patch 0027, ams_state.cpp).

Changed

  • IFS channel count in one place (klipper/extras/ifs.py): the four channels come from one constant, and the reply parser and the status lists follow it. No change on the printer: still four channels. This is groundwork for other IFS hardware; it does not add support for any.
  • New logo and brand guide (docs/brand/): a frost-blue ring with four gaps, one per IFS slot, and a solid K. One colour; the slot is read by position. App icon and lockup included.

Kiln OS v0.0.27

Choose a tag to compare

@djvalic djvalic released this 27 Oct 00:07

Kiln OS v0.0.27

Contains no Flashforge files: a first install copies them from the
printer itself (see docs/install.md).

New install from the stock firmware: kiln-os-v0.0.27-install.zip (docs/install.md).
Your stock/zMod settings and configs are not carried over (back them up),
Kiln OS updates the boards' firmware itself at its first start.

Printers on Kiln OS: Fluidd → Settings → Software Updates → Kiln OS → Update.
By hand: kiln-os-v0.0.27-update.zip on a USB stick while the recovery OS runs.

Source code: this repository at v0.0.27; third-party sources in the
sources release,
listed with their licences in kiln-os-v0.0.27-licenses.tar.gz.

What's new

Added

  • Spoolman spool per IFS slot on the screen (with the kiln-spoolman plugin only): the spool a slot was given with SPOOLMAN_SET_SLOT is linked to that slot in HelixScreen, and its name and remaining grams show in the AMS slot view. Without the plugin, or without Spoolman, nothing changes (HelixScreen patch 0026, ams_backend_ad5x_ifs.cpp). A spool picked on the screen stays until the plugin's value changes; clearing a slot in the plugin does not unlink it on the screen.

Changed

  • First tool load of a print primes only when the slicer purges on the bed: with use_trash_on_print 0 or 2, the first colour no longer purges at the purge box; the bed prime tower purges it. Trash mode still purges at the box (klipper/extras/ifs.py, tools/test_ifs.py). Needs a printer check: the first layer after the first colour, and that the prime fills the nozzle.

Fixed

  • Print start loads the tool you chose (issue #12): a TOOL= value that is not a number, such as an unexpanded [initial_tool], used to load tool 0 (spool 1). Now no tool is loaded and the console shows an error. Use the number from your slicer's start G-code (macros/print_start.cfg).

Upstream updates

  • helixscreen v1.1.0-beta.11 -> v1.1.0-beta.13

Kiln OS v0.0.26

Choose a tag to compare

@djvalic djvalic released this 25 Oct 08:03

Kiln OS v0.0.26

Contains no Flashforge files: a first install copies them from the
printer itself (see docs/install.md).

New install from the stock firmware: kiln-os-v0.0.26-install.zip (docs/install.md).
Your stock/zMod settings and configs are not carried over (back them up),
Kiln OS updates the boards' firmware itself at its first start.

Printers on Kiln OS: Fluidd → Settings → Software Updates → Kiln OS → Update.
By hand: kiln-os-v0.0.26-update.zip on a USB stick while the recovery OS runs.

Source code: this repository at v0.0.26; third-party sources in the
sources release,
listed with their licences in kiln-os-v0.0.26-licenses.tar.gz.

What's new

Changed

  • First tool load of a print primes only when the slicer purges on the bed: with use_trash_on_print 0 or 2, the first colour no longer purges at the purge box; the bed prime tower purges it. Trash mode still purges at the box (klipper/extras/ifs.py, tools/test_ifs.py). Needs a printer check: the first layer after the first colour, and that the prime fills the nozzle.

Fixed

  • Print start loads the tool you chose (issue #12): a TOOL= value that is not a number, such as an unexpanded [initial_tool], used to load tool 0 (spool 1). Now no tool is loaded and the console shows an error. Use the number from your slicer's start G-code (macros/print_start.cfg).

Kiln OS v0.0.25

Choose a tag to compare

@djvalic djvalic released this 24 Oct 16:02

Kiln OS v0.0.25

Contains no Flashforge files: a first install copies them from the
printer itself (see docs/install.md).

New install from the stock firmware: kiln-os-v0.0.25-install.zip (docs/install.md).
Your stock/zMod settings and configs are not carried over (back them up),
Kiln OS updates the boards' firmware itself at its first start.

Printers on Kiln OS: Fluidd → Settings → Software Updates → Kiln OS → Update.
By hand: kiln-os-v0.0.25-update.zip on a USB stick while the recovery OS runs.

Source code: this repository at v0.0.25; third-party sources in the
sources release,
listed with their licences in kiln-os-v0.0.25-licenses.tar.gz.

What's new

Fixed

  • Print start loads the tool you chose (issue #12): a TOOL= value that is not a number, such as an unexpanded [initial_tool], used to load tool 0 (spool 1). Now no tool is loaded and the console shows an error. Use the number from your slicer's start G-code (macros/print_start.cfg).

Kiln OS v0.0.24

Choose a tag to compare

@djvalic djvalic released this 24 Oct 11:59

Kiln OS v0.0.24

Contains no Flashforge files: a first install copies them from the
printer itself (see docs/install.md).

New install from the stock firmware: kiln-os-v0.0.24-install.zip (docs/install.md).
Your stock/zMod settings and configs are not carried over (back them up),
Kiln OS updates the boards' firmware itself at its first start.

Printers on Kiln OS: Fluidd → Settings → Software Updates → Kiln OS → Update.
By hand: kiln-os-v0.0.24-update.zip on a USB stick while the recovery OS runs.

Source code: this repository at v0.0.24; third-party sources in the
sources release,
listed with their licences in kiln-os-v0.0.24-licenses.tar.gz.

What's new

Fixed

  • Ethernet shows disconnected when unplugged (issue #8): the Network Settings row
    kept saying "Connected" with the old address after the cable was pulled. It now
    shows "No cable" (HelixScreen patch 0024).
  • Network Settings updates while open: the Ethernet row re-reads every 3 s
    while Network Settings is open, so plugging or unplugging the cable shows
    straight away (HelixScreen patch 0025). Nothing runs when the screen is closed.

Changed

  • No LED strip prompts: the setup wizard's LED step and the Hardware Health
    "LED strip available" item are no longer shown. The chamber LED is declared
    for every printer, so they asked everyone. The LED controls stay, and a strip
    is set up in Settings > LED Settings (HelixScreen patch 0023).
  • Camera settings file is read as data, not run: /data/ad5x/camera.conf
    used to run as shell code as root at boot. It is now read as settings only:
    CAMERA, RESOLUTION, FPS and their numbered forms (RESOLUTION_2,
    FPS_2), each value checked. Other lines are skipped with a log line, and a
    file that is not owned by root, or that others can write, is not read. Write
    FPS=15: spaces around = are no longer accepted.

Kiln OS v0.0.23

Choose a tag to compare

@djvalic djvalic released this 24 Oct 02:04

Kiln OS v0.0.23

Contains no Flashforge files: a first install copies them from the
printer itself (see docs/install.md).

New install from the stock firmware: kiln-os-v0.0.23-install.zip (docs/install.md).
Your stock/zMod settings and configs are not carried over (back them up),
Kiln OS updates the boards' firmware itself at its first start.

Printers on Kiln OS: Fluidd → Settings → Software Updates → Kiln OS → Update.
By hand: kiln-os-v0.0.23-update.zip on a USB stick while the recovery OS runs.

Source code: this repository at v0.0.23; third-party sources in the
sources release,
listed with their licences in kiln-os-v0.0.23-licenses.tar.gz.

What's new

Added

  • IFS tool map mode loaded: IFS_MAP_MODE MODE=loaded maps each tool to
    the loaded slot that matches the file's filament: the same material with the
    nearest colour (from the file's ; filament_type and ; filament_colour
    lines, so files made before this change work too). Without those lines, tools
    use the loaded slots in slot order; with one slot loaded, every tool uses it.
    MODE=fixed (the default) keeps T0-T3 -> slots 1-4. The mode is saved across
    restarts and applied at each print start. An IFS_MAP_TOOL line in the file
    still wins.
  • Settings > Filament Auto-Refill > Tool to slot: choose Slot per file
    (the file's own slot for each tool) or Auto colour (the loaded mode
    above, on the touch screen).

Changed

  • IFS reconnects by itself: when the IFS is not answering (at start, or
    after a loose cable), the printer tries again every 10 seconds, so a replug
    needs no restart. If it does not come back in line, see
    docs/ifs-troubleshooting.md.
  • Filament and cutter readings hidden from temperature charts: the AD5X
    toolhead filamentValue and cutValue readings are raw sensor values, not
    temperatures. HelixScreen now starts them disabled, so they no longer show in
    the temperature widgets and graphs (HelixScreen patch 0022). They are still
    there for the printer's own use. There is no switch for them on the touch
    screen yet.

Fixed

  • IFS abort puts the printer back: a swap that fails or is stopped restores
    the toolhead sensor, the part fan and the G-code state (abort_gcode). The Z
    lift stays, so a move never happens mid-print.
  • Home screen tiles stay put under a finger:
    a tile held for about 0.4 s and then dragged no longer moves. A quick swipe
    from a tile still pages.