Skip to content

Releases: 3devo/FM2-updates

v0.4.0

Choose a tag to compare

@SimplyMehmet SimplyMehmet released this 29 Jun 14:42
f7755f8

Firmware version 0.4.0 - 18th of May 2026

This update makes a number of usability improvements and adds support for the
new locking winder hardware.

IMPORTANT: With this update the spool parameters must properly match the
physical spool dimensions, which might require modifying existing presets. The
machine has a physical misalignment in the spool holder that was previously
corrected by manually reducing the right flange width in the settings, but now
the code automatically applies this correction. This means any custom spool
settings should match the actual spool dimensions. The builtin spool preset is
automatically updated.

The new locking spool holder fixes this misalignment mechanically, so if it is
installed (and the software is told about this in the settings), the correction
will no longer be applied by the software.

The system now tracks a spool fulness percentage and reports it on both UI and
influxDB. The value is currently only displayed, automations based on it might
be added in the future.

Filament presets are now split into two types: filament and purge presets. The
latter can be used for purging or transitioning, where you need to extrude but
are not producing any filament (these presets do not store any
filament-diameter related settings). Five builtin purge presets are provided
for different temperature ranges.

Detailed changes

Below all user-visible changes are listed in detail. In addition, many
internal improvements have been made that are not directly visible.

Extrusion process

  • fix: Winder speed instability, this was introduced in v0.3.0 and was
    caused by an unintended change to the the P factor in the winder PID
    controller. In some cases this could cause the winder speed to oscillate.

  • feature: Extrusion and purge presets are differentiated. Now multiple
    presets are supported. Five presets are placed in the machine default
    that customer can use if needed.

    • Super High Temp (315-330 °C) for DevoClean HighTemp
    • High Temp (265-280 °C) for DevoClean MidTemp and DevoClean HighTemp
    • Medium Temp (235-250 °C) for HDPE and DevoClean MidTemp
    • Low Temp(155-170°C) for HDPE and PLA
    • Super low (125-140) for HDPE and PCL
  • change: The default PLA filament preset for screw speed is set to 5
    RPM (before it was 4 RPM). This change ensures the material
    temperature remains below the glass transition temperature (50°C
    instead of 60°C) during extrusion.

  • change: Maximum of winder speed is increased from 20 to 30 RPM. These higher
    RPMs are needed for the in-development conveyorbelt version of the machine.

Spooling process

  • feature: Support the new locking winder hardware. When installed, the
    "Locking winder" should be set to "installed" under system settings.
  • feature: Automatically apply a correction to the positioner position,
    replacing the manual correction applied to the right spool flange width that
    was needed until now. This correction is omitted when the locking winder is
    set to installed.
  • change: Improve positioner motor control so it more quickly switches
    direction at the edges of the spool. This slightly improves the spool
    quality.
  • change: Modify the builtin "Devo Spool" to use the actual spool dimensions,
    removing the correction for positioner misalignment.
  • change: IHOLD value of the winder. It is increased because it was too
    low for holding the motor in position for new winder design. Now the
    motor can stay in position when winder is rotated to click in the
    lock.

User interface

  • fix: The ui would sometimes show many decimal digits for some values.
    Now the number of digits is fixed for each value.
  • feature: Enable physical keyboard input for entering numbers when the ui is
    used over the network. Enter submits the current input's value. Escape closes
    the component and does not modify anything.
  • change: Update to new logo.

Data logging (InfluxDB)

  • feature: Add positioner's position measurement into influxDB. This
    value is a float64. The position of the positioner is the the distance
    of positioner to the inside of the machine in millimeters. This value
    is added to "positioner" measurement. In this measurement two fields
    are added, they are "active" (boolean value) and "position" (in
    millimeters).

  • feature: Add P and I terms of spooling winder to influxDB. They are
    added to the "spooling" measurement. The field related to these values
    are "pid iTerm" and "pid pTerm". These values are float64 and they
    represent integration and proportional values of PID controllers.

  • feature: Add Heater enable to influxDB. This value is added to
    "heater" measurement, the boolean field related to this value is
    "active". This value indicates heater to be active or not active.

  • feature: The machine now tracks spoolfulness. The data is accessible
    in influx in "spooling" measurement, in the filed of "fullness". The
    data represents the percentage 0% indicates empty spool and 100%
    indicates the spool is full. The logic to do spool fullness detection
    is implemented by using winder rpm, puller diameter and puller rpm.
    The ratio of the fullness is determined by volume not just the
    diameter ratio, so it increases linearly. Correspondent ui is
    implemented that writes the spool percentage above spool image.

  • feature: dTerm of the heaters is logged to influxDB for all heater 1
    to 4. This value is added to "heater" measurements with the filed name
    of "pid dTerm". This value is a float64 and represents derivative term
    of the PID controller.

