Red blinking light while doing the first calibration and got an error message on one of the motors

I just assembled my M4 and am seeing a similar issue with blinking red light when I first connect. But my error message is about encoder. Here it is, please help:

Serial Messages
Index.html Version: 0.87
[MSG:INFO: Channel auto report interval set to 50 ms]
[MSG:INFO: FluidNC v0.87 (Maslow-Main-ec171155-dirty)]
[MSG:INFO: Compiled with ESP32 SDK:v4.4.7-dirty]
[MSG:INFO: Local filesystem type is littlefs]
[MSG:INFO: Configuration file:maslow.yaml]
[MSG:WARN: Ignored key dc_servo]
[MSG:WARN: Ignored key cs_pin]
[MSG:WARN: microsteps value 0 constrained to range (1,256)]
[MSG:WARN: Ignored key cs_pin]
[MSG:WARN: microsteps value 0 constrained to range (1,256)]
[MSG:INFO: Machine Maslow S3 Board]
[MSG:INFO: Board Maslow]
[MSG:INFO: UART1 Tx:gpio.1 Rx:gpio.2 RTS:NO_PIN Baud:115200]
[MSG:INFO: SPI SCK:gpio.12 MOSI:gpio.11 MISO:gpio.13]
[MSG:INFO: SD Card cs_pin:gpio.10 detect:NO_PIN freq:8000000]
[MSG:INFO: Stepping:Timed Pulse:4us Dsbl Delay:0us Dir Delay:0us Idle Delay:240ms]
[MSG:INFO: Axis count 3]
[MSG:INFO: Axis X (-2438.400,0.000)]
[MSG:INFO: Motor0]
[MSG:INFO: Axis Y (-1219.200,0.000)]
[MSG:INFO: Motor0]
[MSG:INFO: Axis Z (-100.000,0.000)]
[MSG:INFO: Motor0]
[MSG:INFO: tmc_2209 UART1 Addr:0 Step:gpio.15 Dir:gpio.16 Disable:NO_PIN R:0.110]
[MSG:INFO: Motor1]
[MSG:INFO: tmc_2209 UART1 Addr:1 Step:gpio.46 Dir:gpio.38 Disable:NO_PIN R:0.110]
[MSG:INFO: Z Axis driver test passed]
[MSG:INFO: Z2 Axis driver test passed]
[MSG:INFO: Kinematic system: Cartesian]
[MSG:INFO: Using spindle NoSpindle]
[MSG:INFO: Connecting to STA SSID:home]
[MSG:INFO: Connecting.]
[MSG:INFO: Connecting…]
[MSG:INFO: Connecting…]
[MSG:INFO: Connecting…]
[MSG:INFO: Connected - IP is 192.168.0.150]
[MSG:INFO: WiFi on]
[MSG:INFO: Start mDNS with hostname:http://maslow.local/]
[MSG:INFO: SSDP Started]
[MSG:INFO: HTTP started on port 80]
[MSG:INFO: Telnet started on port 23]
Index.html Version: 0.87
[MSG:INFO: Firmware Version: 0.87]
[MSG:INFO: I2C Timeout: ]
[MSG:INFO: 10]
[MSG:INFO: All tests passed on Top Left]
[MSG:INFO: All tests passed on Top Right]
[MSG:INFO: All tests passed on Bottom Left]
[MSG:WARN: Encoder read failure on Bottom Right]
[MSG:WARN: Encoder not found on Bottom Right]
[MSG:ERR: Encoder not found on Bottom Right]

1 Like

Can you try fully unplugging the cable on that encoder and plugging it back in?

If that doesn’t fix it the next thing to try is to swap which port that encoder is plugged into and see if the issue moves with the encoder or stays in the same port.

You can run the test easily by pressing Setup → Test

those errors on the bottom right are saying that the cable to the encoder is not
connected fully. If you are using the ethernet cables, make sure they are fully
seated and then hit them with hot glue to hold them in place.

David Lang

1 Like

Ok. Thanks for the quick response. That issue seems to be due to loose cable. But I still have the red blinking light and when I press retract all nothing happens. The message says retracting all belts but none of the motors do anything.

A complete power cycle and extending and retracting seems to have helped. I was able to retract fully 3 belts. But the forth one did not budge. That motor is not moving at all.

Did release tension and after trying retract all several times that belt retracted about half way thru. but it does not retract any further.

1 Like

Pressing Extend All again and extending the belt which is stuck out should help clear whatever is jamming it

I hate to revive this old discussion, It is the best one I’ve found that matches my issue. I booted up my M4.1 for the first time and attempted calibration but was having issues so I updated the firmware (1.04 out of the box to 1.19). After I updated firmware I got “[MSG:WARN: Motor not found on Bottom Right]
[MSG:ERR: Motor not found on Bottom Right]” errors. I thought maybe the firmware did something because my motors were fine before I updated. So I went back to 1.04 and still the same issue. I’ve tried all of the suggestions in this post (swapping different motors around, etc). I’ve even tried measuring the voltage spike on another “good” motor connection and I get anywhere from 5-8 volts. However, when I try to measure voltage on the bad plug I get 0 volts. Is this a board problem or a firmware problem? All motors were working prior to updating to the new firmware and now I’ve gone back to 1.04 and still have the same issue. Thanks for any help you can provide!

motor not found means that there is a wire/connector problem going to that motor
(or you managed to burn out the board)

moving the motor/sensor from one port to another will tell if the problem is a
wire, motor, ecoder, or the board. tell us what happened when you tried to swap
things

David Lang

Drew Adkins wrote:

I have swapped the bottom right motor with the top right and the bottom left. In both instances everything passes EXCEPT the bottom right. Which tells me its not a motor issue. I’ve also swapped the encoder wires (even though i am not getting an encoder issue) and it still does not fix it OR move the error to another motor. The issue seems to be the bottom right in every case. Also, I checked voltage output on the bottom right and got 0.0V when testing. But when I test voltage output on the other ports, for instance, bottom left I would get a voltage spike of 5-8V consistently. I dont know how I could have burnt the board up by updating the firmware…? Was it because I went from 1.04 all the way to 1.19 in one shot?

Additionally – This machine is brand new. I assembled it a week ago and finally got around to testing it this weekend. I purchased it last month (February 2026)

just to be on the safe side, try replacing the maslow.yaml with the new default
one.

but it does sound like it may be a board problem, bar will have to help you

David Lang

I have replaced the maslow.yaml file a few times in my trouble shooting. From a software side of troubleshooing I’ve tried the following: Downgraded from 1.19 to 1.18 (updating all of the associated assets for 1.18). Still not working. So I went back to 1.04 (again, uploading all of the associated assets for 1.04 from the Github). Not working. Finally, I went BACK to 1.19 using the assets from 1.19 and the maslow.yaml from 1.18 since there isnt one in the assets for 1.19. No luck.

Does anyone have any suggestions or should I just buy a new board? I am not very software savvy but could it be that one of the files isn’t telling the driver to send voltage to that output? If so how would I check that?

1 Like

That sounds like a board issue to me. I think that you tested it exactly right and the test that the issue stayed with the bottom right motor is a pretty clear sign that it’s something on the board.

I will DM you a code for a free replacement right now. We don’t get a lot that fail in that way, but it’s possible. I’m sorry for the trouble!

Hey Bar,

I got my new board in (thank you!) and I hooked everything up, updated the firmware to 1.19 along with the maslow.yaml file from 1.18 (since there wasnt one for 1.19) and the index file. I followed the quick start guide. I set my spoil board thickness and proceeded to extend belts to the four anchor points (I am using the wooden platform laying completely flat on concrete. I performed a “Find Anchor Locations” and it (the maslow cnc) proceeded to move and work as I thought it should. All four motors retracting and extending without issue. It made it through the calibration and failed (I didnt save the error message, it just said something along the lines of the locations couldnt be found because of potential flex in the frame-I didnt notice any flex in the frame so i thought i’d just run it again). It said to try restarting the “Fine Anchor Locations”. But when I did it needed me to do the whole retract and extend thing again. When I disconnected my anchor points and hit retract, everything retracted EXCEPT bottom right motor. Which is the same motor as before. That bottom motor was working flawlessly until I did the “Find Anchor Locations”… I’m beginning to think this is software side maybe? because this is exactly what happened to me before. I did the calibration and then my motor would not work. Same error, same motor. I purchased a second control board as well just to have a spare since I was afraid that maybe these boards are fragile, so I can try that second board but I don’t want to keep bricking these boards without a solid idea of what could be happening. I really hope you’ve seen this issue before and can give me some guidance. Thank you!

Drew Adkins wrote:

the spoilboardthickness is the distance between where the sled is riding and
where the anchors are. In the ‘stock’ frame built with plywood and 2x4s, you
have the anchors on top of plywood gusets in the corners, and use the same
thickness of plywood as your spoilboard. so both are the same height and the
spoilboard thickness would be zero

as for your bottom motor, try increasing the current limit and see if that makes
the motor move. It could be that that arm is tight (and I’ve seen them go from
ok to unusable in a very short timeframe.

also try switching the motor connectors at the board (both power to the motor
and the encoder) and see if the problem moves or stays with the same arm.

David Lang

Thanks David! I will check those ideas out. And thanks for the clarification on the spoil board! I was a little confused about that to begin with. I am assuming I can increase voltage in the fluid menu. I’ll take a look tomorrow.

1 Like

This is the setting you want here:

Hi Bar and David, I’ve gone all the way up to 2000 on retraction force and when I test it still says motor not found. I’ve disassembled that motor arm to verify nothing was bound up – everything seemed fine. I reassembled and still “Bottom Right Motor Not Found”.

Is there any way I can check the motor directly? I cant imagine the motor is bad because it was working perfectly fine with multiple retraction and extensions prior to running the calibration (find anchor points). After that is when it bricked.

I am not looking for anymore free stuff, I’ll buy whatever I have to to make this thing work because I’m excited about the technology and I am going to use it to help me built my cabinetry for my new house. So, I’m all ears and ready to solve this! My uncle Chert is a retired electrical engineer. So if it gets overly technical I’m sure he can help. He has a full lab of bench top rectifiers and various other tools to troubleshoot.

Lastly, keep in mind I still have a spare brand new board as I purchased a third when I ordered the replacement just so I wasn’t without options if I continued to struggle, I just don’t want to keep on bricking boards so I haven’t used it yet.

Here is the serial output:

[MSG:INFO: Axis D (-4000.000,0.000)]
[MSG:INFO: Motor0]
[MSG:INFO: Axis Z (-100.000,0.000)]
[MSG:INFO: Motor0]
[MSG:INFO: tmc_2209 UART1 Addr:0 Step:gpio.15 Dir:gpio.16 Disable:NO_PIN R:0.11]
[MSG:INFO: Motor1]
[MSG:INFO: tmc_2209 UART1 Addr:1 Step:gpio.46 Dir:gpio.38 Disable:NO_PIN R:0.11]
[MSG:INFO: Z Axis driver test passed]
[MSG:INFO: Z2 Axis driver test passed]
[MSG:INFO: Using spindle NoSpindle]
[MSG:INFO: Connecting to STA SSID:Falcon]
[MSG:INFO: Connecting.]
[MSG:INFO: Connecting..]
[MSG:INFO: Connected - IP is 192.168.1.81]
[MSG:INFO: WiFi on]
[MSG:INFO: Start mDNS with hostname:http://maslow.local/\]
[MSG:INFO: WebSocket send protection active (canSend() checks enabled)]
[MSG:INFO: SSDP Started]
[MSG:INFO: HTTP started on port 80]
[MSG:INFO: Telnet started on port 23]
Grbl 1.19 [FluidNC v1.19 (wifi) ‘$’ for help]
Grbl 1.19 [FluidNC v1.19 (wifi) ‘$’ for help]
[MSG:INFO: ‘$H’|‘$X’ to unlock]
[MSG:INFO: Encoder connected on Top Left]
[MSG:INFO: Motor detected on Top Left]
[MSG:INFO: Encoder connected on Top Right]
[MSG:INFO: Motor detected on Top Right]
[MSG:INFO: Encoder connected on Bottom Left]
[MSG:INFO: Motor detected on Bottom Left]
[MSG:INFO: Encoder connected on Bottom Right]
[MSG:ERR: Motor not found on Bottom Right]
[MSG:INFO: Error ESP_ERR_NVS_NOT_FOUND reading from NVS!]
[MSG:INFO: Saved belt positions in NVS are marked as stale/invalid (value=0) - machine will remain in UNKNOWN state until belts are calibrated/extended]
[MSG:ERR: Maslow failed to initialize - fix errors and restart]
[MSG:INFO: Maslow update loop registered with hardware watchdog]
[MSG:ERR: Motor not found on Bottom Right]
[MSG:INFO: Channel auto report interval set to 50 ms]
[MSG:INFO: Spoilboard thickness set to 25.400 mm]
Test
Index.html Version: v1.19
[MSG:INFO: Firmware Version: v1.19]
[MSG:INFO: I2C Timeout: ]
[MSG:INFO: 10]
[MSG:INFO: All tests passed on Top Left]
[MSG:INFO: All tests passed on Top Right]
[MSG:INFO: All tests passed on Bottom Left]
[MSG:WARN: Motor not found on Bottom Right]
[MSG:ERR: Motor not found on Bottom Right]

Drew Adkins wrote:

Hi Bar and David, I’ve gone all the way up to 2000 on retraction force and when I test it still says motor not found. I’ve disassembled that motor arm to verify nothing was bound up – everything seemed fine. I reassembled and still “Bottom Right Motor Not Found”.

Is there any way I can check the motor directly? I cant imagine the motor is bad because it was working perfectly fine with multiple retraction and extensions prior to running the calibration (find anchor points). After that is when it bricked.

motor not found is not related to a current limit. that is just saying that when
it applies voltage to the motor, it’s getting no connectivity. so a
continuity/resistance tester to the 2-pin connector for the motor will verify
the motor (or swapping it with a motor at a different position to see if the
error stays with the port on the board or moves with the motor)

I believe the encoders use the i2c protocol to talk to them

we had a batch of early boards where the top stepper driver wasn’t soldered in
properly and would not work/burn out but I haven’t heard of any noticable number
of boards where the pwm output to the motors has any problems. usually that’s a
matter of the plug being not quite in all the way. I think we’ve seen more bad
motors (but even there, probably still single digits of problems)

David Lang