An unspecified error has occurred in the motion controller

In some cases, the following error message can appear on the display of an Ultimaker S-line printer: An unspecified error has occurred in the motion controller. Restore to default settings. This generic message does not give much information about what is going on. However, it can appear in a few specific scenarios.

Firmware bug

The first thing to try, as usual, is to reboot the printer and check if the error reappears. If it does not show up again, it is likely that the error appeared due to a bug or miscommunication in the firmware. Always ensure to keep the printer's firmware up to date.

To prevent reoccurrence, it is wise to (re)install the latest firmware, or to perform a factory reset.

Feeders

This might sound completely unrelated to a motion controller error, but the feeders are actually one of the most common causes for this message to appear. If this is the case, the motion controller error will appear when starting a print job.

There can be two reasons:

Feeder type mixup Flow sensor fails to initialize

As explained in this article, there are two different feeder versions for S-line printers: the older feeders have a standard, or 'coarse' knurled wheel, the newer feeders have a finer knurled wheel pattern. It is important that both feeders on one printer are of the same type. The feeders are identified by their flow sensors, and the firmware only supports one type for both feeders. If the firmware detects two different types, this is shown in the log files as Detected invalid feeder sensor configuration.

One of the feeders was likely accidentally replaced by the wrong type, so make sure to install the correct version instead.

A lot more information about each of these failure modes can be found in the log files of the printer. You can submit your log files to our support team for analysis, or check the tips in the Expert content below.

Temporary solution / workaround

If you do not have the required spare parts at hand, you can bypass this error by disabling the flow sensors. This will allow you to continue printing while waiting for the parts to arrive. To disable the flow sensors, click on the gear icon, then select Settings. Toggle the switch for flow sensors to 'Off'.

Note: With the flow sensors disabled, an Ultimaker S5 without Material Station or an Ultimaker S3 will no longer be able to detect severe underextrusion or when filament runs out. Ensure your system is properly maintained (clean print cores and feeders) and you have sufficient material on the spool before starting a new print job.

Defective electronics

If the error cannot be resolved by a reboot or reset, and the issue is proven not to be related to the feeders, the mainboard is most likely defective. Contact support by submitting a ticket, or reach out to your local reseller for a replacement and further assistance.

Expert content

If you want to dive a little deeper into what could be causing the motion controller error, this section contains additional information on how to interpret the printer's log files. These logs contain a lot of information about all printer and printing processes, but here, we will only focus on the motion controller issue and flow sensor initialization specifically. 

Expert troubleshooting content

Save your log files

If you have updated the firmware or performed a factory reset while troubleshooting, first reproduce the error. In case of a feeder issue, this can be done by starting a print job with the flow sensors enabled. Reboot your printer. Now go to the Maintenance menu, then Diagnostics to save the logs to USB. Ensure a USB is inserted in the front of the printer. 

Tip: Clear previously saved log files from the USB drive before saving new ones. This makes it clearer which files will need to be analyzed.

Open the files on a computer. The ones with the relevant information are the 'boot' log files. There could be multiple. Unzip the files and open them, starting with 'boot0.log'. You do not need special software, any standard text editor program will do.

Locate the error

To find the motion controller error, simply use Ctrl/Cmd+F and search for 'motion controller'. The log lines preceding the error can give a good indication of the cause:

INFO printJobStateProperty New print job state: pre_print -> printing
WARNING transportLayer Got error line 1 from printer: Error:A1335_FLOW_SENSOR_ERROR: timeout on reading flow angle, sensor=223
ERROR controller Halting ALL procedures
ERROR applicationLayer Marlin error: SYSTEM HALT!
INFO marvinService Reporting fault to Sentry...
ERROR marvinService Added Fault: <Fault: level=3 code=13 message='Error:A1335_FLOW_SENSOR_ERROR: timeout on reading flow angle, sensor=223' data='dbus.Dictionary({}, signature=dbus.Signature('sv'))'>
INFO Okuda.DBus.PrinterServiceProxy Processing PrinterError(level: 3, code: 13, msg: 'Error:A1335_FLOW_SENSOR_ERROR: timeout on reading flow angle, sensor=223')
" 714.168 qml [bootup] ErrorDialog overlay: Code,Level,text= 13 3 An unspecified error has occurred in the motion controller. Restore to default settings."
INFO Okuda.Components.screen_saver modeChanged: Mode.Printing --> Mode.AttentionRequired
ERROR controller Halting ALL procedures

