This is a repository of BIGTREETECH bootloaders. The originals are stored under the bootloader_bin/backed_up_original_bootloaders/ directory. This repository also has a bootloader for the SKR E3 TURBO to fix the high pitch sound coming out of the CR10_STOCKDISPLAY it is located on the bootloder_bin/compiled_bootloader_bin/ directory.

Overview

Bootloaders for BIGTREETECH Boards:

This repository can be downloaded as one large zip file from my Google drive: https://drive.google.com/file/d/1vh2pi98j-Lo5vWr8SmSnTt2LBf3BJOX8/view?usp=sharing

This is a fork of https://github.com/triffid/LPC17xx-DFU-Bootloader and https://github.com/ardiehl/BTT_SKR_13_14_14T_SD-DFU-Bootloader

Puropse of this repository

The purpose of this repository is two folded. The first purpose to to back up the original boot loaders for the BIGTREETECH boards. The second purpose of this repository is to provide a way for a user to compile a custom bootloader for the SKR V1.3, SKR V1.4, SKR V1.4 Turbo and SKR E3 Turbo boards.

The first purpose is to back up the original boot loaders for the BIGTREETECH boards

The backups can be found here: https://github.com/GadgetAngel/BTT_SKR_13_14_14T_SD-DFU-Bootloader/tree/main/bootloader_bin/backed_up_original_bootloaders

There are PDF files for both Windows 10 based computers and Linux computers. These PDF files are GUIDES for the Marlin user on how to backup the bootloader file and the bootloader-and-firware file for the BIGTREETECH boards.

The "Bigtreetech boards Bootloaders_v2.0.pdf" contains the layout of the flash memory for each of the BIGTREETECH boards. You will need this file and a GUIDE if you want to backup or restore your bootloader file to a BIGTREETECH board.


The GUIDES for Windows 10 machines are listed below:

If you plan on restoring or backing up the bootloader using a Windows 10 machine than use one of these GUIDES:

  1. "Guide UART Flash SKR V1.3 or SKR V1.4 or SKR V1.4 TURBO using Windows 10.pdf" which should only be used for SKR 1.3, SKR V1.4 or SKR V1.4 Turbo boards. The PDF uses the BIGTREETECH BTT writer device to communicate with the board.

  2. "Guide UART Flash SKR V1.3 or SKR V1.4 or SKR V1.4 TURBO using USB to TTL adapter using Windows 10.pdf" which should only be used for SKR V1.3, SKR V1.4, or SKR V1.4 Turbo boards. This PDF uses the USB to TTL adapter to communicate to the board.

  3. "Guide UART Flash SKR E3 TURBO board using Windows 10.pdf" or "Guide UART Flash SKR E3 TURBO board_reducedsize using Windows 10.pdf" which should only be used for the SKR (mini) E3 Turbo board or SKR E3 Turbo board. The BIGTREETECH BTT Writer device is used to communicate with the board.

  4. "Guide ST-LINK Utility on Windows 10 for ST-Link-V2-Clones for accessing STM32 Processors.pdf" which can be used on the following BIGTREETECH boards: BTT002 V1.0, GTR V1.0, SKR CR6 V1,0, SKR E3 DIP, SKR mini E3 V1.2, SKR mini E3 V2.0, SKR mini MZ V1.0, SKR mini 1.1, SKR PRO V1.1, or SKR PRO V1.2 boards. This GUIDE can be used for either ST-LINK-V2 clones or ST-LINK-V2 offical device from STelectronics.

The "Bigtreetech boards Bootloaders_v2.0.pdf" contains the layout of the flash memory for each of the BIGTREETECH boards. You will need this file and a GUIDE if you want to backup or restore your bootloader file to a BIGTREETECH board.


The GUIDES for LINUX machines are listed below:

