Releases: 3devo/FM2-updates
Release list
v0.4.0
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
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
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.