As you see in the code block above, before the motion controller error line, we see a flow sensor timeout. This indicates that the problem is indeed related to the feeders.

Check the flow sensors

Next, we inspect the initialization of the two flow sensors. In the logs, you can search for 'FILAMENT_FLOW_SENSOR' or 'A1335'. This will show the initialization process.

INFO transportLayer FILAMENT_FLOW_SENSOR_INIT:0 initializing...
INFO transportLayer Discovering flow sensor A1335 #0
INFO transportLayer flowA1335Init: sensor #0 sensor_address=0xC
INFO transportLayer A1335 FIELD=635
INFO transportLayer A1335 Temperature=22.98
INFO transportLayer FILAMENT_FLOW_SENSOR_INIT:1 initializing...
INFO transportLayer A1335 init failed for sensor #1
INFO transportLayer A1335 init failed for sensor #3
WARNING transportLayer Got warning line 1 from printer: WARNING:FILAMENT_FLOW_SENSOR_INIT:1:Unable to initialize sensor
INFO transportLayer Detected invalid feeder sensor configuration
INFO marvinService Reporting fault to Sentry...
WARNING marvinService Added Fault: <Fault: level=4 code=46 message='WARNING:FILAMENT_FLOW_SENSOR_INIT:1:Unable to initialize sensor' data='dbus.Dictionary({dbus.String('hotend_nr'): dbus.Int32(1, variant_level=1), dbus.String('display_hotend_nr'): dbus.Int32(2, variant_level=1)}, signature=dbus.Signature('sv'))'>
WARNING heatableHotend Flow sensor 1 error raised

In the example above, the highlighted 'warning' lines clearly show the issue: one of the flow sensors cannot initialize. It may not be connected properly. If reconnecting it does not help, the flow sensor, cable, or feeder should be replaced.

Tip: It is important to note that in the logs counting starts at 0, so flow sensor 0 is 1 (left feeder), and flow sensor 1 is 2 (right feeder). In the example, the flow sensor in feeder 2 was not connected properly.

To fully understand the logs, we need more information about the initialization process. As mentioned before, there are two different feeder types. These are identified by their flow sensors:

Log number Feeder type Feeder side Feeder number Address
#0 Old / coarse Left 1 0xC
#1 Old / coarse Right 2 0xD
#2 New / fine Left 1 0xE
#3 New / fine Right 2 0xF

The firmware will attempt to initialize them one by one. If #0 fails, it will move on to #1, but if #0 initializes, it will move on to the other feeder and try #2.

Only one type of feeder is allowed on the printer. Accepted combinations are:

  • #0 0xC and #1 0xD
  • #2 0xE and #3 0xF

If both flow sensors initialize, but a mismatch is detected, this will also show in the logs as Detected invalid feeder sensor configuration. Look at the example below:

INFO transportLayer FILAMENT_FLOW_SENSOR_INIT:0 initializing...
INFO transportLayer A1335 init failed for sensor #0
INFO transportLayer Discovering flow sensor A1335 #2
INFO transportLayer flowA1335Init: sensor #2 sensor_address=0xE
INFO transportLayer A1335 FIELD=697
INFO transportLayer A1335 Temperature=22.98
INFO transportLayer FILAMENT_FLOW_SENSOR_INIT:1 initializing...
INFO transportLayer flowA1335Init: sensor #1 sensor_address=0xD
INFO transportLayer A1335 FIELD=600
INFO transportLayer A1335 Temperature=22.67
INFO transportLayer Detected invalid feeder sensor configuration

In this case, log numbers #2 and #1 are discovered. This means that the right feeder (1) is an old feeder type with the coarse knurl pattern and the left feeder (2) is the new feeder type with the fine knurl pattern. Here, it would be recommended to replace feeder 1 with a new type feeder.

Still need further help?

Reach out to our support team by submitting a ticket. Make sure to include all relevant information you found from the logs for faster and more efficient assistance.

Was this article helpful?
0 out of 1 found this helpful

Comments

0 comments

Please sign in to leave a comment.