Grbl 1.1h fork for the X-Carve Pro machine.
- Install the Arduino IDE.
- Can also be installed via
brew cask install arduino
- Can also be installed via
- Install the
srecordtools (srec_catin particular)brew install srecord
- Add the embedded AVR toolchain to your path
export PATH=$PATH:/Applications/Arduino.app/Contents/Java/hardware/tools/avr/bin
TODO Investigate arduino-cli as simpler alternative
- Install the AVR toolchain packages and
srecordtoolsapt install -y gcc-avr binutils-avr avr-libc srecord
Run make from the root of the repo. This produces a grbl.hex firmware file that can be flashed. See the original wiki for more notes on building from source.
There's an additional XCPgrblUpload.ino.with_bootloader.mega.hex target which combines grbl.hex with a bootloader hex file for the ATmega2560. The bootloader is the one embedded in the Arduino IDE. This combined hex file is what's flashed at the factory.
See the same doc as above on the Grbl wiki
for both flashing (grbl.hex) and compiling instructions.
Flashing the XCPgrblUpload.ino.with_bootloader.mega.hex is more invovled as you need to setup an ISP to erase and write the full program memory. One relatively easy approach is to use another Arduino as an ISP but this does require a small bit of wiring and uploading an custom ISP program to said Arduino.
There's also flash-grbl.sh and flash-combined.sh that wrap the appropriate avrdude command for the respective hex file.
There are automated builds setup on CircleCI for this repo. Currently they are run on PR requests and when changes are merged to master. Upon success, the firmware binaries (grbl.hex and XCPgrblUpload.ino.with_bootloader.mega.hex) are uploaded as a CircleCI artifact. Here's an example of the artifacts tab from a master branch build
When preparing a release, we want to use the Grbl+bootloader firmware (from the master branch build) for handing off to manufacturing. That means properly updating
the build strings and then creating a git tag of the same name. That tag should be the basis for a GitHub release which includes the aforementioned hex file. See the initial release for an example.
Differences from the stock version of Grbl
- Self-squaring
- Custom motor drivers