As I think more about this, I did a full cleaning with a vacuum and air hose. I guess its possible I may have bumped a wire.... I am heading out of town for a few weeks, when I get back I'm just going to have to go through everything and check all the connections. Thanks again!
Hi, I'm building a Lathe with a PIC32MZ controller. The software is built with Harmony environment. So I have all the resources I want (200MIPS hardware floating point and 500K byte RAM). But the system is built without any blocking (loop time ca 20uS). Is possible to in the initialisation precompile(in blocking mode) the whole G-code into Segments in RAM and then let the ISR do the CNC jobb while I coninue loop around ?
It wasn't because you were trying to point out a bug that you were banned, it was because of your ****** attitude. Which you have so amply demonstrated yet again... Pardon my bluntness. MG
So I'm in the process of getting away from a tinyg board with onboard drivers and switching to an Arduino Nano with external TB6600 drivers. My current home switch setup is X-Left, Y-Bottom, Z-up which I understand to be the opposite corner from the GRBL convention. If I set "$23=2 Bottom of your work area to be the home location" would this be a Bottom Left Spindle up home position or a Bottom Right Spindle Up home position? I'm severely space limited and it works better for me for homing and tool change to be at the front/bottom of the machine as the top/back of the spoilboard is commonly used as an assembly area unless I'm cutting a large part. Is the $23 command bit masked? i.e. Bit 1 X home Left/Right Bit 2 Y home Top/Bottom Bit 3 Z home Up/down. So $23=3 would be bottom right up homing using the GRBL wiki naming? (I think Y naming convention should be Front/Back not Bottom/Top as this could be confused with Up/Down.) Trying to sort this out before I rewire the control board and drivers as I'd like to only run wires once rather than test it out after and find I have to move a homing switch.
Hi SugarJ, Yes you set the home seek direction using $23, it works, my machine is left-X, front-Y up-Z home It's just direction invert or not.. so $23= 3 is what i'm using, Y positive home would be super far to reach in my case. Gary
Perfect, thanks so much Gary. My google-fu failed me, I didn't find that chart. That saves me from fishing more wires through my drag chains.
Hi there, just your normal beginner here. I am running GRBL on a arduino mega for a Chinese cloned c-beam machine. I am having this weird error which I can't seem to resolved after clicking return home button on Universal G-code Sender and restarting my computer. Here is a screenshot from the Arduino IDE: and the errors for the universal G code sender Does anybody have a clue on what is going on? Thank you.
Looks like a mismatched baud rate (Perhaps!). Also looks like it’s the UGS nightly? You may want to try grbl on an Arduino Uno with the stable version of UGS.
I am using GRBL for mega. I flash V1.1f Hex file (gnea/grbl-Mega) using Xloader. The problem begins after I pressed return to home after test jogging it. It just keep popping the same message "infinity" until I either shut down the computer or disconnect the mega.
Many Thanks to Gary Caruso and HPB. In fustration, I clear the EEPROM of my Mega and re-flash the GRBL firmware. The problem has been resolved.
Loading the GRBL firmware on an Arduino 328 automatically erases the EEPROM so it doesn't cause problems if setup parameters are added in the newer version. Perhaps the Mega software doesn't do this? MG
This has not been my experience, especially with the Arduino Optiboot boot loader. I believe on an Arduino the eeprom retains values between reflashes. If I need to set grbl settings through the firmware, I have to manually erase the eeprom and then reflash th firmware with the new settings.
This is from the GRBL Wiki: "After flashing, Grbl tries to check the settings in EEPROM. If it finds an incompatibility, it will automatically clear the EEPROM and restore its default. We try to cover all scenarios within the limited flash space we can devote to checking it, but sometimes we miss something and the data in the EEPROM may be incompatible with the version you have. Or, something went wrong with flashing process and corrupted the EEPROM, which does happen every once in a while. This results in the data having weird numbers and values. In Grbl v0.9j and later, the easiest way to clear out the EEPROM is to use the $RST=* command. This will restore the EEPROM space that Grbl uses to their defaults." So, I was partially right. It may reflash the EEPROM to the default values if you are updating versions, but if you are installing the same version again it shouldn't. But, it still may get corrupted. MG
I didn’t know about the version change eeprom erase. I would always change values on the same version and that’s why it would retain values between reflashes. Thank you for pointing this out. I should read the wiki in more detail. It’d be awesome if there was a script using which you could only change the configuration values without reflashing the entire firmware just the configuration values. I think that’s how Smoothie does it and it probably would be possible with the ARM port of grbl.
You might be able to. There might be a way to reload the EEPROM using a GRBL $ command, but I'm not that familiar with all the $ commands. I know there is a way to erase it and restore to default values, but this isn't that useful. I suppose it's a way to get things back into a known working state if it all goes to hell... Yeah, Smoothie reloads the config file from it's SD card on bootup, so you just copy the file onto the SD card and reboot. Unlike Smoothieware, GRBL only takes a couple of minutes to reload everything manually anyway. Keep a screenshot of your settings for emergencies. Smoothie's configuration file can be huge. MG
Hi guys, hope I'm in the right place....... I'm trying to connect my HC-06 Bluetooth module to my Arduino. Well I have connected it but can't communicate with it. I found a page that had a sketch which was meant to update the arduino o allow coms with the Bluetooth. Copied this into a new sketch in the arduino ide(?) program, hit upload but it errored out. Not a computer wiz so having a bit of trouble getting things sorted , haveh got grbl working well with usb but really want to get the Bluetooth working. Appreciate any guidance with this. Cheers Dave
I've never had any success with the HC-06. The HC-05 has always worked flawlessly. You don't need a separate sketch to work with the modules. You are simply replacing the USB cable with Bluetooth. You connect to the Bluetooth module which creates a COM port (in Windows) on your machine. In your grbl GUI of choice or the Arduino IDE you simply select that COM port and you should be ready for comms. You can communicate with grbl through the Serial Monitor in the Arduino IDE but for running toolpaths you really should get a grbl GUI. Do a search and plenty will come up. There is also a list on the grbl wiki. However note that the Bluetooth modules are 3.3V devices and the Arduino is a 5V device. This means you will need a 5V to 3.3V translator such as this or this. These go between the RX and TX lines of the module and the Arduino RX and TX lines. With the HC-05 you can also program the Arduino wirelessly using the STATE pin on the module but that requires some module programming through the AT commands.
Thanks, I'm not using it with windows but via an app on my phone. From what I've read the 3.3v shouldn't be an issue. My reading has returned that i do need to update the arduino so it talks through the bt module. It pairs with my device no problem, just won't talk to grbl. So must still be some work to do..... Cheers
Hi, I hope I am in the right place. I have not found any satisfying answer to my questions elsewhere. I have been using grbl for a custom application for a few months and it is very efficient. Thank you ! I am particularly amazed by the new laser mode in version 1.1. I would like, however to tune grbl, and I don't know exactly where to start. When the M4 mode is activated in laser mode, I would like grbl to send a short pulse on the spindle pin everytime a distance d~0.1mm is crossed (tuned by user). In short I would like to replace the PWM output of the pin, proportional to the speed, by a voltage pulse triggered by path length. Is it possible ? My concern is that grbl is heavily optimized in term of memory and I would have to add a variable to memorize the distance. Could it be a problem ? My second problem is that although I know C, I have zero experience in using it with microcontroller. I had a look at the source, but I am a bit lost in it. Could you point me in the right direction ? I have no idea if what I am trying to do is doable, but I would like to consider that option before trying alternatives, by adding electronics or so. Thank you in advance
Hi Can anybody help me .I have been cutting shapes last week on my c beam machine,with Grbl panel and CNC xPRO V3 Controller Stepper Driver now today it has reversed Z travel and plunged into the work piece snapping the cutter instead of lifting (x and Y are fine ) Thanks Richard
Possible reasons could be that the connector on the board was reversed unwittingly. Did you check your gcode? Are you sure there was a negative sign where it wasn’t supposed to be? Is the z-axis working properly (though in reverse)? If it’s not the z driver maybe fried but that’s the worst case.
Hi thanks for your prompt reply. I have not touched the wiring ,the gcode worked fine Friday ,it was the same code I used today I ran the code with the router at a raised Hight it carried our the code in revers . on the grbl panel on Z only the -z travels + and +travels- .nothing was changed other than turning off over the weekend I will try tomorrow switching the wires around certainly a mystery. Richard
Hello everyone, I am using GRBL with a CNC shield and A4988 drivers to control 3 stepper motors for my setup which is not a CNC. I have a camera that I would like to take images at specified coordinates without interrupting the motion of the stepper motors. So far I have tried using the coolant enable pin to send a 5 volt signal to the camera to take an image. This works, however, the motors stop briefly every time I send the M8 and M9 commands. This is not great as the motors are connected to pumps which I am controlling to have a specific velocity at various times which must be maintained. I have been looking into the GRBL code files and have not been able to discern a way to eliminate this pause of the motors. I would like to re purpose the coolant enable pins to just send a 5 volt signal. Any help would be much appreciated.
Hi, so to start we have a belt driven ooznest Workbee, 1200×1200 in size. We've had this for a good few months with zero issues what so ever. So after our IT department updated the PC we use to control the CNC machine it's stopped working- we use UGS to send the Gcode to the machine but currently we are getting a "GRBL has not finished booting" . We've tried most things like uninstalling drivers etc and still can't get it to talk? Apologies if this is the wrong thread and my terminology is bad but still very new to this. I have heard of reflashing the Adruino, and taking it back to the start again, but don't have a clue where to start.
Possibly your driver was corrupted? Got to Control Panel/Device Manager and check under "Ports Com and LPT" heading, you should see a USB/Serial device listed. Make sure the Com port shown is the same one you are using on UGS. If there us an "Unknown Device" in yellow, your driver needs to be reinstalled. Click on "Update Driver" in the Properties. When you plug/unplug your CNC, you should hear Windows make a sound. If not, it is not recognizing the device. If you need instructions on reflashing the Arduino, let me know, but be aware that it will probably wipe all your GRBL settings, so make sure you have them recorded somewhere. MG