Releases: Arksine/STM32_HID_Bootloader
Updated SKR Pro Build
This build contains no code changes, however the binary is built using the gcc 6.3.1 toolchain. This seems to resolve issues some have with the bootloader not enumerating USB.
Please keep in mind that after programming the bootloader you need to manually enter the it by setting the BOOT1 pin high with a jumper. After the application has flashed remove power, remove then jumper, then power on the device. The application will then load.
Beta Release
New: Added binaries for SKR Mini E3 v2.0
This is a beta release of the updated bootloader for stm32 devices. Below is an overview of the differences between this release and the primary bootloader from Serasidis:
STM32F1:
- Add support for the SKR Mini E3
- Fix issue where "high density" devices may not write the last page
- Fix issue for maple mini clones where led and boot pins are not correctly initialized
- Fix issue where USB is not reset when the bootloader is entered via boot1
STM32F4:
- Add support for SKR Pro 1.1
- Add support for "Extruder Board" by @zbrozek
cli/hid-flash:
- make specifying the serial port optional
- update to work correctly with high density STM32F1 devices (in conjunction with bootloader update)
- update the Makefile to alert the user that libusb-1.0 is a required dependency without generating an error
Additional Notes:
- This release enables the status LED on the BTT SKR Mini E3.
- The
hid_btt_skr_mini_e3.bin
binary enables a pull-up on pinPA2
that can be used to manually enter the bootloader by pulling it to ground. This pin is labeledTX0
on TFT header in the SKR Mini E3's "PIN" document (see the image below). - The
hid_btt_skr_mini_e3_no_btn.bin
removes the above functionality. It is not capable of manually entering the bootloader, however with this bootloader it is safe to connect PA2 to a peripheral that pulls it to ground. - Since the SKR Mini E3 is not capable of entering the built in UART programmer
install_bootloader.cfg
has been provided to flash the bootloader using a Raspberry Pi and OpenOCD. See here and here for good resources on installing OpenOCD and wiring the Pi to the board. When that is complete, put the bootloader binary and config file in your ~/openocd directory and navigate to it (cd ~/openocd
). You can flash by holding the Mini E3's reset button and entering the following command:
sudo ~/openocd/install/bin/openocd -f ~/openocd/install_bootloader.cfg
Its possible to use this configuration with any of the STM32F1 binaries below, you simply need to change the
name of the binary in the .cfg file (program my_binary.bin verify 0x08000000
). - The binaries were built using the
gcc-arm-none-eabi-8-2019-q3-update
toolchain.
DISCLAIMER: As always, flash/use the provided binaries at your own risk, I am not responsible/liable for your usage of them, no warranties/guarantees, etc.
Update for SKR Mini E3, Add SKR Pro Bootloader
This release updates the bootloader and hid-flash tool so that it can properly deal with the 2K flash pages on the STM32F1 variant the SKR Mini E3 uses. See the previous release for details between the button and no button versions. NOTE: If you flashed the previous release, please make sure you navigate to ~/klipper/lib/hidflash
and issue a make clean
command. If you do not then the flash may fail.
Also added is a bootloader for the BTT SKR Pro.
As with before, these bootloaders must be flashed using a programmer. With the SKR Pro it is possible to flash via UART using the system bootloader.
The usual disclaimers apply to these binaries, use at your own risk and I am in no way responsible for bricked devices, magic smoke, fires, explosions, etc.
Alpha release of HID Bootloader with SKR Mini E3 Support
This is an initial release supporting the BigTreeTech SKR Mini E3, intended for use with Klipper. The binary below must be flashed with a programmer. An ST-LINK v2 using the STM32CubeProgrammer software is recommended.
The "btn_PA2" version allows a user to manually enter the bootloader by Pulling pin PA2 to ground. See the image below for an illustration showing which pins to short with a jumper, PA2 is (incorrectly) referred to as TX0. If you wish to connect a peripheral to the TFT header make sure that your peripheral does not pull PA2 (the middle pin) to Ground. Otherwise Klipper will never launch.
The "no_btn" version disables the button above. The downside is that there is no manual way to enter the bootloader to recover a botched flash. The only way to recover with this version is to use a programmer.