Firmware release notes for the Filament Maker

This is an overview of all Filament Maker firmware releases, containing information about each individual update.

Note:

The firmware installation guide and download instructions, can be found here.

Version 1.3.9

January 5th, 2024

This is a minor update to fix an issue during production of new machines.

Version 1.3.8

November 20th, 2023

  • Support updated filament sensor hardware, with brighter LED's. The firmware automatically lowers the sensor exposure time if over-exposed.
  • Optimize memory usage.
  • Do not allow "Reset to default" in the main menu when the machine is running to prevent unintended side effects.

Version 1.3.7

April 13th, 2023

  • Support newer mainboards and interface boards that store more information about the board manufacturing in a newer (v2) board info block. These boards will not work with older firmware versions.
  • Improve accuracy of extruder current measurements by increasing the measurement frequency and synchronizing measurements to the PWM duty cycle.
  • Improve message printend on serial on a watchdog timeout.
  • Fix the LED's strip color at startup (it was intended to be green when running with a full hopper, blue when waiting to start and red in all other cases, but due to a bug it would be off at startup until it first turned green or blue).
  • Reduce memory usage from log message printing.
  • Fix incorrect board version detection on some FENV1x/FENV2x machines, that could lead to the buzzer not working or the extruder current being read too low or too high. This is a regression introduced in version 1.3.0.

Version 1.3.6

January 3rd, 2023

This is a small update to facilitate production of new machines.

Version 1.3.5

November 15th, 2022

This version fixes a regression in 1.3.4 that prevented that version from starting up on older machines (2018 and before, FENV1x, FENV2x and some FENV3x machines).

Version 1.3.4

July 13th, 2022

This is a small update that mainly fixes a memory leak that could cause the machine to lock up or reset when using the spooling feature. Upgrading is recommended for all customers.

  • Fix a memory leak in the spooling wizard, that could cause the system to lock up (typically when entering the settings menu) after starting spooling for the second time.
  • Improve handling of unknown mainboard revisions.
  • Add second safety layer to ensure heaters and motors are disabled on an internal software error.
  • Memory optimizations.
  • Show an error message on memory allocation failure.
  • Various internal improvements

Version 1.3.3

This is a small update to support recently produced machines with a different display module. There is no reason to upgrade existing machines to this new firmware.

  • Add support for interfaceboards with a different display module (M128 from EA).
  • Various internal improvements

Version 1.3.2

  • Fix a bug where firmware version 1.3.1 was not able to use Devovision, because the log output did not match with what Devovision expects.
  • Various internal improvements.

Version 1.3.1

  • Start logging data if a carriage return and/or newline character is send over serial (instead of just responding to newline).
  • Fix a race condition during startup which would prevent the machine from starting with an internal error. This would be deterministically triggered by a specific (and machine-dependent) EEPROM contents.
  • Handling of the menu button/encoder is now handled by the interfaceboard itself instead of the devoboard (should not give any notable difference from the old situation).
  • Disable the secondary (unused) system fan port at default.
  • Various internal improvements.

Version 1.3.0

  • Add support for the new Composer and Precision product lines (FMV1P and FMV1C model numbers).
  • Show a splash screen on startup. This screen automatically disappears after 10 seconds, or can be skipped by rotating or pushing the button.
  • Show the full product name in the About menu.
  • Make messages printed on the serial port at startup more consistent.
  • Fix devoboard version printed on startup. Since firmware version 1.2.2, with newer devoboard versions the PCB revision is autodetected and printed to the serial port. However, the revision was accidentally printed as decimal, rather than hexadecimal (even though it did have a 0x prefix). For example, a version 1.4 would print 0x20 rather than 0x14. Now, the version is properly printed again.
  • Various internal improvements.

Version 1.2.3

  • Add support for the FEN1V5A model.
  • Support interfaceboard bootloader protocol version 1.1.
  • Various internal improvements.

Version 1.2.2

  • Add support for automatic Devoboard version detection.
  • Internally improved handling of different hardware versions.
  • Improve display of board versions in the about menu.
  • Improve error messages related to invalid hardware/firmware combinations.
  • Enable the system fan earlier during startup. In particular, this means it will be enabled when displaying error messages.

Version 1.2.1

  • Add support for the FEN1V4A and FEN1V4R models.