If you plan on restoring or backing up the bootloader using Linux (Linux Mint 20.1 or Ubuntu or a Debian Derivative):

  1. "Guide st-flash Utility for ST-Link-V2-Clones With NRST for accessing STM32 Processors using LINUX.pdf" which can be used on the following BIGTREETECH boards: BTT002 V1.0, GTR V1.0, SKR CR6, SKR E3 DIP, SKR mini E3 V1.2, SKR mini E3 V2.0, SKR mini MZ V1.0, SKR mini 1.1, SKR PRO V1.1, or SKR PRO V1.2 boards. This GUIDE covers the st-flash utility and the eblink utility. The ST-LINK-V2 clone is the device used to communicate with the board and uses 5 wires to connect to the SWD port. One of these wires is the RST wire and the RST wire is connected to the SWD connector.

  2. "Guide st-flash Utility for ST-Link-V2-Clones WO NRST for accessing STM32 Processors using LINUX.pdf" which can be used on the following BIGTREETECH boards: BTT002 V1.0, GTR V1.0, SKR CR6, SKR E3 DIP, SKR mini E3 V1.2, SKR mini E3 V2.0, SKR mini MZ V1.0, SKR mini 1.1, SKR PRO V1.1, or SKR PRO V1.2 boards. This GUIDE covers the st-flash utility and the eblink utility. The ST-LINK-V2 clone is the device used to communicate with the board and uses 4 wires to connect to the SWD port. One of these wires is the RST wire and the RST wire is NOT connected to the SWD connector.

  3. "Guide STM32CubeProgrammer Utility for ST-Link-V2 (offical) for accessing STM32 Processors using LINUX.pdf" which can be used on the following BIGTREETECH boards: BTT002 V1.0, GTR V1.0, SKR CR6, SKR E3 DIP, SKR mini E3 V1.2, SKR mini E3 V2.0, SKR mini MZ V1.0, SKR mini 1.1, SKR PRO V1.1, or SKR PRO V1.2 boards. This GUIDE covers the STM32CubeProgrammer utility. The ST-LINK-V2 offical device is the item used to communicate with the board and uses 4/5 wires to connect to the SWD port. One of these wires is the RST wire and the RST wire is connected to the SWD connector. You can also not connect up the RST wire but it is recommened that you do connect the RST wire. But some MCU processor may not connect to the ST-LINK-V2 device if the RST line is used, if that is the case, try again but this time disconnect the RST line.

The "Bigtreetech boards Bootloaders_v2.0.pdf" contains the layout of the flash memory for each of the BIGTREETECH boards. You will need this file and a GUIDE if you want to backup or restore your bootloader file to a BIGTREETECH board.


The backups can be found in the backup folder located: https://github.com/GadgetAngel/BTT_SKR_13_14_14T_SD-DFU-Bootloader/tree/main/bootloader_bin/backed_up_original_bootloaders

The backup folder is organized by the name of the BIGTREETECH board. Each board has three subfolders: "Bootloader" folder, "Bootloader ONLY" folder, and "Bootloader_and_Firmware" folder. Optional folders are: "old" folder, "From the web" folder, or "Problem with using ST-LINK Utility" folder

  1. Bootloader folder: contains the bootloader file that is the size determined by Marlin. The name of the file is the "board name-bootloader.zip". There are two files contained within the .zip folder which are named "board_name-bootloader.bin" and "board_name-bootloader.hex". If you have a choice to flash either file please use the .hex file because it knows where in flash memory the data needs to reside. The reason the files are contained within a zip folder is to assist with downloading these types of files from the web.

  2. Bootloader ONLY folder: contains the bootloader file that is the actual size of the boot loader. The name of the file is the "board_name-bootloader-only.zip". There are two files contained within the .zip folder which are named "board_name-bootloader-only.bin" and "board_name-bootloader-only.hex". If you have a choice to flash either file please use the .hex file because it knows where in flash memory the data needs to reside. The reason the files are contained within a zip folder is to assist with downloading these types of files from the web.

  3. Bootloader_and_Firmware folder: contains the bootloader-and-firmware file which is a copy of the full flash memory of the board. The name of the file is the "board_name-bootloader-and-firmware.zip" There are two files contained within the .zip folder which are named "board_name-bootloader-and-firmware.bin" and "board_name-bootloader-and-firmware.hex". If you have a choice to flash either file please use the .hex file because it knows where in flash memory the data needs to reside. The reason the files are contained within a zip folder is to assist with downloading these types of files from the web.

  4. Optional folders: "old" folder or "From the web" or "Problem with using ST-LINK Utility" folder

The "old" folder: contains files for my puposes. The "From the web" folder: contains boot loader files I found on the web.

The "Problem with using ST-LINK Utility" contains information for obtaining the bootloader from the SKR MINI E3 V2.0 board and a hardware fix.

The hardware fix will use another PIN on the processor to replace the SWCLK line that is being reused by the board for the USB port. This hardware fix will free up the SWCLK pin to be used only for the SWD connector. The SKR MINI E3 2.0 board, disables the SWD connector's pins. If you preform this hardware hack you must also adjust the Marli firmware to match the hardware change.

