Display Current Location Control

Hi all,

I'm considering switching from cnc.js to Octoprint for controlling my Marlin based CNC router (MPCNC Lowrider 2). Through these forums and various plugins I've gotten close to feature parity with the cnc.js but the one thing that bugs me is that there is no display of the current location.

I know per the FAQ that it isn't shown because of the execution pipeline when a job is running and that it might be time delayed. This makes perfect sense for a 3D printer as jobs almost always have an have an origin at 0,0 and there isn't much of a job setup.

For CNC's its a bit different as you typically bring the machine head to the workpiece and often your origin is in the middle of a sheet of plywood. What I'd like to build is a plugin or control that updates coordinates in near real time as I jog the machine to the workpiece. It also serve's as as a safety blanket to ensure I've reset my origin via M92 prior to starting the job. I don't need to track the machine head is after the job starts just when I'm making manual moves via the keyboard so the plugin can disable itself once the job starts or just give delayed results.

Any thoughts on the best way to accomplish this? Thanks!

1 Like

@my_location
You can create a custom Octoprint plugin that continuously updates and displays the machine coordinates in near real-time while jogging the CNC router, with the plugin automatically disabling itself when a job starts or providing delayed results when the job is running.

1 Like

Hello @PeterKahan !

You are invited to do that :wink:

BTW:

grafik

1 Like

Displaying Current Location for CNC Router in OctoPrint

This is the most robust and customizable approach. You can create a custom OctoPrint plugin that continuously reads the current machine coordinates from the Marlin firmware. The plugin would display these coordinates in near real-time on the OctoPrint interface. Additionally, you can implement logic to disable the plugin automatically when a job starts or provide delayed updates when the job is running to avoid performance issues.