Version 1.2.0

  • Heavily improved heater PID control. Parameters are tuned and some additional measures are taken to improve the stability, reduce the time needed to heat up a machine. Additionally, when a machine is already warm, it returns to stable operation faster.

  • Allow more precise control over the heaters. Previously, the heater PID output would be rounded to complete percentages, now they are used unrounded.

  • Enabled buzzer support for machines containing a Devoboard v1.1 and newer. Buzzer indications which are currently supported on the extruder are as following:

    • 1 very short beep when the machine starts up
    • 3 short beeps when the machine has reached its temperature setpoint and is ready to start. These are repeated periodically until the machine is started (when manual start was selected).
    • 3 short beeps when the hopper is empty. These are repeated periodically until the hopper is filled.
    • 3 long beeps when an error occurs and the machine is stopped.

    These buzzer notifications are enabled by default, but can be separately turned off in the settings menu.

  • Fix the "PC 2.85mm" material preset for advanced machines. This was accidentally a copy from the PA12 preset.

  • Fix the extruder motor fan speed for early advanced machines (model number FENV1A). Since firmware version 1.0.2, these machines would accidentally run at 70% rather than 100%.

  • Improve detection of software lockups. Some very specific firmware bugs could cause the firmware to lock up, without the watchdog detecting this. There are no known cases of this occurring with released firmware versions.

  • Reduced RAM usage by screen rendering code.

  • Various internal improvements.

Version 1.1.5

  • Allow renaming custom material presets.
  • Print more context in error messages (e.g. the number of a problematic thermocouple, the measured temperature when overheating, etc.).
  • Limit the number of material presets to 25 to prevent running out of memory when displaying the list of presets. This limit includes the builtin presets.
  • Fix rendering problems on long screens (e.g. the material preset list with a lot of presets).
  • Fix a crash when repeatedly adding or removing material presets.
  • Various internal improvements to the screen rendering code.
  • Various internal improvements to the thermocouple code.

Version 1.1.4

  • Fix display of assertion failures, since 1.0.5 these would cause a lockup or reset.
  • Slightly tweak the maximum values for spool width and positioner right position.
  • In the about menu, show a more specific version number. Previously, it would show "1.1+" for these versions, now it shows either "1.1/1.2" or "1.3" depending on the board version present.
  • Show the correct devoboard version in the about menu. Since v1.1.2 it would show the interface board version under "Devoboard version".
  • Support for the FEN1V3R and FEN1V3A models.

Version 1.1.3

  • Add support for interface board v1.3 and above.
  • Reword some screens to improve the layout.
  • Some minor internal improvements.

Version 1.1.2

  • Add PS (polystyrene) material presets (2.85mm and 1.75mm) for advanced machines.

  • Add a manual start mode, where the machine is prepared (heated), but extrusion does not start until manually started. To indicate the machine is ready to start, its light will turn blue.

    Since leaving hot material in the extruder without the machine running can degrade the material and cause problems, automatic start is still the recommended mode to use. When manual start is used, the heaters will be automatically turned off if extrusion is not started within a (configurable) timeout.

    Refer to the more detailed documentation on the website for additional information.

  • The puller stepper can be manually enabled or disabled. This option is added in the "Speed tuning" menu -> as "Stop puller" / "Start puller".

  • When an error occurs, the machine can reset itself instead of having to remove all power.

  • When an error occurs, the machine is immediately restarted to ensure everything is completely off, and an error message is shown. After the message is closed, the machine is reset again to ensure a clean start.

  • The display brightness is turned down when the machine is powered through USB only. This reduces power usage and may prevent problems with USB supplying insufficient power, which would prevent showing an error message.

  • When the machine is reset for any reason (error, USB cable plugged in, serial port opened) a message is shown on the screen. This can help with diagnosing unexpected resets.

  • Show "1.1+" instead of "1.1" for the devoboard and interface board versions. There are 1.2 versions of these boards that are indistinguishable from 1.1 boards by the software (since only very minor changes have been made). Changing the displayed versions makes it clearer what version is in use.

  • Improve configuration data versioning. When future firmware versions make small changes to the configuration data format, this no longer requires a settings reset after a firmware downgrade. When bigger changes are made, a reset might still be required. The EEPROM version number in the about menu now reflects this by showing a major and minor version separated by a period. When only the minor version changes, downgrades are seamless.

  • Various minor user interface improvements.

  • Many other internal improvements.

Version 1.1.1

  • Further improve the robustness of the display control against electrical noise. In version 1.0.6, a particular bug caused by noise was fixed, but it turns out there were other situations that could lead to problems. In version 1.1.0 the display rendering library was changed, which caused these problems to manifest as software lockup errors. In this version, these lockups are prevented.

Version 1.1.0