The folders within the SKR mini E3 2.0 backup directory also contains another folder called "FW File needed to turn ON SWD connector" which contains the Marlin firmware that is needed to be installed on the SKR MINI E3 V2.0 board PRIOR to trying to back up the bootloader file. This Marlin firmware or "FW File" enables the SWD connector pins (PA13 & PA14) so that the ST-LINK-V2 offical device can connect to the processor. If this "FW File" is not placed onto a micro-SD card and placed inside the micro-SD card reader the ST-LINK-V2 probe device will NOT be allowed to connect to the processor because you have not enabled PA13 and PA14 yet. Once you have backup your bootloader file you can compile your own version of Marlin firmware for you printer and upload it to the SKR CR6 V1.0 board via the onboard SD Card reader. I fact, I would not run a 3D printer with the FW File. ST-LINK-V2 Clone devices will not work with this board, they appear to work (they save the file) but when you look at the file contents it is mostly all 0xFF. Therefore, I have found that an official ST-LINK-V2 device from STelectronics will connect and properly save the files. An official ST-LINK-V2 can be bought from Amazon for $37.00 [https://www.amazon.com/ST-LINK-V2-circuit-debugger-programmer/dp/B00SDTEM1I].

NOTE: I just determined that if you have the offical ST-LINK-V2 from STelectronics (not a clone) the offical device CAN connect to the board even tho the SWCLK and SWDIO lines are repurposed. So try connecting to the SKR MINI E3 V2.0 board first to see if the ST-LINK-Utility on Windows will connect, if it connects then you are good to save the bootloader, if it does not connect then I would try to load the "FW File" located in subdirectory "FW File needed to turn ON SWD connector".

The SKR CR6 V1.0 board also repuposes the SWCLK line and SWDIO line for other signals on the board. Therefore I have provided you with the Marlin firmware that needs to be loaded on to the board PRIOR to you trying to back up the bootloader from the board. The Marlin firmware is a basic setup but it enables the PA13 and PA14 to work only with the SWD Connector. If this new firware is not placed onto a SD card and placed inside the SD card reader the ST-LINK-V2 probe device will NOT be allowed to connect to the processor because you have not enabled PA13 and PA14 yet. This "FW File" is located in a subdirectory of the SRK CR6 V1.0 directory and is called "FW File needed to turn ON SWD connector". Once you have backup your bootloader file you can compile your own version of Marlin firmware for you printer and upload it to the SKR CR6 V1.0 board via the onboard SD Card reader. I fact, I would not run a 3D printer with the FW File. ST-LINK-V2 Clone devices will not work with this board, they appear to work (they save the file) but when you look at the file contents it is mostly all 0xFF. Therefore, I have found that an official ST-LINK-V2 device from STelectronics will connect and properly save the files. An official ST-LINK-V2 can be bought from Amazon for $37.00 [https://www.amazon.com/ST-LINK-V2-circuit-debugger-programmer/dp/B00SDTEM1I].

NOTE: I just determined that if you have the offical ST-LINK-V2 from STelectronics (not a clone) the offical device CAN connect to the board even tho the SWCLK and SWDIO lines are repurposed. So try connecting to the SKR CR6 V1.0 board first to see if the ST-LINK-Utility on Windows will connect, if it connects then you are good to save the bootloader, if it does not connect then I would try to load the "FW File" located in subdirectory "FW File needed to turn ON SWD connector".

IMPORTANT NOTE: If you use the backup_up_original_bootloader folder, you need to be aware that the bootloader files on the following boards are the orignals but the Marlin firmware that is saved as part of the the xxxx-bootloader-and-firmware.bin or xxxx-bootloader-and-fimrware.hex files will work but when you reboot the board you might get a MIN TEMP error (SKR V1.3, SKR V1.4, SKR V1.4 Turbo, SKR PRO V1.1, and GTR V1.0), and the Marlin Firmware will cause the printer to shut off. I have bought brand new boards for the SKR V1.3, SKR V1.4 and SKR V1.4 TURBO and went and did a do over on ripping the bootloader and firmware files from those boards. The bootloader and firmware files are what come straight from the factory. I you run into a problem with the SKR PRO V1.1 or GTR V1.0 board (getting a MIN TEMP error, the bootloaders are also as they came from the factory) then the way to solve this issue is for you to recompile the Marlin Firmware from the release branch of Marlin on github.com and take your compiled firmware.bin file that was built for your printer and place it on the micro-SD card and put it into the onboard micro-SD card reader so that your version of Marlin will get up loaded to the board. If you can not up load via the micro-SD card you can upload your Marlin firmware via the SWD connector and a ST-LINK-V2 device. Please look at the Bigtreetech boards Bootloader V2.0.pdf to see at which hex address the Marlin firmware begins for each board. THe GUIDES will explain how to restore files. The only thing that is different from the GUIDES is that you are uploading only the Marlin firmware which means the starting hex address will be different and the file uploaded will be different but the procedure is the same.

I was performing testing for Marlin concerning the MAX31865 board and PT100 and when I started this project. I apologize for any inconvience this might have caused. The bootloader for each board are SOLID, and have never been changed so if you manage to up load the bootloader files and your board still does not boot then the next solution would be to upload your compiled Marlin firmware only.

I would appriciate people reporting any board might have issues. I know the SKR V1.4 Turbo board has Marlin firmware that will produce a MIN temp error. I bought another SKR V1.4 Turbo board and ripped the files again. User NezSez, who reported the issue about the SKR V1.4 Turbo board has sent me the bootloader-and-firmware.bin file that he dumped from his new SKR V1.4 Turbo board. So the SKR V1.4 Turbo now has two copies of the bootlaoder-and-firmware.bin files. I did a hex comparison on the files and they are now exactly alike. Once recieved I will update the backup_up_original_bootloader folder for SKR V1.4 Turbo board with this file. The SKR V1.4 Turbo bootloader-and-firmware.bin file was recieved by NezSez from github.com. Thank you NezSez for finding, reporting and helping fix the problem.


The second purpose of this repository is to provide a way for a Marlin user to compile thier own custom bootloader for the SKR V1.3, SKR V1.4, SKR V1.4 Turbo or SKR E3 Turbo boards.

The compiled custom bootloader for the SKR V1.3, SKR V1.4, SKR V1.4 Turbo, and SKR E3 Turbo boards can be found: https://github.com/GadgetAngel/BTT_SKR_13_14_14T_SD-DFU-Bootloader/tree/main/bootloader_bin/compiled_bootloader_bin

The compiled custom bootloader folder is organized by the name of the BIGTREETECH board.

This folder also contains PDF files: "Bigtreetech boards Bootloader_v2.0.pdf" which contains all the flash memory information layout for each BIGTREETECH boards. "Guide_xxxxxxxxxx.pdf" which contains a guide on how to back up and restore these files to the SKR (LPC1768 or LPC1769) boards.

Each board folder contains two subfolders: "Bootloader ONLY" and "Bootloader_and_Fimware" folders.

  1. Bootloader ONLY folder: contains the bootloader file that is the actual size of the boot loader. The name of the file is the "board_name-DFU-Bootloader-only.zip". There are two files contained within the .zip folder which are named "board_name-bootloader-only.bin" and "board_name-DFU-Bootloader-only.hex". If you have a choice to flash either file please use the .hex file because it knows where in flash memory the data needs to reside. The reason the files are contained within a zip folder is to assist with downloading these types of files from the web.

  2. Bootloader_and_Firmware folder: contains the bootloader-and-firmware file which is a copy of the full flash memory of the board. The name of the file is the "board_name-bootloader-and-firmware.zip" There are two files contained within the .zip folder which are named "board_name-bootloader-and-firmware.bin" and "board_name-bootloader-and-firmware.hex". If you have a choice to flash either file please use the .hex file because it knows where in flash memory the data needs to reside. The reason the files are contained within a zip folder is to assist with downloading these types of files from the web.

Bigtreetech SKR 1.3, 1.4 and 1.4 TURBO;

This is a fork of https://github.com/triffid/LPC17xx-DFU-Bootloader

Supports Bigtreetech SKR 1.3, SKR 1.4 and SKR 1.4 TURBO with the same binary.

Bootloader for Bigtreetech SKR (mini) E3 TURBO board

This is a fork of https://github.com/ardiehl/BTT_SKR_13_14_14T_SD-DFU-Bootloader

Supports Bigtreetech SKR 1.3, SKR 1.4 and SKR 1.4 TURBO and SKR E3 TURBO with the same binary.

SD card support

By default for the SKR V1.3, SKR V1.4 and SKR V1.4 Turbo the SD card (SPI 1) on the SKR as well as the SD card on a connected display board (SPI 0) (if connected) may be used for updating the firmware.

By defulat for the SKR E3 TURBO the SD card (SPI 1) is the ONBOARD SD card reader and is the ONLY SD card reader availble to the SKR E3 TURBO board.

As in the original code a file named "firmware.bin" on the FAT32-formatted SD card's first partition will be flashed to the application region (0x4000 after the 16k space for the bootloader), and after successful flashing, the file will be renamed to "firmware.cur" - 'cur' meaning 'current'.

USB support

In addition, Flash via USB is enabled as default. It will be activated:

  • if no firmware is installed (Flash @16K = 0xffffffff)
  • if the button on a connected display board (e.g. BTT LCD-35 or RepRapDiscount Full Graphic Smart Controller) is pressed while booting. (for SKR V1.3, SRK V1.4, or SKR V1.4 Turbo the pin 2 of EXP1 = 0.28 connected to GND, for SKR E3 Turbo pin 2 [in pins_BTT_SKR_E3_TURBO.h file it is pin 9] of EXP1 = 0.16 connected to GND)

Upload via USB

For SKR V1.3, SKR V1.4 or SKR V1.4 Turbo, Press the button on the display board or connect EXP1 pin 2 to ground, then press reset. After about 2 seconds you should see the device, e.g. with lsusb:

[email protected] ~]$ lsusb
...
Bus 001 Device 072: ID 1d50:6015 OpenMoko, Inc. Smoothieboard

Firmware can than be uploaded via dfu-util, e.g. (dfu-util ia a utility that run on Linux or Ubuntu platforms)

sudo dfu-util --download firmware.bin

dfu-util 0.9

Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2016 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to http://sourceforge.net/p/dfu-util/tickets/

dfu-util: Invalid DFU suffix signature
dfu-util: A valid DFU suffix will be required in a future dfu-util release!!!
Opening DFU capable USB device...
ID 1d50:6015
Run-time device DFU version 0101
Claiming USB DFU Interface...
Setting Alternate Setting #0 ...
Determining device status: state = dfuIDLE, status = 0
dfuIDLE, continuing
DFU mode device DFU version 0101
Device returned transfer size 512
Copying data from PC to DFU device
Download	[=========================] 100%       243508 bytes
Download done.
state(8) = dfuMANIFEST-WAIT-RESET, status(0) = No error condition is present
Done!

For SKR (mini) E3 Turbo, Press the button on the display board or connect EXP1 pin 2 (P0_16) to ground, then press reset. After about 2 seconds you should see the device, e.g. with lsusb:

[email protected] ~]$ lsusb
...
Bus 001 Device 072: ID 1d50:6015 OpenMoko, Inc. Smoothieboard

