Grbl on RAMBo w/ Dual Endstops!

right! It’s been sitting in a drawer so long I was thinking of it as another rambo. Totally forgot about the processor. I’ll see if that esp32 might be helpful. Thanks. I did find a version of grbl called “grbl32” that appears intended for Cortex M3 chips, of which the archim seems to be a derivative. In way over my head right now, for SURE.

1 Like

Not sure if anyone could help out with this, but I’m trying this with a rambo 1.3 and nothing I do in Universal gcode sender will turn any motors. Anyone have ideas? I was using the default config from op post iirc. The motors are 2a nema 23s if that could be the problem?

Did they work with the marlin firmware?

A common issue is only wiring half the required power inputs. Are you sure both motor and logic power are being supplied? A photo of the power section of the control board would help.

I was having a lot of trouble with buffer overflow crashes using Lightburn with my Rambo and Marlin, switching over to GRBL has been a game changer! Thank for all the hard work porting this over!

1 Like

Grbl runs great and I love the auto squaring. How are people handing the Z axis? So for example you turn the MPCNC on, it auto squares but now it thinks Z’s max is where it was when you turned it on and the soft limit wont let you change the Z height to go up if you need to. Thanks

Mike,

I put an endstop on the Z axis and I configure Grbl to use it.

Grbl calibration starts with the Z axis, it moves up until it reaches the endstop. Then it proceeds with X and Y axis (auto-squaring). After that, machine limits are set (physical endstops + dimensions you configured for your axes), Grbl will prevent you (or your gcode) from going outside machine limits.

You still have to set your Z0 (in workspace coordinates) manually or by probing, but you are free to move up and down as far as you stay in the configured machine limits.

1 Like

Julien,

I added the endstop yesterday, tweaked the config file and reflashed the bios. Seemed to work great. This morning I went to use the machine, started lightburn and the homing cycle and it ignored the switch and kept driving up, pushing the endstop out of the way. I had to turn off the Rambo so it wouldn’t push the z axis all the way out., I tried this 3 or 4 times with the same result. I used a multimeter to make sure the switch was working and it was, checked the signal at the board end as well. I didn’t feel like bothering with it this morning and swapped the firmware back to no z homing.

Any idea what the problem might be? It worked fine yesterday??

Hi Mike,

I don’t remember having this issue. I believe I connected my switches in NC mode. This way if a switch is dead the axis should not move at all + no need to filter the bounces occurring when the switch is pressed. I will share what I edited in firmware config and my Grbl settings tomorrow.

You should use the ? command to ask for status report and see if Grbl knows when you press the switch. I know you have to configure the $10 value to select what should be included in status report, but I don’t remember the values. You should be able to get status reports before homing your machine.

Either $10=1 or $10=3 would work as they both show limit states. =3 just adds wpos.

Definitely verify the correct grbl messages in terminal before you do a live test with motors moving. I have broken several z switch mounts learning this.

Warning this document is for Grbl v0.9 and we are using v1.1. $10 values were simplified and the doc is obsolete. @truglodite you are right that all values will display limit states. See official Grbl doc.

@mcsterls if you change this, be careful that LightBurn wants your machine to report WPOS ($10=0) whereas the default is to report MPos ($10=1)

Hi Julien,

I tried this and wasn’t sure of the response I was getting, did a little digging and found this article for ver 1.0c

Which retuned this:
<Idle|WPos:-2.000,18.000,0.000,-2.000,18.000|Bf:35,254|FS:0,0|Pn:ZH>

I’m not sure if the info I’m looking for is in there. I flashed the firmware back the the version that I enabled Z homing and now the Z axis isn’t moving at all.

Mike,

Sorry for the delay I didn’t have access to my machine.

Here are the changes I did for my CNC :


Again I use NC mode. Switches are closed when not pressed. I don’t use the middle connector on the switches.

Here is my Grbl config :

$0=10
$1=255
$2=0
$3=21
$4=0
$5=0
$6=0
$10=3
$11=0.020
$12=0.002
$13=0
$20=1
$21=0
$22=1
$23=27
$24=100.000
$25=1000.000
$26=250
$27=2.000
$30=30000
$31=0
$32=0
$100=100.056
$101=100.169
$102=400.000
$103=100.056
$104=100.169
$110=10000.000
$111=10000.000
$112=400.000
$113=10000.000
$114=10000.000
$120=400.000
$121=400.000
$122=200.000
$123=400.000
$124=400.000
$130=953.000
$131=478.000
$132=98.000
$133=953.000
$134=478.000
$140=135.000
$141=135.000
$142=135.000
$143=135.000
$144=135.000
$150=0.000
$151=0.000
$152=0.000
$153=0.800
$154=0.000

When I power-on my CNC, without doing any homing or anything :

  • Here is what I get if I ask for status with the ? command :
    <Alarm|MPos:0.000,0.000,0.000,0.000,0.000|Bf:35,255|FS:0,0|Pn:H>

  • Here is what I get if I keep pressing the Z switch and ask for status again :
    <Alarm|MPos:0.000,0.000,0.000,0.000,0.000|Bf:35,255|FS:0,0|Pn:ZH>

Please note the Z near end of line.
Same thing if I press other switches I will get Pn:XH, Pn:YH

I can confirm that this configuration works as expected. I am able to home and square my CNC with good repeatability. I am not limited when moving Z. I can probe…

Hello,

I’m sorry but I am very new to this and have no idea what I am doing. I tried following the steps for the grbl flash but I keep getting error messages. Could you please help me. I want to use easel and I read that only uses grbl.

We’ll need to know what errors you’re getting to be able to help you past them. I run a different board, but I believe you need to have 12V to the Rambo to flash it, not just the USB connection like Arduinos.

Be aware that the config list is settings that are made through a terminal after the firmware has been flashed, they don’t go in the firmware file. I was familiar with Arduino flashing (from a couple of 3D printers) before trying out grbl, and I was surprised how much simpler the grbl process was - how little had to be done in the config files and how many configurations were managed by the $ settings (and didn’t require flashing to reset).

Hello. Thank you for the response. I believe I was able to flash grbl to my board by finding the add ons for the Rambo board and selecting it under the tools menu. But for some reason I still can not connect to easel. I have tried selecting the com. I have looked at my firewall settings to see if ease is being block (which it isn’t) but still nothing. Would you know why this? I read easel won’t work with marlin which is why I flashed grbl on it but again it just won’t connect. Is there a way for me to test to see if grbl was in fact flashed on my Rambo board?

What operating system are you using? I’ve not run Easel, nor have I ever had my hands on a Rambo board, but I’ll try to help the best I can.

What message (if any) does Easel show when it fails to connect?

Can you try something with a gcode terminal, like cncjs, Universal Gcode Sender (UGS), Pronterface or Repetier Host? One of those should allow you to see any results of attempting to connect to the board. It may be possible to check this from a command prompt, but that’s beyond my experience as well.

In my experience, most connection issues are from trying to connect to the wrong USB port number, or using the wrong baud rate, or some other application already having taken control of the particular USB port (Repetier Server is known to do this).

I’m running windows 10. I use to be able to control the cnc with repetier but now I get a communication timeout - reset send buffer block. It does however seem to connect to repetier. Easel says Machine must be plugged in and turned on to jog. Which it is. I have also tried other USB ports

Is Easel running in the background? Only one app can connect at a time.

1 Like

I’ve never tried to connect Repetier Host to grbl. I’ve done a quick google search and found a couple of support forum questions without firm answers as to whether repetier host can connect to grbl.