Interstitial Firmware Releases

I created issue #806 pr #807 to have copilot investigate possibilities

David Lang

@ian_ab give this a try and see if it solves the runaway problem

the research that copilot did on this was extensive, so I pasted it into a txt doc there were a couple bugs found, but subtle ones

maslow_wifi_watchdog_investigation.txt (50.8 KB)
firmware-package fix-wifi-runaway.zip (1.3 MB)

When Maslow loses connection it stops (good).
Can’t Reconnect browser after WiFi restored until power Cycle (Bad)
Comes back in Extended after power cycle (good)
Can restart job after Apply Tension
Can not resume where it stopped without manually modify GCode
No indication of where it was up to when it failed.

I think the problems identified make the application more robust and the downside of bad WiFi needs to addressed as a separate issue.

Ian Abbott wrote:

When Maslow loses connection it stops (good).
Can’t Reconnect browser after WiFi restored until power Cycle (Bad)
Comes back in Extended after power cycle (good)
Can restart job after Apply Tension
Can not resume where it stopped without manually modify GCode
No indication of where it was up to when it failed.

even with a serial console?

enable debug logging (on the fluidnc side, not the maslow.yaml side)

this should give you logs showing when a connection/disconnection happens

I think the problems identified make the application more robust and the
downside of bad WiFi needs to addressed as a separate issue.

yes, this doesn’t avoid the root cause that is triggering the problem, it just
keeps that problem from resulting in the machine running away when it’s stopped.

David Lang

Tried again this morning. Different behavior. Logs below.
Ran several short files. No bit in Maslow.
On interruption to browser connection, the job completed each time. Could not retake control until job completed.

Note this is a browser computer disconnect from WiFi not Maslow disconnect from WiFi.

Maslow-serial - 2026-02-23T034646.903.log (3.7 KB)
Maslow-serial - 2026-02-23T040010.354.log (6.4 KB)
putty20260223.log (66.5 KB)

Next trying cycling WiFi

Job completed before I could reestablish connection
Maslow-serial - 2026-02-23T042800.368.log (3.6 KB)
putty.log (10.8 KB)

Additional short log using early version Haven’t loaded latest yet. This is without a job running, just interrupting the WiFi signal momentarily
puttyb.log (8.2 KB)
Still on earlier version
Home always goes to Xm0Ym0
Disconnecting serial port also drops browser
puttyc.log (20.9 KB)
Got this message when tried to reconnect while job running from browser

in the run where the job ran to completion, but you were not able to retain control, there is this error

[MSG:ERR: mount_to_vfs failed code 0x0x101]

each of these logs only shows one ‘WiFi event’ line, so they aren’t showing a disconnect/reconnect

@ian_ab here is a new version implementing some additional checks.

I think this makes it more likely that the machine will end up being halted due to an error, but more likely

among the improvements is a new blink pattern so we can see if this code triggers without a serial log

Added a watchdogFired flag set when the software watchdog triggers. When set, update() shows a rapid double-blink on both RED and WiFi LEDs together:

  • Pattern: 100ms ON → 100ms OFF → 100ms ON → 800ms pause (repeating)
  • Existing error/eStop state: slow 300ms single-blink on RED LED only

firmware-package fix-wifi-runaway.zip (1.3 MB)

Did not see this, does it need to be turned on somewhere?
Screen Video https://youtu.be/rxQqemSii8A
Unedited so a little repetitious

Ian Abbott wrote:

Did not see this, does it need to be turned on somewhere?
Screen Video https://youtu.be/rxQqemSii8A
Unedited so a little repetitious

No, if there is a failure caught by the watchdog, it will show up. If it
doesn’t, it’s not problem that triggers the watchdog.

David Lang

I did drop out the WiFi, should that have triggered it?

Ian Abbott wrote:

I did drop out the WiFi, should that have triggered it?

it did do a couple cleanups, so it may have fixed the bug you were trippig over.

you can read more about what it did at

David Lang

@bar I think these change needs to be incorporated ASAP. It prevents the runaway condition (at least I haven’t been able to reproduce it with this version), if WiFi fails the Maslow continues. You can reconnect browser (sometimes have try multiple times), with an option to pause the job, or wait until it completes. If paused, you then have the option of continuing or halting run.

1 Like

I’m going to go through the PRs and merge them now. Which one is this issue in?

#807.
Also #809 fixes a problem I introduced which causes Maslow to home to machine coordinates (0,0) instead of home

1 Like

#809 was easy to understand so I just merged that one in. Great catch there.

I’ll look at #807 now

@bar please put the latest builds here

Good morning all,

I just finished cutting a small student project. It cut out perfectly. The only problem I had was that after cutting it ran away again.
When the cut is finished, the default jog distance is generally like .7 mm. It will successfully jog that distance. So I set it up to 50 mm this time and it ran away. I had to cut the power to get it to stop.

FluidNC 2-24 @1113 AM.txt (4.5 KB)

Maslow-serial 2-24@ 1112 AM.log (10.7 KB)

It looks like you are already working on this from the updates above, but here is some more data if you wish to look at it.

Then when I restarted it was in unknown state. I tried to just loosen and tighten the bents, but it would only allow me to loosen them, not to tighten them.

Maslow-serial 2-24 @ 1116 AM.log (3.6 KB)

Again, I know you are already working on this. My next move is to fully retract them, extend them, reset my Z stop and Z home, and start the next cut.

Thank you,

Are you cutting in inches or mm. If your last cut was in inches and you set it to 50mm, maybe it was actually 50 inches. This should display on the front screen.
The log file confirms it was in inches
[MSG:INFO: Program End]
[MSG: /sd/Coaster_AC_JG.nc file job succeeded]
JogTo: $J=G91F98.43Y-0.787 (inch)
[MSG:DBG: Belt positions saved to NVS: TL=1572.02 TR=1487.84 BL=2067.07 BR=2013.21 state=7]
JogTo: $J=G91F98.43Y-50 (inch)
Stop Maslow and Gcode
Stop Maslow and Gcode
After a power down in the middle of a move, the Maslow has no way of knowing where it really is. So you need to Retract, Extend and Apply Tension to get to a known state. Otherwise, it’s starts running with the belt settings it has in NVS which will be out of date.

1 Like

50 inches is 1270 mm, off the board.