Firmware can than be uploaded via dfu-util, e.g.(dfu-util ia a utility that run on Linux or Ubuntu platforms)

sudo dfu-util --download firmware.bin

dfu-util 0.9

Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2016 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to http://sourceforge.net/p/dfu-util/tickets/

dfu-util: Invalid DFU suffix signature
dfu-util: A valid DFU suffix will be required in a future dfu-util release!!!
Opening DFU capable USB device...
ID 1d50:6015
Run-time device DFU version 0101
Claiming USB DFU Interface...
Setting Alternate Setting #0 ...
Determining device status: state = dfuIDLE, status = 0
dfuIDLE, continuing
DFU mode device DFU version 0101
Device returned transfer size 512
Copying data from PC to DFU device
Download	[=========================] 100%       243508 bytes
Download done.
state(8) = dfuMANIFEST-WAIT-RESET, status(0) = No error condition is present
Done!

Silent beeper

For SKR V1.3, SKR V1.4, or SKR V1.4 Turbo: EXP1 pin 1 (1.30) will be configured as output and set to 0 to avoid endless beeping of the beeper on a connected RepRapDiscount Full Graphic Smart Controller.

For SKR (mini) E3 Turbo: EXP1 pin 1 (P2_08) will be configured as output and set to 0 to avoid endless beeping of the beeper on a connected RepRapDiscount Full Graphic Smart Controller.

Installing the bootloader

@ardiehl I tried it with a serial connection first but somehow that did not worked for me. I got the "Synced.." message after sending ? but most other characters send were echo'ed differently. Seens to be some baudrate problem, gave up after several hours of probing.

Using a ST-Link V2 clone with openocd worked fine.

Install openocd and connect the ST-Link with 3 wires (btt powered via USB or 12/24V) as follows:

ST-Link     BTT
----------------------------
SWDIO       SWDIO (J2 Pin 2)
SWCLK       SWDCLK (J2 Pin 4)
GND         GND (J2 Pin 3) or some other GND pin, e.g. middle pin of one endswitch connector

and run make upload or start the writebootloader script in bttskr/. You can backup your current bootboader or the whole flash using the scripts readbootloader or readflash.

@GadgetAngel I tried it with BTT Writer and Flashmagic another user @Sineos used a USB to TTL adapter and got it to work with Flashmagic

Here is the URL for instructions on how Sineos got it to work: https://github.com/bigtreetech/BIGTREETECH-SKR-V1.3/issues/346#issuecomment-754120640

Here is the URL for instructions on how I, GadgetAngel, got it to work: https://github.com/GadgetAngel/BTT_SKR_13_14_14T_SD-DFU-Bootloader/blob/main/bootloader_bin/compiled_bootloader_bin/SKR%20E3%20Turbo/Guide%20UART%20Flash%20SKR%20E3%20TURBO%20board.pdf