Changes related to spooling and the positioner

  • The system can now automatically control the winder and positioner speed, based on the configured spool diameter and various measured values. This option is enabled by default, but the new "Spooling speed" setting (under "Settings") can be switched to "Manual" to revert to the previous fixed manual speed behaviour.
  • A new "Spooling" menu is added to the main menu, which contains all spooling-related info and actions. Spooling-related settings are still in the regular "Settings" menu.
  • A new Spooling -> "Start spooling" option is added, which walks the user through the procedure to start spooling. In the "Spooling" -> "Advanced" menu, the previous manual control over the spooling is still available.
  • A new "Spooling" -> "Positioner settings" menu is added, which makes it easier to configure the positioner position and spool width, by allowing a preview of the configured values by moving the positioner between the configured positions.
  • A new "Spooling" -> "Advanced" menu is added, which allows more direct control over the winder and positioner, when the "Start spooling" feature is not used.
  • During spooling, the amount of material on the spool is calculated approximately and shown in the "Spooling" menu. These amounts are used for the automatic spooling speed feature and are reset during the "start spooling" procedure, or when "reset spool" is selected in "Spooling" -> "Advanced" menu.
  • The "Positioner begin" setting was renamed to "Positioner right" to make it more clear that this configures the rightmost position of the positioner (i.e. the right side of the spool).
  • New settings for "Empty spool diameter" and "Full spool diameter" have been added. The empty spool diameter is used for the automatic spooling speed feature, the full spool diameter is not currently used but is intended to predict when a spool is full in the future.
  • Positioner movement is now slightly more accurate.
  • The positioner homing procedure now only runs when needed (once per power-on) instead of every time "start extruding" is selected.
  • The default settings for the positioner right position and the spool width are changed to better match the default SD200K spool supplied with the machine.
  • The settings for positioner right and the spool width can now be specified in steps of 0.5mm.
  • The manual winder speed now refers to the speed of the spool, not the winder motor (which have a x4 transfer between them). A speed of 10 RPM for the winder motor in previous versions corresponds to a speed of 2.5 RPM for the spool in this version. The saved setting is automatically updated.
  • The manual winder speed can now be specified in steps of 0.1 RPM.
  • The serial log output now includes more values related to spooling.

Other changes

  • Unify the main menu shown when idle and when extruding. While running, this now shows "Settings" (instead of "Modify settings") and "Material presets" (which was previously hidden while running).
  • When the "Hopper empty check" is disabled, the status display now shows "OFF" in the hopper instead of the full/empty status. This makes it easier to see that the check is disabled and thus extra care can be taken while running.
  • Display rendering was changed to use the U8g2 library instead of the previously used U8glib.
  • The configuration data format in EEPROM is upgraded to version 2 to add extra spooling-related values and to increase precision on the positioner begin, spool width and manual winder speed values.
  • On EEPROM-related errors, the full EEPROM contents are printed to serial.
  • Fix the filename shown on assertion errors.
  • Many other internal improvements.

Version 1.0.6

  • Make the control of the display more robust against electrical noise, that could cause the display to freeze occasionally in some environments.
  • Allow applying a factory reset when the stored configuration data is too new for this firmware version (previous versions would simply refuse to run entirely).
  • Make sure that a settings reset loads the default preset correctly. Previous versions would reset to slightly different extruder and fan speeds, resulting in "PLA 2.85mm (modified)" showing after doing a settings reset.
  • Slightly improve screen layout in some screens.

Version 1.0.5

  • Support for new Devoboards in older Filament Extruder models (for RMA purposes).

Version 1.0.4

  • Improve heating behaviour, especially for higher temperatures.
  • Start extrusion when the temperature is within 3% of the setpoint (previously versions started within 5 degrees of the setpoint).
  • Improve PLA 1.75mm preset for advanced machines.
  • Add PEEK preset for advanced machines.
  • Increase system fan frequency to reduce fan noise on V2 models.
  • Further improve filament sensor read error handling.
  • Fix reloading of custom material presets after a power cycle. The settings were loaded, but the preset name was not correctly displayed.
  • Show confirmation after selecting "Stop extrusion".

Version 1.0.3

  • Cleanup of current sensor code (no visible changes).
  • Support different current sensor on v1.1 Devoboards
  • Preliminary support for the buzzer on v1.1 Devoboards (only allows testing of the buzzer).
  • Prevent triggering the watchdog after an assertion failure. This caused an assertion failure error message to be replaces by a software lockup error message after a few seconds.
  • Handle occasional filament sensor read errors more gracefully.

Version 1.0.2

  • Minor improvements to the display layout.
  • Preliminary support for the FEN1V2R and FEN1V2A models.
  • V2 models have a more powerful fan, so run it at 70%.
  • Show additional details in the "About" menu.

Version 1.0.1

  • Various internal improvements and optimizations.
  • Improve extruder RPM and positioner limit values.
  • Improve heater PID parameters.
  • Show system status in serial output.
  • Remove "No encoder reading" message on serial.
  • Add extra material presets: PLA 1.75mm, ABS 2.85mm, ABS 1.75mm, PA12 2.85mm, PA12 1.75mm, PC 2.85mm (Advanced only), PC 1.75mm (Advanced only).