There is a 6 axis grbl version available. This requires the free Atollic TrueSTUDIO to compile the source code. So far no problems running it on the dev board. I find it to be a little bit slower than LPC1769/grbl-lpc version running laser grayscale raster image scanning. This is the firmware if you don’t want to compile your own version. The i/o pin mapping is found in the cpu_map.h file.
You can use these instructions on how to burn the grbl firmware. Just upload the above firmware file instead of the bootloader. You may need to install the STM32 virtual com port driver if you are running a older version of Windows.
Lightburn Laser software has no problem connecting and controlling the STM32/grbl version.
Single axis maximum step pulse rate is about 95khz.
Updated 4 axis firmware with increased buffer size. I changed the following config.h settings:
#define BLOCK_BUFFER_SIZE 254
#define SEGMENT_BUFFER_SIZE 15
This greatly improved the laser grayscale raster speed.
After uploading new firmware, issue a $RST=* in the console. This will reset the boards eeprom and load the default grbl settings.
This is a logic analyzer screen shot capture of 4 axis simultaneous movement. The gcode command was g1x.2y.2z.2a.2f10000. The step pulse timing outputs are the same for each axis. I ran various simultaneous gcode move commands and the timing logic all look good. Different acceleration and step per mm settings were also tested.
Variable Laser PWM, M7, M8, M9 outputs work.
Pinout diagram; courtesy of Rasmus Friis Kjeldsen: