Well I finally figured out the path to 32 bit Grbl success. I have 4 axis movement, runs under Grblgru and might also have Laser. I used a pre-prepared .Hex file from this guy:
Unfortunately his Grbl settings are poor for my machine so I updated them all with Grblpanel. I haven’t made my own custom version yet since I will have to figure out Atollic but that will come. The laser wasn’t working properly with the first Hex he has avaiable but CNC with 4th axis works fine.
STM32 bit boards are cheap. FTDI boards are cheap. I got both off Amazon but they are much cheaper from China as usual.
ESP32 boards are faster but have fewer pins available.
Here are the steps if you are interested for flashing a .hex or .bin file to and STM32:
- Need a STM32 ‘Blue Pill’ board, FTDI Serial to USB adaptor, Jumper wires, 2 USB cables (one for each board),
- Download STMFlashloader Demo and the .hex file from the site above
- Change the jumper on the FTDI board to 3.3V
- Change the Boot0 jumper on the STM32 board to high (move the top one to the right). Mount on Breadboard.
- Connect Gnd to Gnd, STM32 Pin 9 Tx to FTDI Rx, STM Pin 10 Rx to FTDI Tx. Dont need power
- Connect the USB cables to your computer with the Windows Device Manager open to see which COM port is for which board
- Start STMFlashloader Demo, pick the COM port for the FTDI adaptor
- If that program says Target is Readable then move to the next steps. All of the EEPROM pages should be unlocked
- On the page showing where to erase, write, etc select the .hex or .bin file from the browse menu – second line down - it defaults to something else but you can select the other kinds
- Flash the file. If successful it will say so.
- Unplug the boards, move the Boot0 jumper on the STM32 back to low (left two pins)
- Connect the USB port to your computer and Grblgru should recognise it. I had a bad cable so it wouldn’t recognize the port but I sorted that out. The pinout is here:
Use the PA0, PA1, PA2, etc row.
13. Have some 32 bit fun
I plugged the STM32 board into a Breadboard. I ran the jumper wires to a couple of Arduino CNC Shields to the set of Input pins (X Step/Dir, Y Step/Dir, Z Step/Dir and used the second board for my 4th axis. I powered the CNC Shields from the STM32 chip to the 5V/Gnd pins below the Step/Dir pins. I connected 24 volts to the CNC Shield power inputs. Using A4988 Stepper drivers, I plugged the stepper motors into the CNC shields as usual. It worked fine on my test setup so I plugged my MPCNC Stepper motor cables into it and It works just fine. The laser doesn’t operate properly yet but I’m working on it.