Maslow Home Maslow Community Garden Newsletter

MakerMade M2 motor noise while static

Just got my M2 assembled and calibrated. The big issue for me is the constant whining noise that motors make ALL the time. Primarily the X and Y motors. The noise starts as soon as I plug in USB cord to a computer. It gets a bit quieter for 1 second or so after “Set Home” is pressed in CNCjs/Makerverse but it is there unless power is cut to the board.

I tried several different Due boards with same shield but there is no change.

That high pitched noise is unbearable to me and makes me keep the machine off until the last minute before I have to use it and turn power off as soon as I’m done.

Please help me keep my sanity in shop. Any ideas on how to make M2 be quiet when it’s not in use?

1 Like

I haven’t used one, but my guess is that what you are hearing is the motors position holding. We got rid of that noise in two ways on the original design. First, the motors automatically powered off two seconds after the machine stopped moving so it was quiet except when moving. Second we gave people a couple different PWM frequency options so you could change the tone to either be lower pitched or higher above human hearing. Perhaps you can talk MakerMade into adding something like that?

1 Like

Thank you! That helps - will reach out to MakerMade.

I’d be pretty comfortable trying to hack firmware - do you have any pointers to sample code that accomplished the 2s power off or PWM frequency config?

The two second timeout is going to be the easiest to do. I haven’t looked at the MakerMade code so I can’t give you any specific pointers about where to add it, but I think the 2s timeout is going to be easier to add. Basically it’s just a watchdog timer that is reset every time the motors move. If it’s been more than 2000ms since the last move then the motors are commanded to power off.

1 Like

Grbl code is pretty complex (in comparison to the maslow firmware). I still haven’t wrapped my brains around it. Regardless, grbl has a stepper motor timeout parameter ($1) that would probably be best to use… figure out where that gets processed and then add the code to turn off the motors.


Thanks, will dig in in the next few days.

Just closing the loop on this. I ended up just using the [Sleep] button in the UI to turn off the motors when machine is not in use. That kills the noise and achieves the goal without having to spend time to hack the firmware. The only downside is that it requires to hit [Reset] and then [Unlock] to get back in business but that’s something I could live with.