Other changes

  • fix: Prevent docker stack from stopping during update. This solves the
    problem of blue screen during the update.
  • fix: Some displays had an unwanted shifted pixel line. By changing
    display timing parameters, now there is no unwanted shift of pixels in
    the LCD display.
  • feature: If the tensioner arm is disconnected, this will now give a
    proper error message instead of silently failing.
  • fix: Rare race condition when changing extrusion state that could cause the
    system to switch to safe mode.
  • change: Updated the influxdb instance from v2.7.11 to v2.7.12.

v0.3.0

Choose a tag to compare

@3devo-write-access 3devo-write-access released this 28 Oct 14:23
f7755f8

Firmware version 0.3.0 - 29th of October 2025

This release makes significant large and small changes and includes some
safety improvements.

Filament sensor calibration required

IMPORTANT: Upgrading to this version requires the filament sensor to be
recalibrated, which requires the machine to be connected to a computer
via ethernet (via LAN or directly).

This calibration can only be done with the updated calibration kit kit
(that is shippped along with new machines since October/November 2025
and has been sent to existing customers as well).

Notable changes are:

  • The way the extrusion process is started and controlled has changed
    to a somewhat more integrated workflow, with the user interface style
    and structure adapted to that.

    Of particular note is that (by default) the extrusion screw now
    automatically starts when the heaters have reached their setpoints.
    This can be disabled, but to protect against material degradation,
    the heaters are disabled again if the screw is not started within
    5 minutes after reaching the setpoints.

  • The filament sensor accuracy has been improved, and calibration of the
    sensor is made a lot more user-friendly.

  • Handling of errors has been improved, improving feedback in case
    of errors. Some errors are detected earlier and the system shuts down
    into a new "safe mode" on fatal errors, adding an extra layer of
    safety to the existing low-level safety checks.

  • When the heaters are turned on or off, the mains relays are now also
    turned on or off, which were previously turned on once during
    startup. This might produce a small clicking sound.

Detailed changes

Below all user-visible changes are listed in detail. In addition, many
internal improvements have been made that are not directly visible.

Extrusion process

  • feature: The extrusion process (starting heaters and screw)
    is now controlled from the dashboard, and (by default) the screw
    starts rotating automatically when the temperature setpoints have been
    reached instead of controlling each component separately.

  • feature: Heaters now automatically shut down if the screw remains idle
    for 5 minutes after reaching target temperature. This prevents
    material degradation when the screw is not started in time.

  • feature: Add interface to visualize current motor torque as an aid
    during extrusion. Since motor torque readings are unreliable when the
    motor current is higher than needed for the current load, this
    interface also allows reducing the motor current to make the torque
    readings more accurate.

  • feature: Improve filament sensor accuracy and calculation method.
    Because of this change, the sensor must be recalibrated after this
    version is installed. The old calibration data is preserved, so if the
    system software is downgraded the old calibration will be used again.

  • feature: Calibration no longer requires a transparent calibration
    rod, just two opaque rods are sufficient.

  • feature: Extrusion now stops completely when the hopper is removed.
    Previously, the screw was only temporarily disabled and resumed
    automatically when the hopper was reattached.

  • fix: Make motor stall detection more sensitive, to prevent cases where
    the motor stalled but the software did not detect this.

  • fix: Small fix to the heater control bias values for heater 2 and 3.
    .

  • change: When automatic puller speed control is disabled, the puller
    speed now does not reset to the preset value, but keeps it current
    value for smoother operation.

  • fix: Do not stop the positioner and winder when changing any setting,
    but only when the spool/positioner settings were actually changed.

  • change: Setting any heater setpoint to 0 no longer stops the extrusion
    process, since heaters can be enabled and disabled separately since
    a while.

User interface

  • feature: The design and structure of the user interface was updated to
    better reflect the extrusion process.
  • feature: Icons and splashscreen have been updated with new and improved
    icons and 3devo logo.
  • feature: Redesign the calibration web interface. This replaces the old
    and very basic interface with a more polished one that provides more
    guidance and feedback and is a lot easier to use.
  • feature: UI also displays measured filament diameter for each
    sensor view (left, middle, right) individually.
  • feature: Now displays if a motor encoder is connected within the systems
    menu item on the settings page.
  • fix: Make links unclickable on small screens to prevent navigating the
    on-machine display to a webpage that could not be returned from.
  • fix: Fix influx url on settingspage (use http instead of https)..
  • fix: Only show the current preset as "modified" if the current values
    are different from the preset values (previously changing values and
    then changing them back would still show as "modified").

