FluidNC & Biqu Microprobe

Has anyone gotten these two to play nice with each other? I see ‘probe’ stuff on the FluidNC wiki, but the Microprobe has to be enabled. I’m assuming I can use any digital pin to extend the probe, but how does a G28 Z work for that?

Is this even possible? I’m new to FluidNC. (First project with it)

Not that I’ve seen anyone document either here or on the FluidNC discord.

How does the Biqu Microprobe work? A quick look a their documentation leads me to believe you hook up 5V and GND, then have two GPIOs - one for deploying/retracting the probe and one for reading the value.

You should be able to do this with gcode and pin definition in FluidNC.

Looks like you use the orange wire to deploy/retract the probe, this would be an output pin you define and toggle with gcode when you want to probe.

You read the white wire for the probe status- this gets connected to an input pin.

You’d need to map the probe deploy/retract to a pin you define that is accessible by gcode, and define the probe pin to IO you read to see if the probe is triggered.

I’ll be watching with interest to see what you come up with.

Thanks!

I figured it was something like that, but was hoping for validation before I started trying things. The laser ‘stuff’ is currently in pieces waiting for the final mounting plate to finish printing. I’ll hook everything up hopefully this evening and give that a try.

I’ll use the z_endstop for the input and one of the bare GPIO pins for the output. I’m already using one of the GPIO outputs to run the laser controller and that’s working well (after quite a bit of testing).

As a reminder from other posts on this site, this is the controller I’m working with. I did finally stick some heatsinks on the TMC2209s

EDIT: Ha! and as I’m mentioning this, the print just finished…

1 Like

Well… It’s not ‘exactly’ working.

So far, I have the probe turning on. I have a macro to kick out the probe.

As long as I kick out the probe manually using the macro, then click the ‘probe’ button on Z works when I push the pin in with my finger.

I need to learn more about the macros stuff. I have some set in the config.yaml, but they’re not showing up in the UI.

I also don’t have a working Home-Z command. I’ll need to figure that out. I had to come in after spending time on this during my lunch. Back to real work now.

Here’s what I have so far. The macro1 for stow doesn’t currently work. And the macro2 doesn’t work either. Actually, once I run macro0 It seems to ignore any other macro commands I send it.

user_outputs:
  analog0_pin: gpio.17
  analog0_hz: 50

probe:
  pin: gpio.39:low
  check_mode_start: true

macros:
  macro0: M67 E0 Q500
  macro1: M67 E0 Q1500
  macro2: M67 E0 Q500&G4 P200&G38.2 Z-10 F50&M67 E0 Q1500
1 Like

30 more seconds of troubleshooting and the stow command works too… It’s Q0 to stow. I’m also thinking I can probably use Q1 to deploy as both Q500 and Q1500 worked to deploy. I’ll test that later.

1 Like

Had to remix the air-nozzle to add the microprobe mount.

2 Likes

It’s alive! I still need to figure out the homing sequence.

5 Likes

Here’s the working config for the microprobe.

I need to double check macro2, I made a change and didn’t test it, but the rest of the stuff works in FluidNC (latest version, latest UI)

user_outputs:
  analog0_pin: gpio.17
  analog0_hz: 50

probe:
  pin: gpio.39:low
  check_mode_start: true

macros:
  macro0: M68 E0 Q500
  macro1: M68 E0 Q0
  macro2: M68 E0 Q500&G4 P2&G38.2 Z-50 F50&G10 L2 P0 Z0&G0 Z3&M68 E0 Q0
1 Like

Not sure how/what the G10 command is supposed to do, but that didn’t seem to set the zero. I ended up adding a G92 Z0 before the G0Z3 to make the macro2 do what I wanted it to. But ‘homing’ Z works now.

Ok. This all has to do with coordinate offsets. I need to play with this more.

I’m assuming you know the offset that you want it at? If so, you could just include a P parameter, which is typically touchplate thickness, for that offset in the G38.2 and get rid of the G10/G92. When using G10, you probably want L20 instead of L2. Technically, you don’t want to do a G10/G92 for zeroing Z after a G38.2 because it will still decelerate after the probe touches. Although, at 50 mm/min, it probably doesn’t matter.

The screw on this z axis is wound so tight that any movement is negligible in the eyes of the Laser. even a half mm offset isn’t going to affect the focus that much.

I updated my G10 command to use the L20 based on some testing. I have it working quite well for probing Z at this point.

My setup is to physically move the laser to the X0Y0 point on my board and power on the machine. Once powered up, I give it a GO X10Y20 to move the microprobe over the workpiece. Then I can run macro2 .

I hadn’t quite figured out G53 vs G54 offsets until lunchtime today. This seems to do what I want it to.

  macro2: M68 E0 Q500&G4 P2&G38.2 G91 Z-50 F50&G10 L20 P1 Z0&G90&G0 Z3&M68 E0 Q0