Skip to content

grblHAL/STM32F1xx

Repository files navigation

grblHAL driver for STM32F1xx processors

This driver can be built with the Web Builder. NOTE: 128K flash variants will limit options that can be selected due little available room.

2021-08-08: Added support for F103RC variant that has more flash and RAM, added board map for BTT SKR MINI E3 V2.0 which has this processor and uses TMC2209 drivers in UART mode.

NOTE: STM32F3xx Blackpill can often be used as a drop-in replacement of STM32F103 based *pills. It is likely that grblHAL support for 128K F103s will be frozen at some point due to lack of memory.

Loosely based on code from robomechs 6-AXIS-USBCNC-GRBL port, updated for STM32CubeIDE and the latest STM HAL drivers where appropriate.

See the Wiki-page for compiling grblHAL for instructions for how to import the project, configure the driver and compile.

Available driver options can be found here.

NOTE: F103 variant must have at least 128KB of flash, some chinese clones of F103C8 has 128K. The .ioc design file is not included as modifying the project via the designer requires a bit of cleanup after. The STM HAL is bypassed for all time critical code and to avoid bloat.
NOTE: The SD card plugin requires the SPI1 port to be remapped, disabling the JTAG/SWJ programming interfaces. This will be done on the first mount operation (via a $FM system command) causing the processor to hang. A power cycle is then required to get it working again. NOTE: Cx variants are no longer possible to debug due to limited flash, only the release version can be compiled.

To reenable programming a special system command, $PGM, can be used - issue this followed by a hard reset or power cycle to do so.


2023-09-20