Safety

  • feature: When an error occurs, the system is put into a newly defined
    "safe mode", where all the hardware is cleanly shut down, which also
    prevents (theoretical) further software issues from causing damage.
    This replaces the more ad-hoc shutdown that happened before. Making
    the shutdown is more thorough also prevents showing followup errors
    that are unrelated to the actual problem.
  • feature: As an extra safety feature, only enable the mains relays when
    the heaters are enabled instead of directly on machine startup.
  • change: On a thermocouples read failure, instead of showing
    a non-fatal alert, retry the read a number of times. If all retries
    fail, shut down the system into safe mode.

Error handling

  • feature: Automaticallly save log messages to internal flash when
    a fatal error occurs and when the system is updated (normally log
    messages are not saved to prevent wear on the internal flash). Saved
    messages include recent messages from before the error (or update) and
    all messages until the system is powered off. The logs can be accessed
    by inserting a USB drive that contains a folder calld "logs", all
    saved logs will be copied when the drive is inserted.
  • feature: Improve various (internal) error messages.
  • feature: When a panic occurs handling an HTTP request, turn off the
    hardware to ensure safety and show an alert.
  • feature: Alerts shown in the UI can now be collapsed again after they
    were expanded.
  • fix: Alert messages are now sorted by time, instead of using an
    arbitrary order that could change every second.
  • fix: In some cases (especially when a machine was powered off without
    a clean shutdown, or after a system update) the startup would be too
    slow and the safety watchdog would shut down the system before it was
    started properly. The allowed startup time is extended to prevent
    this.
  • change: When a motor overload condition has occured, an alert is
    shown. When it is resolved again, that alert is now no longer
    automatically hidden, to prevent missing an overload condition that
    only occurs briefly.
  • fix: Reading values from the adc (hopper sensor and spooling tension
    sensor) very rarely fails. This is now retried once so extrusion can
    continue normally.

Other changes

  • change: Heater numbering in influx has changed from using a 0-based
    "index" tag to a 1-based "number" tag, to match influx to the UI.
  • fix: Some potential (theoretical) race conditions have been fixed
    by adding mutexes.
  • The predefined filament and spooling preset is now read-only and cannot
    be changed, but you can create new custom presets based on them (which
    will then both be shown). For machines upgrading from an older
    version, the previously created "PLA 1.75mm (3mm nozzle)" and "Devo
    Spool" presets are kept as custom presets, in case any changes were
    made in them. If no changes were made, the custom versions of the
    presets can be manually deleted.
  • change: No longer show warning alert on IRCamera errors, these are
    usually harmless.

v0.2.3

Choose a tag to compare

@3devo-write-access 3devo-write-access released this 13 Aug 15:28
f7755f8

Firmware version 0.2.3 - 13th of August 2025

This is a release that fixes multiple issues and contains a couple of new features:

  • fix: Network configuration could not be changed because the needed dropdown was
    not displayed.
  • fix: In some cases when an update failed or was interrupted, the system could get
    into a broken state showing a blue screen. If this happens, the system
    will now recover when restarted.
  • fix: When a fatal error within a go routine would occur the API process would
    become unavailable, with this change the API will still be available to
    report what error occured in a safe way and shutdown the hardware.
  • fix: Spamming of thermocouple notifications into user friendly notifications.
  • feature: Hostname will now align with the serial number of the machine.
  • feature: Enable StealthChop for screw and pullers which results in less noise while
    using.
  • feature: User friendly IRCamera alert added.

v0.2.2

Choose a tag to compare

@3devo-write-access 3devo-write-access released this 19 Jun 11:16
f7755f8
Create main.txt

v0.2.1

Choose a tag to compare

@3devo-write-access 3devo-write-access released this 03 Jun 08:31
f7755f8
Create main.txt

v0.2.0

Choose a tag to compare

@3devo-write-access 3devo-write-access released this 20 May 10:15
f7755f8
Create main.txt

v0.1.29

Choose a tag to compare

@3devo-write-access 3devo-write-access released this 25 Mar 15:54
f7755f8
Create main.txt