Today we're going to talk about how to load firmware when there's an issue on either a
BigTreeTech type 3D printer board or others so I wanted to point out that there's two ways to do it
you can load it with your SD card or you can load it with this device through the SWD pins on each
one of these boards now this method I'm not going to show you because it is not a good way to do it
and can possibly brick your board so I'm going to point out that there's at least three different
size Medias you can use if not more you can use 128 megabit SD card you could use an 8 gigabit or
a 32 gigabit I'm not sure about 64 and above but I'm pretty sure they probably will work the same
now the issue is sometimes your firmware doesn't change from firmware.bin to FIRMWARE.CUR usually
it'll occur on the very first time that you go to load firmware so each one of these boards may
have that issue and I've experienced it at least once um this years ago for the SKR version 1.3
now a user pointed out or several users pointed out that they had issues so I thought I'd address
this so what I'm going to do is I'm going to grab my card reader and place this in here and show you
what may be occurring in your situation so I'm going to plug this into the computer so you may
hear a beep in just a moment then I'm going to go over to my desktop and actually show you the drive
so on the drive what we have right now are no files so the formats that can be used in this
case we have FAT which stands for File Access Table and it will work for any one of these sizes
I've already tested this to make sure but that's one possible format that you can do to format the
drive with a quick format the other one that you can use is FAT32 which is a file access table 32.
and it has to do with the size of the uh actual blocks of memory on the board (SD card)
and of course you can use these sizes as well now if you were to do exFAT32 which is extended File
Access Table it will not work for any of these sizes the same is true for NTFS or New Technology
File System will not work as well so to format it what you're going to do is I'm going to pick fat
and I'm going to then say start and it will format the drive for us next thing that we're
going to do is we're going to go back over to the drive and obviously there's no files on it
so we're going to download real quick the actual version of marlin that's currently available so
I'm going to click over here and click download and this will pull the actual files or excuse me
the uh actual firmware down for us to modify now I already have it downloaded and extracted over
here so to extract it you're going to do extract all and then you're going to click extract but
I've already done that so we're going to skip that step for now now keep in mind that there
are other builds that exist here I'm using the 32-bit version this also works for 8-bit but the
situation for the firmware.bin does not exist on the 8-Bit because you can directly upload
it normally to the board being your 3D printer port now the other thing I have to point out is
that when you see bug fix these are currently Works in progress so they are possibly broken
so if you use one of these keep that in mind and of course then they have the patched
versions down here of the versions up here but I usually go with the one that's most current
so if we were to go into vs code and we were to do let's see file open folder and go to our downloads
folder and then our first Marlin folder then our second folder and then select folder we can
actually open it up in this case I'm going to work with the uh SKR version 1.3 so I'm gonna go to the
Marlin folder the source folder the core folder then board.h I'm going to do a search on SKR
and you can see the board right here so I'm going to copy this now there's two versions of this
board there's a turbo version and a non-turbo version I have the non-turbo version that I'm
currently working with but I'll show you in a second how to verify what board you're working
with because these are different categories of actual chipsets that you're going to see
sprinkled through here so STM32 is probably the most common type but
there's many different variations of it and I want you to keep that in mind
but currently I'm not going to cover that too much right now I just want to show you what's
going on here in my Basics tutorial(s) I do cover it for the initial board description so in this
case I'm on the configuration.h I'm looking for our board type I'm going to paste in what it is
then down here I'm going to say negative one because it's a 32-bit board zero is for 8-bit
note that you can also use this over in here if you would like sometimes when they do the display
they'll do it up here and then the board down here you can do it in either place you just have
to be consistent with your numerical reference normally the board is going to be like one if
you were to use it for the display for the actual motherboard it's negative one almost all the time
so now that we have that set we have to set up the actual ini file because this is set
to an 8-bit board being the MEGA2560. so to do that in this case we're going to find the LPC176x
which is they're two different types of chips in this case it's the LPC1769 or excuse me 68
69 is the turbo version and what we're going to do is then go to the platformIO folder
excuse me platformio.ini and we're going to paste it here then I'm going to hit the actual
button for the build now in the case of this board it can be directly sent to the board via the USB
cable if you're to use this right here but as you can see there's an error in the build so I'm going
to build it a second time just in case if I see an error on the second time then I'll go to the
very first error and try and fix it but sometimes things build out of order that's why I hit the
actual build button a second time so it looks like it's building right now the yellow right
here is actually a warning so you can ignore that it's only when it's red that there's an
issue so inside here you can see that there's the actual build and then we can see our firmware.bin
now keep in mind that the firmware.elf that's used for actual troubleshooting
so that's a special build I'm not exactly sure how to present that
to you in a logical manner so I'm not going to talk about it at the moment
so we're going to reveal this in the file explorer and as you can see there's no file here right now
so what we're going to do is we're going to right click and we're going to say send to
the USB drive for D so it's on here now now this is where the problem normally occurs
when you place this on your drive and then you place it into your actual
um motherboard which I'll show you right now if I pop this out and I place it inside of here
this is where the issue occurs the very first time you load if there's no firmware dot curve on this
it will fail when you power it and not convert to Cur so the way around that is to take this out
place it in the drive again and then you're going to place this inside the actual computer again
and we're gonna go back over to the desktop and I'll show you the solution so over here
we go to the D drive if this doesn't load on your very first load create a file such as this
so you're going to call it FIRMWARE.CUR it's going to be an all capital letters it
doesn't matter about the file size because you can see it's zero if it loads successfully the
firmware.bin appear with the date will be renamed to this and have this date for here
then the actual file size will be down here now also if you ever want to reload it say on the
same board say you store this someplace else you can rename firmware.bin for FIRMWARE.CUR
just like you see above and then you can reload that either on your board or another board with
the same configuration so this should solve 99 of the questions that I get on this issue if you need
any further help there's also a Discord that will be in the description and also I'll place a thank
you note at the end of this tutorial for all my patrons and people on PayPal that have donated
over the uh years to thank them so everyone take care be safe and I'll talk to you later