FluidNC FigUI

There’s a new Web UI being talked about on Discord and it has my attention. While I generally use FluidTouch for anything that’s not uploading files, I still use the WebUI sometimes. I considered at one point making a WebUI based around FluidTouch, but that’s a lot of work and I don’t want to?

Anyways, it’s called FigUI. It has light and dark themes, 2D and 3D visualizer, tablet mode, and plugin support as of today.

Tablet Mode:

Right now, unless you have extra flash memory, you would need to replace your existing WebUI. I don’t think I would suggest doing that. I have FluidNC compiled so I have extra flash, so I just renamed the FigUI index.html.gz file to figui.html.gz, uploaded it to flash, and I can access it at http://fluidnc.local/flash/figui.html Although, that only works if you have FluidNC 4.0.

I converted my JogJoy WebUI v3 extension. Need to tweak and test some more but it generally works.

If you just want to try it out without committing to it, it even has a demo mode.

Couldn’t you also use: http://fluidnc.local/sd/figui.html

Yes, I’m just not sure what happens if you’re running a job off the SD and the UI tries to refresh. I know there is the setting to block that (which I have disabled) but the WebUI has always run off flash.

I reflashed my JP2 with your custom_littlefs so I have 2MB available on the flash too.

This looks really nice. I think I will give it a shot.

What is this? I searched, but couldn’t find anything about it.

That was a partition definition that I created so by removing OTA support, you can get more flash for storage.

He has now added a heightmap plugin to the latest FigUI release.

Heightmap Plugin

Probes the surface of a workpiece, builds a Z-correction map, and applies it to G-code files. Designed for PCB milling, engraving, and any precision work where the material surface is not perfectly flat.

This is very cool.

I’m running firmware 4.0.3 with this on my Jackpot v1 and no issues as of yet…

(Note that fluidnc.lan is just for my local DNS resolver)

I’ve just tried running a job off the SD while loading the UI also from the SD, and everything is fine until you try to reload the page. The job will keep going without a way to stop it, other than unplugging everything, because the UI won’t load if there’s something running.

I really liked this UI and will most likely daily drive it. There are just some little things that are missing from WebUI-3. I’ll make a few feature requests on the Git

That is a safety setting. Look for the “Block Https while machine is running”, or something along those lines. Turn it off.

With it off be careful not to refresh to fast or you can bog down the control board while it is running.

I’m looking through the github and trying to wrap my head around compiling vs adding plug ins.

Here is an example:
JoyJog is a plug in and could be loaded through the SD and such, but could I also add it to the components like JobControl.tsx etc?

The real reason would be adding the popup alert but I’m not sure how much easier trying to compile it vs just adding the plugin

I’m not sure I ever finished my joyjog plugin for FigUI. I tend to start more things than I finish.

I would stick with plugins for now. FigUI is still under active development and if you are modifying it directly, then you’ll have to keep it up to date.

I appreciate it!

Is there a way to use a gamepad to jog the Lowrider when using FigUI?

@Tokoloshe whats this gamepad doing here!?

You can remap the controller controls to the keyboard keys…

Jogging

The jog pad offers two modes:

  • Step jog - A ring-based interface where each press moves the axis by a configured increment. Step sizes are selectable per axis.
  • Continuous jog - Hold to move; the machine jogs at the set feed rate for as long as the button is held.

Keyboard jogging is supported: arrow keys for X/Y, +/- for Z. Feed rates for XY, Z, and rotary axes are configured independently and saved to local storage between sessions.

I may sound silly, but how do I remap the keys? I have no idea!

What operating system?

Linux (Ubuntu 26.04)