Configuration

By default, the bootloader will show status/debug messages via the serial port @115200 baud. You can configure these as well as disableing USB, disabling the second SD card and so on in config.h.

Why

@ardiehl, I managed to destroy the SD card slot on my 1.4 board and while trying to solder a new one, i destroyed some pads on the board. Insead of using another board i now use the SD card slot on the display board for firmware uploads.

@GadgetAngel, I bought a SKR E3 TURBO board and it produced a high pitch sound out of the Speaker connected to my CR10_STOCKDISPLAY from my original Ender 3 Pro. This high pitch sound continued to be produced until Marlin boot screen was displayed onto the display screen. I recompiled this project to pull the beeper_pin low while the bootloader was running to ensure a silent boot process.

Issues
  • Klipper/Fluidd

    Klipper/Fluidd "Can not update MCU 'rpi' config as it is shutdown"

    Hey so I'm using an SKR mini E3 Turbo with Klipper + Fluidd running on it and I managed to flash the pre-compiled bootloader only (no firmware) onto the board and everything seems to be working fine (i.e. Silent beeper, USB firmware uploads). However, now I have this issue where if I leave the Klipper service running on the RPi and power cycle the printer via the power switch on the PSU (the RPi is connected to a separate power source so turning off the printer does not turn off the RPi). I get the following message in Fluidd:

    Can not update MCU 'rpi' config as it is shutdown Once the underlying issue is corrected, use the "FIRMWARE_RESTART" command to reset the firmware, reload the config, and restart the host software. Error configuring printer

    This issue goes away if I just enter FIRMWARE_RESTART and I can use the printer normally afterwards. I even did a couple of prints with it and everything seems to working as normal. Do you know why I might be getting this message? It happens every time I power cycle the printer while Klipper is running (I did not have this problem prior to flashing the bootloader). It is not a big issue but it is a minor inconvenience and I would like to resolve it if possible.

    I've already tried putting restart_method: command in the Klipper config file but to no avail.

    Thanks.

    opened by EmreDogann 3
  • Why are you using STM32 ST-LINK utility and not STM32CubeProgrammer?

    Why are you using STM32 ST-LINK utility and not STM32CubeProgrammer?

    This is just a question!

    Hello GadgetAngel, why are you using STM32 ST-LINK utility and not STM32CubeProgrammer?

    Nice job! If I successfully saved my FW, I'll post it here (SKR 2, F429).

    Kind regards, hcet14

    I'll close this issue after an answer.

    opened by hcet14 1
  • Corrupted Bootloader - anyway to fix it?

    Corrupted Bootloader - anyway to fix it?

    I have a new Octopus 1.1 board with F446 Chip. It had firmware already loaded which i could control via octoprint but wasnt for my boards. No matter what i did it would not accept any firmware from any one of the dozen SD card i tried. I tried my own compiled firmware as well as other .bin files from other users with the same board and printer, NOTHING. never renames the file to firmware.CUR.

    i read somewhere that you could use the STM32 Cube software and DFU to upload the firmware. So i tried and now i think it toast, i no longer see the device anymore when i connect in USB (no /dev/ttyACM0) no com port. I only can see the device if i put jumper on the BootD pin and reset; i tried loading the bootloader again for the F446 which succeeds but still no firmware is loaded from SD card and still no USB connection when i remove the BootD jumper and reset.

    is there anything i can do to put the boot loader back so i can connect via USB again? how can i put the original bootloader back and put a firmware on this board? maybe SD card reader isnt functioning.

    opened by thwerks 3
  • Bootloader for SKR Mini E3 V3

    Bootloader for SKR Mini E3 V3

    Would it be possible for you to provide the bootloader for a SKR Mini E3 V3 board? I have one that is bricked and would like to see if flashing the bootloader resolves the issue.

    opened by aaron-hentschel 1
  • [Question] How to

    [Question] How to "burn" bootloader on SKR1.3

    Hello I burn my MCU and replace them but how to burn bootloader. Method with Flash Magic not work and this is a normal. Where i find information who programer need and which program and file to upload. Thanks you :)

    opened by dgeorgiev92 1
  • [Question] - Possible to flash using arduino/RPI?

    [Question] - Possible to flash using arduino/RPI?

    As in the title, is it possible to flash the bootloaders using a raspberry or Arduino device or are the ST link devices necessary, just thought id ask beforehand as i have both an uno and multiple raspberries laying around and if i could not buy a device im likely to use once i'd rather do that if possible?

    I have a skr 1.3 that is refusing to update firmware and has no connection via usb to my pc

    opened by Section59 5
  • [QUESTION] Change bootloader

    [QUESTION] Change bootloader

    Hey,

    its not a bug more of a question :P, do you know if its possible to change the bootloader in a way that i can flash a klipper firmware to the board without the need to add a jumper cable on EXP1 and press reset? :)

    Greetings

    opened by lutzmor 3
  • [ISSUE] ST-link claims Read Out Protection is enabled

    [ISSUE] ST-link claims Read Out Protection is enabled

    Bug Description

    First of all thanks for your great work, doing what Biqu/BTT failed to! Makes me very humbled to see the work individuals put in to support others. I'm not sure if to post here, as it's not a bug with any of your doing at all :)

    Issue appeared after restarting the board (it was printing before, so FW/SW was running well). Rebooting the board didn't start nor did it read from SD (tried several FW's).

    Upon connection of ST-link (swapped SWCLK & SWDIO to be sure) it reads Device, DeviceID, RevisionID, but Flash Size is reported 'Unknown'. Also a warning is thrown; 'Can not read memory! Disable Read Out Protection and retry.'

    Cannot reset Option Bytes Read Out Protection from 1 to 0. Full Chip Erase is also 'protected' because of 'Read Out protection is activated' warning.

    Additional Information

    EDIT: Updated the ST-link FW and checked latest version of ST-Link. image image

    opened by shuffleznl 6
