Transcript for:
Understanding the Implications of BLHeli Going Out of Business

if you built a multi-rotor in the last like eight years then there's almost 100% chance that that multi-rotor had an ESC that was running blh firmware and that's why it's such a big deal that recently BL heli announced that they were going out of business in this video we're going to talk about well why why did they go out of business what does this mean for the esc's that you're running today like what do you need to do as a result of this or spoiler not do and like like what does this mean for the fpv market as a whole I'm Joshua Bardwell and you're going to learn something today before we get into like what you need to do as a result of this let's get a bigger picture view of who is be heli and why did this happen and be heli is a company and they make firmware for esc's a long long long time ago the firmware was just called BL heli and it was originally designed for use on helicopters as opposed to other firmwares that have been designed specifically for use on like airplanes which different needs than helicopters but the BL firmware also came to be used on multi-rotors and came to be the dominant firmware used on multi-rotors today there have been several evolutions of the BL heli firmware the very very oldest was BL heli after that came blh s and today we have blh 32 and that distinction is going to matter as we go forward and you see how this actually affects you to find out why be shut down we go straight to this letter from the company that makes B heli and they say that their decision to shut down has been driven by the increasingly complex geopolitical landscape and the associated risks of b32 being utilized in drones for Warfare including potential use by Russia Norway has imposed very strict export control regulations based on the European Union's legal framework and the bl32 technology is vulnerable to these export control restrictions and prohibitions and the gist of the decision is that uh blh esc's can and probably are being used in drones that are being used to wage war and there are restrictions in the European Union about doing that and basically be heli feels like they can't continue to operate under these restrictions now I'm not here to weigh in on how valid or invalid that decision is when I first heard it I thought well there's lots of Technologies out there that theoretically are making their way on to the battlefield through various means and as long as the manufacturers have plausible deniability then they can continue to operate like I bought a drone from iflight just the other day and uh before I bought it I had to check a box that said by the way you're not allowed to use this in war and I checked the box and I bought the Drone and I don't know but for whatever reason the B devs feel like they cannot continue to operate under the current situation and as the owners of the business that's their decision to make in order to understand what this means for you let's take a quadcopter running be heli and plug it in and try to use it and the first thing you need to know is that if you've got a bl32 ESC in a quadcopter right now it's going to keep working like it has no idea that be32 has shut down it just is like you tell me to spin Motors I spin Motors so as we get into the question of what does this mean for you today and what do you need to do I want you to be aware that one of the answers is nothing you don't have to do anything just keep using the working esc's that you have unless you feel like there's a need to update them like maybe they have a bug in the firmware more on that also later in the video not only can I spin the motors but if I connect with BL sweet 32 the software that's used to manage bl32 esc's and I hit read setup I can read the setup off the esc's and if I want to I can change any of these settings and write the setup I can do all of the configuration things in this ESC that I normally could but there's one thing that I can't do and that's Flash the ESC so right now I'm on firmware 32.9 and if I decided I wanted to flash to another version of the firmware when I hit flash bill I get this message server is down for maintenance please try again later thank you for your patience well I hate to spoil the surprise but if you try again later it will also not work the server will be down for maintenance forever now I said that you can't flash your be heli 32 ESC anymore but if you're running a be heli ESC there's a chance that it has b h s on it so here's an iflight Blitz E55 32bit ESC and here is that same ESC in 8 bit format the 32bit ESC is running BL 32 the 8bit ESC is running blh s and that's a big deal because blh s was released open source it still exists today and it's still being maintained in one form or another by people other than the BL devs at some point in the past the Bei devs said were tired of supporting this firmware for all these manufacturers for free and they released B 32 as closed Source they never published the source and they put a licensing requirement on it so every manufacturer that made a BL 32 ESC paid a small amount of money to the be devs I have no quibble with them making the 32-bit firmware Source but it does mean that today when they go out of business this 32-bit firmware is dead nobody can do anything with it whereas the 8bit firmware if I go to the escc configurator dcom website I can still Flash and update and do everything I need to do with my BL s esc's so if you have BL s really nothing in this video actually pertains to you enjoy the benefits of using open source code so from a certain perspective this change doesn't mean a lot to you today if you've got an ESC that's working just keep using it and for those who say well what if I want to update to a different firmware I got to tell you most of the time I just use whatever firmware came on the ESC and it's fine and I want you to keep that sentiment in the back of your head as we talk about the fact that there is a significant bug in BL 32.9 that doesn't affect everybody but it does affect some people and that bug is that sometimes with BL 32.9 if you disarm the quadcopter while you're flying it won't rearm again until you power cycle it so for example if you're a racer and you crash and you disarm and you want to rearm and get back in the race nope you got to power cycle it and this matters even more to Freestyle pilots who often will crash somewhere where they may not be able to retrieve the quad if you crash on top of a building or you crash in top of a tree and you want to rearm and try and fly home or shake the quad out of the tree you just may not be able to do that and like I said I've got a bunch of quads with 32.9 on it I've never personally had this happen to me but there are many people who have had this happen to them and if I lost a quad as a result of it I would not be having much of a sense of humor about this in just a second I'm going to show you how to flash am32 to your ESC if you decide that's something you want to do but there's one more thing I want to talk about first and that is what is the future of the fbv marketplace now that be 32 is gone and there's no question that manufacturers will not be able to keep making bl32 esc's unless somebody like hacks the bootloader to allow them to flash firmware which I guess is possible but nobody's done it yet so it kind of suggests that maybe nobody is going to do it and even if they did do it B 32 is not going to continue to be updated so new hardware won't have targets and so forth and so for bl32 is well and truly gone what I think the only possible outcome for the future is that am32 will be the new standard am32 is under active development I expect that it will be under much more active development now that every ESC manufacturer in the freaking world is going to be looking at the am32 devs and saying help make our esc's work so in the future you will be able to buy an am32 ESC and you will use standard tools to configure and Flash it similar to what you've already been doing in fact there are a few am32 escs that you can still you can buy today right now if you're interested in getting into that but today if you want to switch from bl32 to am32 there's a pretty cumbersome and potentially problematic process that you need to go through and I am now about to go through that process so you can and well even if you don't intend to flash you can enjoy my pain as I struggle with it let's do it in order to know whether you even can Flash am32 you're going to go to the Target compatibility list found here and I'll put a link to that in the video description below and you're going to see if your ESC is on that list now my ESC is the t-motor g003 is the f55 g0 oh there it is t-motor f55 a pro g0 yeah I think it's the f55 pro uh because that's what rotor Riot sells makes sense and t-motor f55a 4 in1 is supported yay so the first hurdle you need to clear is is your ESC on this list and if it's not you're done you're not flashing am32 today but mine is so we'll proceed the next thing we need to do is take note of this bootloader pb4 we're going to need that going forward the first step of flashing am32 to the ESC is to flash the am32 bootloader to the C once that's done we will be able to flash am32 firmware using the USB port so the nice part is that the painful process we're about to go through we only have to do once in order to flash that bootloader we have to look at the ESC itself and we have to find the MCU the microcontrollers on the circuit board and we have to find the programming pads for those mcus and we're going to connect a little device called an stlink programmer to those programming pads and we're going to flash the am32 bootloader here's my t-motor f55 ESC and I'm sorry to tell you here take a look at this picture from the web on the underside of the ESC all of these things are fets these are the fets that drive the motors and that means that the MCU is on this side underneath the heat sink so I've got to pull the heat sink off to get at and the programming pads and Lord I have no idea what I'm going to find I how can I do this without breaking something I don't want to break something what seems to be the safest to me is to come in with a flat head screwdriver and pry using the silicone gummy as the other side of the pry so I'm not pressing on the circuit board at all I'm just going to come in like this and twist this way to pry upward and there we go so on the one side of the ESC we have a bunch of fets and on the other side we have well apparently some additional fets here and two other components that we're going to need to identify one of them is the fet driver which is a separate chip that is in charge of making the fets open and close to make the motors Spin and the other is going to be the MCU and you can see here we've got 1 2 3 4 5 6 7even eight chips there are going to be one fet driver and one MCU for each of the channels of the ESC this is a 4 in one so that's why there's eight chips four of these are going to be the MCU and four are going to be the Fed driver and to tell which is which I just kind of looked at them and I can see the the markings on them and one of them is marked g0 blah blah blah blah blah and I remembered that this is a g0 ESC and I thought oh g0 must be the name of the MCU in this ESC and so I've decided that the chips with g0o marking on them are the MCU so these four chips 1 2 3 4 are going to be our MCU and we can see next to them there are these little pads and these are going to be the program Ming pads that we need access to in order to flash the ESC there are some extra pads here that probably aren't programming pads but we'll just have to figure it out as we go next you're going to need to pick up an stlink programmer you probably don't already have one and if you're wondering well can I just use like a cp210 or ftdi adapter that I already own the answer is apparently no although I'm not 100% sure why there are official stm32 programmers you can get from Digi key uh not that expensive and they're like official so you know they're going to work but you can also just like spend 10 bucks to get this one off of Amazon and that's pretty much what I've done and it seems to work fine I'll put a link in the video description if you want to pick that up next we're going to need to get the stm32 St link software that we're going to use to flash the bootloader to the ESC we'll do that by going to this URL which is in the video description below we scroll down and we hit get latest and sadly oh do we can we download as a guest okay okay it's downloading yay next we need to download the bootloader file for our ESC remember that previously we determined that pb4 was the correct Bootloader for our ESC we're going to go here to this link which again is in the video description below and we're going to find the pb4 bootloader dox that appears to be this one yes that's the only pb4 I see there so we're going to click on that and then we're going to download raw file right here it's guys it's josa from the future I have finished flashing my bootloader and nothing is working and I think I just figured out why please don't make the same mistake I did I've got the pb4 bootloader great pb4 but look pb4 pb4 pb4 there's more than one pb4 is like the pin layout or the whatever and then there's also you have to match the MCU do you remember that we have the G7 something MCU so what I need is G7 pb4 is that unique here's an f51 pb4 that's for the 051 chip here's an F350 pb4 yes that's a unique combination so I downloaded the wrong bootloader file now I'm going to download what I hope is the correct one reflash all four of these effing things and hopefully it'll work the second file that we need is the actual am32 firmware and we're going to get that from this page which is linked in the video description below and we're going to have to look for show all 76 assets yes we want the t-motor t-motor 45 t-motor g71 that must be ours yes this is the g71 t-motor C we'll click on that and it will download that file as well on the stlink programmer you're going to need to identify the swdi the SW CLK and the ground pad you're going to need the data the clock and the ground pins we've got wires plugged into each of those and you can see there's other pins that might be used for other things but we're not going to do that now the ESC is actually going to get its power from a battery that we plug in but in order to share communication between the stlink programmer and the ESC they have to have a common ground so I think the easiest way to accomplish that with this ESC is just to come in and hook on the ground side of the capacitor there we go with this little clip these are super handy little Clips like alligator clips but not and I'll try and find a link to them on Amazon if you don't already have some they're super handy to have around next we're going to start the stm32 stlink utility and we're going to get it ready for flashing we're going to do that by clicking Target and settings and here in the mode we want to change to hot plug next we need to connect the stlink programers data and clock lines to the ESC and this is going to require a little little bit of trial and error we previously determined that these were the four MCU that we were going to need to flash and you can see that next to them are sets of little pads and some of those pads are going to be the data and clock lines now in some cases it's going to be more obvious than others which ones are which so for example here we've got this MCU and right next to it are these two pads and those are the data and clock lines or pads for that MCU if you look really close you can sometimes even see the little traces the the outline of the trace going from the pad to the little tiny pins on the outside of the MCU in this case we've got these two pins or pads here rather and sure enough those are the data and clock line for that one however in this case there's three pads here and we're just going to have to guess and try and also which one's the clock and which one's the data line well basically we're just going to get 50/50 so there's going to be some trial and error there now some tutorials will tell you that the thing to do is to solder wires to those little pads and I'm not going to do that because well number one I'd have to do that a whole bunch of times has to solder each of the four mcus number two they're tiny and they're hard to solder to so here you can see that I have made little wire extensions out of Some solid core wire that I have just some spools of solid core wire and so it's got some rigidity to it I have jammed one end of those wires oops it came out I've jammed one end into the wires coming off the stlink programmer and what I'm going to do is I'm just going to hold them in place I'm going to hold them like so and I'm going to very very carefully touch them to the I can't do it because I got to get my face down in there to actually see what I'm doing I'm just going to carefully touch them to the pads and hold them on the pads and not move while I do the rest of the things if you decide to do this be real freaking careful on some esc's these pads are nearby to some capacitors that have vbat running through them and if you shortcircuit something then you're going to fry your ESC in that case maybe you better solder it with the power removed and then take it from there I don't know this is all risky I told you this was a bad idea so there we go I've got them touching we're going to power up the ESC ESC is powered up I'm going to click Target and connect and cannot connect to device okay so either I've got the wrong pads or I have the wires in the wrong order I'm just going to I'm pretty sure those two pads are the correct one so I'm just going to switch them left to right I've just got them backwards I'm guessing and we're going to try again there we go got it cannot read memory disable readout protection and retry okay so the next thing I'm going to do is do Target option bytes and change the readout protection from level one to level zero in addition you need to go to the bottom of the screen in the right protection section and unselect all if you do not do this you will screw yourself up later in the process ask me how I know once you do this you cannot go back you cannot you're going to Bei is gone forever okay next thing I need to do is erase the chip I'm going to do Target erase chip and it's going to give me an error and then Target erase sectors and just select all the sectors and that will work can I connect it to device must have moved my oh okay that worked and then the last step is to flash the bootloader and we'll hit Target program we'll select the bootloader file here we will enable skip flash erase we don't want to erase any code that's already on there like if we were in the well we'll SK do skip flash erase and we will start programming now I will shake off my hands and I will do that four more times and as I said you're going to just put the wires on the pins on the pads and if it doesn't work swap them or maybe you got the wrong pads it's trial and error and hopefully by the end of this you'll have four esc's with the bootloader flashed and we can proceed I'm going to go to the website escc configurator tocom I'm going to plug in my flight controller and my USB cable and I'm going to connect to this ESC via BL pass through via the betaf flight flight controller so open port selection Comm 11 connect and then I'm going to hit read settings and sure enough it was able to read the one ESC that I have currently flashed the bootloader too now you'll flash all four of your esc's with their bootloader and you'll have four esc's there now but when you see that it's able to read the ESC even though it says ESC unknown that means that your bootloader is successfully flashed The Next Step then is to flash am32 firmware to the ESC so I'm going to say flash firmware to ESC and am32 ESC is t-motor f55a Select version I don't even know the differences I guess I'll just take the latest one and Flash unknown version layout is not yet supported I but I want to flash what if we go to this page here and we download the am32 configuration tool it's a standalone tool there's a Windows and a Mac OS version and you get it just from you saw the main am32 page and here it is we're going to run serialport connector. exe we're going to select Comm 11 and connect and I think it's M2 is readable oh oh I want to flash I got to click the flash page M2 okay load connected no eom okay load firmware oh okay downloads t-motor g71 firmware that's the second file that I downloaded earlier and Flash firmware oh okay guess I have to do it with this multi ESC tool instead of the ESC configurator tool which is the my preferred way of doing it but okay we'll use the multi ESC tool and then we'll have a working ESC or will we actually there's one more thing you need to do which is after the flash is finished you must click the send default settings button I don't know why it doesn't do this automatically but it doesn't yes that's it we have a working ESC oh but there's only one way to be sure it's actually a working ESC and that to spin a motor I get the beeps I get the beeps and the motors spin so hopefully you have followed along in this process and you also have got the beeps and your Motors also Spin and if they do then can I remind you that I have a patreon yeah I put this patreon plug at the very end of the video because I figured if you're one of the few people who made it all the way to this step then you're the ones who really feel like you're getting something out of these content and if you do then a great way to say thank you is to join my patreon it's as little as $2 a month to get in at the lowest level you can choose to contribute more if you feel like I've earned it you can always uh raise or lower the amount whenever you feel like you would like to change how much you're paying each month but even a tiny tiny amount like $2 a month and frankly it's been $2 a month for like 5 years realistically inflation it should be like $4 a month now but I'm not going to do that even that small amount makes a big difference when enough people add up so there's a link in the video description if you decide that today is the day that you want to sign up and if today's not the day I don't care I'm just going to keep making the content and you know maybe someday that day will come if you're interested in seeing how an am32 ESC flies in the real world I bought a skyar am32 ASC it comes pre-installed with it I put it on my 160 mph 6s 2800 KV drone just to see if it blew up and if you're interested in getting into the am32 ecosystem I'm going to put a card on screen to that video and you can go check it out I'll see you there