Project of SmartPendant for grblHAL
To build SmartPendant STM32CubeIDE is used To load firmware via USB STM32CubeProg is used
Full assembled custom board will be available at some point: https://github.com/Devtronic-US/SmartPendant
To make this project yourself, you will need three essential parts:
This handwheel also works from 3.3V. STM321F411 pins handwheel connected to is 5V tolerant, so it can be powered from 5V.
Latest firmware HEX file can be found in Release folder: SmartPendant.hex
To load new firmware STM32CubeProgrammer is used. Connect SmarPendant to PC using USB-C cable. Press and hold BOOT0 button, then short press NRST button, couple seconds later BOOT0 button can be released. Open STM32CubeProgrammer. In top right corner choose "USB" from drop down list. If field "Port" in "USB Configuration" show "No DFU detected" click update button near it. Click "Connect" button - STM32CubeProgrammer should establish connection and show current device memory content. Click "Open File" in left to corner, select firmware HEX file, then click "Download" button in top left corner. When flashing is done, close STM32CubeProgrammer and short press NRST button on the Controller to restart it.
Note: if flashing is successful, but firmware isn't work, check STM32CubeProgrammer log. If it says "sector 0000 does not exist" erasing operation wasn't successful and new firmware "merged"(write operation can only flip bits from 1 to 0) with old one. To fix this issue, press "eraser" button in bottom right corner and click "Ok" button in pop up window. After erasing is finished "Device memory" should show only FFFFFFFF. Flash new firmware after that.
Many thanks to Terje who made this project possible by adding another datastream to grblHAL.