Owner
JoAnn Manges
JoAnn Manges
Super Mario Bros in C++ under SDL2

Super Mario Bros DEMO! Super Mario Bros in C++ under SDL2. This game is a DEMO with his first world! How to compile Code::Blocks is needed (although w

Gastón Martínez 0 Apr 4, 2022
DxWrapper is a .dll file designed to wrap DirectX files to fix compatibility issues in older games

DxWrapper Introduction DxWrapper is a .dll file designed to wrap DirectX files to fix compatibility issues in older games. This project is primarily t

Elisha Riedlinger 665 Jun 21, 2022
High Performance 3D Game Engine, with a high emphasis on Rendering

Electro High Performance 3D Game Engine, with a high emphasis on Rendering MainFeatures Rendering PBR Renderer (Cook–Torrance GGX) IBL (Image Based Li

Surge 45 Jun 18, 2022
🎨 Modern 2D/3D - Importer • Exporter • Util - Library, also called (AssetIO)

Brand-new modern 3D asset importer, exporter library. This library will include common 3D utils funcs. It is written with C99 but C++ wrappers or othe

Recep Aslantas 150 Jun 8, 2022
Creating Unreal Engine infinite landscapes/oceans using the editor shader graph and rendering them using Geometry ClipMap. It also allows to spawn mesh on landscape surface. UE5 required

Procedural Landscapes and Oceans in Unreal Engine 5 using Editor Shader Graph Latest version of this project is available as a plugin for UE 4.26+ on

Maxime Dupart 10 Oct 4, 2021
Russian draughts (also known as checkers or shashki) game

Russian draughts (2011) Russian draughts (also known as checkers or shashki) game. This project was implemented by me as a bachelor thesis in 2011 whe

Valery Kirkizh 1 Nov 12, 2021
A high speed C++17 Vulkan game engine

Acid is an open-source, cross-platform game engine written in modern C++17 and structured to be fast, simple, and extremely modular. Vulkan is the sol

Equilibrium Games 1.3k Jun 22, 2022
A library for high-performance, modern 2D graphics with SDL written in C.

SDL_gpu, a library for making hardware-accelerated 2D graphics easy. by Jonathan Dearborn SDL_gpu is licensed under the terms of the MIT License. See

Jonathan Dearborn 1k Jun 28, 2022
High perfomance 3D & 2D Game Engine

Electro High perfomance 3D & 2D Game Engine MainFeatures Rendering PBR Renderer (Cook–Torrance GGX) IBL (Image Based Lightning) Cascaded Shadow maps M

Electro 45 Jun 18, 2022
Open-source repository of Orbiter Space Flight Simulator

Orbiter Space Flight Simulator Orbiter is a spaceflight simulator based on Newtonian mechanics. Its playground is our solar system with many of its ma

Orbiter Space Flight Simulator 1.3k Jun 12, 2022
A repository of gate-level simulators and tools for the original Game Boy.

GateBoy is a gate-level simulation of the original Game Boy hardware that was reverse-engineered from die shots of the original DMG-01 chip.

null 968 Jun 15, 2022
In this repository you'll find the fully reversed source code for GTA III (master branch) and GTA VC (miami branch).

Intro In this repository you'll find the fully reversed source code for GTA III (master branch) and GTA VC (miami branch). It has been tested and work

Zero 1 Nov 11, 2021
This repository is about a school project about games with physics, written in C++.

Eight Ball Pool ?? A game about playing physics-based eight ball pool. ?? Table of Contents About Getting Started Usage Built Using About the creators

Valeri Ivanov 17 May 22, 2022
Universal fix for Google SafetyNet on Android devices with hardware attestation and unlocked bootloaders.

Universal SafetyNet Fix This is a universal fix for SafetyNet on devices with hardware-backed attestation and unlocked bootloaders (or custom verified

Danny Lin 3.3k Jun 25, 2022
My old heavily modified version of bigbase v1, it has an impulse-like scrollbar, ytd header loader, Vector3 fix + gamestate fix and some other misc changes!

Old Bigbase V1 UI This is my old ui for bigbase v1 but i dont need it anymore because the dev of solar mod menu stole it, and the new paragon menu (Fr

null 10 Apr 22, 2022
Avocado Bootloader is an Advanced X86 - X86_64 BIOS/UEFI multiprotocol bootloader.

Avocado Bootloader What is avocado? Avocado is a modern, advanced x86/x86_64 BIOS/UEFI multiprotocol bootloader used as the reference implementation f

Weida32 2 Jan 3, 2022
Stripped down version of BIGTREETECH-TouchScreenFirmware which only supports ST7920 emulation (Marlin Mode)

Stripped down version of BIGTREETECH-TouchScreenFirmware which only supports ST7920 emulation (Marlin Mode). This project only uses peripheral drivers supplied by the screen manufacturer and uses it's own library to parse the ST7920 commands.

null 91 Jun 8, 2022
RetroWave is a hardware sound board series that uses vintage sound chips and works with modern hardware.

RetroWave Authentic sounds from vintage sound chips, on modern hardware! Introduction RetroWave is a hardware sound board series that uses vintage sou

SudoMaker 42 Jun 5, 2022
Fuses IMU readings with a complementary filter to achieve accurate pitch and roll readings.

SimpleFusion A library that fuses accelerometer and gyroscope readings quickly and easily with a complementary filter. Overview This library combines

Sean Boerhout 5 May 13, 2022
websocket and http client and server library, coming with ws, a command line swiss army knife utility

Hello world IXWebSocket is a C++ library for WebSocket client and server development. It has minimal dependencies (no boost), is very simple to use an

Machine Zone, Inc. 320 Jun 22, 2022
EDK2 port for Lumia 630 & it's 512mb variants. 1gb variant coming soon.

Lumia930Pkg WIP Custom ARM UEFI firmware for Lumia930 Current Status EMMC MMU PMIC GPIO Working Linux Notes Linux kernel do boots but crashes pretty s

Fiery 0 Jan 2, 2022
STFT based multi pitch shifting with optional formant preservation in C++ and Python

stftPitchShift This is a reimplementation of the Stephan M. Bernsee smbPitchShift.cpp, a pitch shifting algorithm using the Short-Time Fourier Transfo

Jürgen Hock 4 Jun 25, 2022
Main libjpeg-turbo repository

Background libjpeg-turbo is a JPEG image codec that uses SIMD instructions to accelerate baseline JPEG compression and decompression on x86, x86-64, A

libjpeg-turbo 2.9k Jun 20, 2022
Any type can be stored

var Any type can be stored My English is not good. there is no English introduction temporarily. 可以存储任意类型(不能存储int[]等类型,应该转换为vector存储或者vector) 使用STL时尽可

null 1 Oct 31, 2021
Arduino Arduino library for the CloudStorage server project. The library provides easy access to server-stored values and operations.

Arduino-CloudStorage Arduino/ESP8266 library that allows you to easly store and retreive data from a remote (cloud) storage in a key/value fashion. Cl

Gil Maimon 7 Jan 30, 2022
All lab practicals c++ source code will be stored here, for future references.

Karnataka-State-Ist-PU-LAB-practicals-source-code All lab practicals c++ source code will be stored here, for future references. Sourced from this web

Sachit 1 Feb 1, 2022
Example-application - Example out-of-tree application that is also a module

Zephyr Example Application This repository contains a Zephyr example application. The main purpose of this repository is to serve as a reference on ho

Zephyr Project 64 Jun 22, 2022
✔️The smallest header-only GUI library(4 KLOC) for all platforms

Welcome to GUI-lite The smallest header-only GUI library (4 KLOC) for all platforms. 中文 Lightweight ✂️ Small: 4,000+ lines of C++ code, zero dependenc

null 6.3k Jun 27, 2022