Bootloaders and EEPROM - Understanding your 3D printer for beginners

แชร์
ฝัง
  • เผยแพร่เมื่อ 27 ก.ค. 2020
  • Many have misunderstood the humble bootloader and EEPROM. This video aims to change that, going through each in detail, explaining how they work and how they may affect the end user. Hopefully this video allows beginners to improve their knowledge so they can better troubleshoot potential issues.
    Take home points:
    A bootloader is a simple piece of software that makes updating firmware easy. It runs when the printer first turns on in case a firmware file is available. It only needs to be burned once and will then be in place for any future updates.
    The EEPROM is a way of storing 3D printer settings even after the printer is turned off. Values from the EEPROM are loaded over those hard coded in the firmware, so using M503 to see exactly what the printer is doing is highly recommended, as is issuing an M502 followed by M500 if something seems off.
    Arduino bootloader reference: www.arduino.cc/en/Hacking/Boo...
    Arduino EEPROM reference: www.arduino.cc/en/Reference/E...
    EEPROM wikipedia page: en.wikipedia.org/wiki/EEPROM
    Marlin EEPROM reference:
    M500: marlinfw.org/docs/gcode/M500....
    M501: marlinfw.org/docs/gcode/M501....
    M502: marlinfw.org/docs/gcode/M502....
    M503: marlinfw.org/docs/gcode/M503....
    Pronterface software: www.pronterface.com
    3D printing for beginners playlist: • 3D printing for beginners
    Ender 3 bootloader video: • Ender 5 bootloader and...
    Ender 5 bootloader video: • Ender 3: How to instal...
    Buy quality and affordable filament from X3D. Buy 3, get 1 free and a free sample pack with every order: www.x3d.com.au
    Get Quality Resins from 3D Printers Online. 5% off storewide for Teaching Tech subscribers [Code: tech5]
    3dprintersonline.com.au/
    Take a look around and if you like what you see, please subscribe.
    Support me on Patreon: / teachingtech

ความคิดเห็น • 86

  • @scottfarndell2434
    @scottfarndell2434 3 ปีที่แล้ว +1

    This is a great video Michael. I’d struggled with some of these issues on a different microprocessor and it took weeks to figure stuff out what you just summarized in under 15 minutes. Well structured and informative. Thanks!

  • @spikekent
    @spikekent 3 ปีที่แล้ว +3

    Great explanations Michael. When I first started out in 3DP I already had experience with electronics, so I understood what it all meant, but for a beginner, it can be a minefield. I've also had the pleasure of educating a fair few people. It really is a buzz to help others, as you know all too well.

  • @emilianofernandezcervantes4042
    @emilianofernandezcervantes4042 3 ปีที่แล้ว

    Thank you!!! You're great. I knew a little bit about both, but didn't know how my printer used them to save the settings. Now I can get the most out of my printer

  • @buruzn09
    @buruzn09 3 ปีที่แล้ว

    I was looking at messing with these exact things this weekend. Perfect timing.

  • @Angelo_Aus
    @Angelo_Aus 3 ปีที่แล้ว +3

    Loved the travel back in time of erasing with UV light 💡
    As always great content 👍

  • @moretimethanmoney8611
    @moretimethanmoney8611 3 ปีที่แล้ว

    My Ender 3 prompted me to begin learning about Arduino everything. I recall one of the reasons I bought the Ender 3 was the advertisement that the eeprom enables the printer to resume a print after an unexpected power loss. I tested it several times to no avail and now avoid losing power during a print. Only after a lot of learning am I beginning to understand, a little. This video helps.

  • @therandomcontentchannel6357
    @therandomcontentchannel6357 3 ปีที่แล้ว +2

    I was literally trying to update my firmware on my ender 3 after getting the titan aero I was having a lot of trouble. U read my mind!!!!!!

  • @elijahk597
    @elijahk597 2 ปีที่แล้ว

    Friendly edit comment: In your links below, the "Ender 3 Bootloader..." and "Ender 5 boot..." links are swapped. (at time of this post)
    Thanks for the simplified videos and how-to's. Always helpful and easier to digest, even coming from an engineer.

  • @Wayne_Nero
    @Wayne_Nero 3 ปีที่แล้ว

    Super helpful!! I just started with Marlin 2.0 and learned a couple things here. Thx 🙏

  • @PrintEngineering
    @PrintEngineering 3 ปีที่แล้ว

    Useful video. This is my kind of content!

  • @avejst
    @avejst 3 ปีที่แล้ว

    Great walkthrough
    Thanks for sharing :-)

  • @travislee4550
    @travislee4550 3 ปีที่แล้ว

    Perfect timing. I just updated one of my ender 3s to skr mini E3, about to do my other one, LOVE how quiet it is. I'm looking at my options for my cr10s, seems mini E3 is compatible. Would you be able to do video on this? Would basically be combining your recent videos on firmware and the e3 into single video with a target purpose. Thanks. Really appreciate your videos.

  • @PracticalTechnologist
    @PracticalTechnologist 8 หลายเดือนก่อน

    Thank you for this great explanation. What could be causing printer to loose stored settings in EEPROM (saved with m500) after power cycle?

  • @georgevenetsanos7364
    @georgevenetsanos7364 3 ปีที่แล้ว +1

    Hello, thanks for the very informative video. I have the Ender 3 V2 and I've noticed that on the SD card resides an EEPROM file where parameter values are stored. Doesn't the mother board have an embeded EEPROM? Thanks.

  • @skandranon314
    @skandranon314 3 ปีที่แล้ว

    Great video! How did you get the right panel on ponterface to get larger?

  • @saltysteel3996
    @saltysteel3996 3 ปีที่แล้ว +2

    Only issue I have with my Ender 3 using the 32bit board and Marlin is the default max temp resets to 250 C every time I shut the printer off, even after storing the settings.
    I'm running an all metal hotend and my printer can handle 315 C so I set my max temp in the firmware to 310 C. The EEPROM keeps resetting it back to 250 and it is annoying because I'm printing above that temp a lot. So I always have to go to advanced settings, change the temp, store it, then start a print.

  • @stephensweeney5167
    @stephensweeney5167 3 ปีที่แล้ว

    Hi Michael, just wondering, would you know the needed size for EEPROM for current Marlin 2.0.5? I read an article about adding a I2C module to SKR 1.4 board and was interested. In the article, they suggested a 512K for future compatibility... But they are expensive and hard to find. 256K are all over the place and are almost free. I will be ordering the 256K anyways, and can update it with newer chip if ever needed. But if you know about where they are in memory needs... That would be great.
    Thanks Steve

  • @DJMoctezuma
    @DJMoctezuma 3 ปีที่แล้ว

    Thank you

  • @rickzfpv3118
    @rickzfpv3118 2 ปีที่แล้ว

    Michal I have a question. Have you by chance had any experience with the Tenlog printers I recently obtained one 2nd hand it prints pretty well but I am limited to the factory firmware that has not been updated in quite a while. After doing a ton of digging I have been able to figure out that it is an 8 bit board and has a ATmega 2560 chip in it. Can this be updated to run full Marlin with a programmer or would it be better to just install a new BTT octopus board, stepper driver, and touch screen in it. Thanks for taking the time to do what you do I have learned so much from watching your channel.
    Rick

  • @markpupetx
    @markpupetx 3 ปีที่แล้ว

    Thany you very much for this intersting video! It could be useful a video tutorial a step by step Creality Ender 3 unblock maintening the property of lose electrical power.

  • @ryanstevens7166
    @ryanstevens7166 3 ปีที่แล้ว

    So very new to 3d print and the terminology. When he says enter 503 from the console to get the read out what is he referring to as the console? Or is that a program he's using

  • @themistoklis6237
    @themistoklis6237 2 ปีที่แล้ว

    You can update firmware from the ads card.

  • @SuryanIsaac
    @SuryanIsaac 3 ปีที่แล้ว +1

    4:33 speaker - goes beep
    lmao

  • @ChinaAl
    @ChinaAl 3 ปีที่แล้ว

    I'm on Mac so will this all work for me? Somehow my ABL settings got corrupted and in trying to re calibrate I was asked if I reset the eeprom. I had no idea what he was talking about as I never was inside the board. My ABL was installed for me. Als I had modified my Ender 5 to a micro Swiss direct drive.

  • @slipspectrum9253
    @slipspectrum9253 3 ปีที่แล้ว

    I have an ender 3 with a BTT SKR mini E3 v1.2 installed and it seems like I have to completely recalibrate my z-offset every time I print something now. I have a BLTouch with G29 enabled to probe the bed before each print, but it seems as though it isn’t following the grid at all. I use bed visualizer and get my bed nice and flat, re-do my z-offset and it will print fine for that print, a couple of days later and it’s like my offset has backed off the bed a small amount and my first layer adhesion is no good. Everything on my printer is mechanically sound, nothing loose, BLtouch is well mounted and rock solid with the hotend, which is also tracking smoothly and not loose. I clean my bed with 99% IPA before every print and with the old main board, I never had this problem. My hunch is that something is off with my firmware, the bed probing is not getting saved or z-offset is getting reset. I love how quiet this board is, but going from printing like butter to having prints pop up mid-print if they ever stick at all is maddening... Any ideas?

  • @liveweyeractual
    @liveweyeractual 3 ปีที่แล้ว

    I have a voxelab aquila. I am pretty sure this has a bootloader because the process to update the firmware used only the SD card. However, I dont think it has EEPROM. M500 does nothing when sent from the terminal. How do I save settings like linear advance? Most other settings on your website have alternatives that I can use such as start gcode alterations in cura, or changing the setting directly on the printer. Linear advance however seems to be this issue Im dealing with.

  • @fredwupkensoppel8949
    @fredwupkensoppel8949 3 ปีที่แล้ว

    Could you make a video about the different kinds of USB flashers/prorammers/whatever (they don't really seem to have a name everyone agrees upon)? There are some for 2 bucks and some go for 20 and I don't really know the difference between them in terms of usefulness for 3dp. Thank.

  • @MarksGoneWicked
    @MarksGoneWicked 3 ปีที่แล้ว

    Can you expand on this topic with I²C EEPROMs? I saw a post on Facebook about one, and thinking about maybe getting one for my skr 1.4 pro.

  • @jayare7750
    @jayare7750 2 ปีที่แล้ว

    You sent me here from another video. I noticed that your menu has way more menu items them mine, how can I add the axis steps menu to my screen? I think that will be a great way to modify my eeprom instead of having to re-upload and restore defaults over and over. Thanks this was very helpful

    • @jayare7750
      @jayare7750 2 ปีที่แล้ว

      Nevermind. Found it. And I'm finally getting beautiful calibration cubes!!! All thanks to you!

  • @thomasheisler
    @thomasheisler 3 ปีที่แล้ว

    ok so I use a repitier on a 3d printer, so what do I use for the m500 codes? I been using a 3d printer for a while, but never went into the eeprom settings yet

  • @alexandrugroza839
    @alexandrugroza839 3 ปีที่แล้ว

    I have an ender 3 from 3 years ago and i still troubleshoot it to get it working as it should, i started to modify it hopping i will get better prints but i got only troubles from then, here is a more detailed story www.reddit.com/r/ender3/comments/iog6mj/comment/g4eo5oe?context=3 i hope someone more experienced could help me to get it working properly. All what i learned was from youtube videos and online forums and i don't regret the mistakes that i did because i fell that i've learned a lot more about the printer and how to resolve problems.
    Happy 3d printing, Alexandru!

  • @joestapleton7783
    @joestapleton7783 2 ปีที่แล้ว

    The newer Ender 3 printers come with the same board as the Ender 3 Pro. No 6 pin setup. how do you install a bootloader on to that?

  • @Zekn69
    @Zekn69 3 ปีที่แล้ว +5

    Are you still planning on doing a review of the BIQU B1? I can't decide between that and the artillery genius.

    • @Jorjito1989GDios
      @Jorjito1989GDios 3 ปีที่แล้ว +2

      Artillery

    • @pmflav
      @pmflav 3 ปีที่แล้ว

      Genius. I have a sidewinder X1 and their support is outstanding. If BIQU B1 support is anything like their support for their other products, then good luck.

    • @Jorjito1989GDios
      @Jorjito1989GDios 3 ปีที่แล้ว

      BIQU B1 have more features like is ready for bltouch plug and play support don’t know.

    • @blackaporo5581
      @blackaporo5581 3 ปีที่แล้ว

      @Jenova Artillery for sure. I have SWX1 and it’s already amazing. But Genius came after SWX1 so pretty sure they fixed some of the little problems the SWX1 has. Also the customer support is spectacular

    • @Zekn69
      @Zekn69 3 ปีที่แล้ว +1

      Yeah I'm just gonna get the sidewinder X1 as I do plan on printing some big stuff thanks for the help guys!

  • @emmettturner9452
    @emmettturner9452 3 ปีที่แล้ว

    It seems weird to distinguish "firmware" from "EEPROM" when firmware is just as often stored on Flash as EEPROM, like old PC motherboards and stuff. Further complicating things, the non-volatile settings often get saved to battery-backed CMOS, battery-backed SRAM, another flash chip, part of the same flash chip, etc.
    I would've just said that the firmware is stored on one chip and the settings are often but not always stored on another to avoid corrupting the firmware with things that can be dynamically changed.

  • @Benutzername0000
    @Benutzername0000 3 ปีที่แล้ว +2

    a guide to connect every printer to the software to change your firmware would be very nice, i don't find much on how to do that.

  • @syberphish
    @syberphish 3 ปีที่แล้ว

    When I go to do a M500 I get "no EEPROM" on my Ender 3 Pro, running the 32bit board with 4.2.7 and Marlin2.0.1 V1.0.1
    Do I need to edit the source code and re-flash the firmware to enable EEPROM editing?
    I don't get it, in all the other youtube videos, when they send M500 commands it just...works.
    I was trying to adjust my PID's but I can't get them to take.
    Any suggestions?

  • @WillardsChips
    @WillardsChips ปีที่แล้ว

    Hi Michael, I am a newbie to 3d printing, while setting-up my new Ender 3 S1 Pro 3d printer I must have done something wrong. I can't do ABL or Manual leveling. The ABL it stays on 0% and also gives me a Code 203 Probe failure. Now I want to set the printer back to its factory default with M502 and save with M500. The question, where do I get these files? How do I load these files on the printer??? I a total newbie and excuse me for asking stupid questions!!! Please help I am so frustrated!!!

  • @willemkossen
    @willemkossen 3 ปีที่แล้ว

    Does the creality cr20 have the same setup as the ender3?

  • @peejayw
    @peejayw 3 ปีที่แล้ว +1

    Do you know if the stock Ender 3 board has enough memory to enable manual mesh leveling? Thanks.

    • @Obee270
      @Obee270 3 ปีที่แล้ว +1

      Yes it does. You may have to disable some features to free up some space for it to compile though. ARC is an easy thing to disable and you can turn on slim LCD menus as well. That should be enough.

  • @zaelu
    @zaelu 2 ปีที่แล้ว

    if you have a failed update to the firmware due to the awesome documentation on creality site and the printer says: "homing failed printer halted please reset" what do you do?

  • @jpenna1976
    @jpenna1976 3 ปีที่แล้ว

    Is it common, that Ender 3 Pro sometimes forgets step calibration settings?

  • @tivadarodonvikkala8971
    @tivadarodonvikkala8971 2 ปีที่แล้ว

    and how can I fix this device (CREALITY 3D Printer Parts CR-6 SE Intelligent Color Touch HD Screen) if falsh booting was borken due to power loss. When the flash was occurred, there was a power outage and since then the screen is only blue and booting from the microSD card will not start again

  • @djscholas
    @djscholas 9 หลายเดือนก่อน

    Hi there,
    Need help.
    Just tried to update Marlin firmware from freakydude from GitHub update via pronterface and stm35 to my sidewinder x2.
    After I download firmware via stm32 and install to printer, then reset it, and was great but I didn’t save my Z offset and Extrusion data before… so I tried to go a step back and install old backup firmware I made via stm32. So I connected printer via usb cable to pronterface, than stm32 and install backup firmware as the pdf instruction said. then reset printer and… I tried to connect with pronterface to reset eprom and… protnerface can’t see printer via usb cable… also any tryouts to axis movement, heat extruded or bed, any function via touch screen on printer asp doesn’t work. Looks like everything failed… how can I put into printer firmware again when pc don’t see it via cable ?
    Help please :(

  • @RotaruCosminLeonard
    @RotaruCosminLeonard 3 ปีที่แล้ว

    Any chance you would do something about the cr 10 v3? :)

  • @vandit6354
    @vandit6354 3 ปีที่แล้ว

    Anyone got any tips for flashing firmware to an SKR 1.4 Turbo (LPC1769) via OctoPi? I havent been able to get any of OctoPrints many Firmware flasher plugins to work so am still using SD cards for flashing.

  • @igorcamacho1135
    @igorcamacho1135 3 ปีที่แล้ว

    Hello! By mistake, instead of executing the M503 code, i executed the M505 code. And now the printer is always heating up the hotted and gives an error after some time. What can i do to get it back to normal? Thank you!

  • @vaibhavagarwal4637
    @vaibhavagarwal4637 3 ปีที่แล้ว

    I cannot compile Marlin 2.0 for the Tevo Nereus. Can I PM you to help me? Edit: Also, how does one set the board in Arduino? I have a MKS Robin Nano v1.2. One more thing, can I make my 3D printer use the SD card to store the eeprom and firmware, instead of burning it into the board? (I mean that if I flash firmware onto the board, the firmware will still run without an SD card, but there will obviously be no gcode files).

  • @CornishCarper
    @CornishCarper 2 ปีที่แล้ว

    I have an XYZ Super, I tried swapping nozzles now the machine is frozen. Can not do anything the machine will not read the serial numbers of filament or Nozzle. Is there away to factory reset the EEPROM?

  • @darrenjoyner797
    @darrenjoyner797 3 ปีที่แล้ว

    I am having a nightmare trying to get the ender 3, 1.1.5 working with my BLTOUCH. I did the bootloader part using my arduino but my ender just isnt working. Will teaching tech do a tutorial for it as absolutely no one has info on it.

  • @TheCaffeineRacer
    @TheCaffeineRacer 3 ปีที่แล้ว

    What is the best program for putting on a bootloader when u only have a mac had no success all require Windows from what I have seen in videos etc online any suggestions. I have 3 ender 3 Pros I would like to update.
    I have a bl touch and a programmer but can't use it with a mac frustrating.
    Thanks in advance

    • @stephengloor8451
      @stephengloor8451 3 ปีที่แล้ว +1

      Arduino IDE runs perfectly on a Mac. It is actually easier as the Mac USB ports actually work and you don’t have to mess with the USB drivers with Zagi which can be an absolute nightmare. For the 8 bit boards just follow Micheal’s guide with the the Arduino editor installed on your Mac. It is exactly the same except where he sets up the USB port. You don’t have to do that - Mac ports just work - just select the correct one.
      Additionally use a cheap programmer from Jaycar as it is plug and play.
      www.jaycar.com.au/isp-programmer-for-arduino-and-avr/p/XC4627
      www.jaycar.com.au/avr-isp-10pin-to-6pin-adaptor-for-arduino/p/XC4613
      This will cost about $25 and with the adapter plug straight in to board.

    • @LordBBQX
      @LordBBQX 3 ปีที่แล้ว

      The only issue with the Arduino IDE on macOS Catalina, is that sometimes it just crashes if you have an external monitor connected.

  • @jorgemercent2995
    @jorgemercent2995 3 ปีที่แล้ว

    Help! M503 is not working for my printer :( i think the eeprom is disabled or sth? unknown command error when M503 is entered with Pronterhead

  • @GreyGhost_40
    @GreyGhost_40 3 ปีที่แล้ว

    I have a ender3 pro, the bowden feed stepper motor is getting power but it's not turning to feed the printer.
    Yes its wired correctly just like my other ender3 every thing is the same except that it will not not.. any thoughts?

    • @MarcBrown1
      @MarcBrown1 3 ปีที่แล้ว

      Have you pre heated the hotend?

    • @GreyGhost_40
      @GreyGhost_40 3 ปีที่แล้ว

      @@MarcBrown1 yupe. Still nothing the filament moves fine through the system, it's just the stepper won't do what it's supposed to

    • @MarcBrown1
      @MarcBrown1 3 ปีที่แล้ว +1

      @@GreyGhost_40 I would swap the motor with other your other ender see if problem moves with motor if it does you know what to buy

    • @GreyGhost_40
      @GreyGhost_40 3 ปีที่แล้ว

      @@MarcBrown1 already tried that to.

    • @trentbrown3714
      @trentbrown3714 3 ปีที่แล้ว

      @@MarcBrown1 And check the cables, very easy to overlook and cheap to replace

  • @rakeembradshaw8333
    @rakeembradshaw8333 2 ปีที่แล้ว

    Im not a programmer, nor do I wish to be. Is there a way to easily download a m502 and m500 gcode?? I need to reset my printer back to default

  • @mihaiciorobitca4949
    @mihaiciorobitca4949 2 ปีที่แล้ว

    Hi, I have a problem with my 3D printer, it says to me to 'HOME Z FIRST'. What can I do ?

  • @1800Supreme
    @1800Supreme 3 ปีที่แล้ว

    I have a Anet ET4 and I cant do M500 or M503 ???

  • @Crosslink3D
    @Crosslink3D 3 ปีที่แล้ว +1

    The bootloader is not at the beginning of the flash memory but at the end. This is the reason why a firmware that is too large will overwrite parts of the bootloader

  • @o1ecypher
    @o1ecypher 3 ปีที่แล้ว +1

    i heard you can update your firmware with a memory card in the new ender v2 with the 32 bit board. im not joking

    • @Em4gdn1m
      @Em4gdn1m 3 ปีที่แล้ว +3

      Yes... it has a boot loader already on there so you can update the firmware.

  • @saskikojiro3214
    @saskikojiro3214 3 ปีที่แล้ว

    I have a missing bootloader on a BTT skr mini e3 v1.2 any idea how I fix this?

    • @erikmuller8512
      @erikmuller8512 3 ปีที่แล้ว +1

      He has a video on 1.2 about boatloder

    • @saskikojiro3214
      @saskikojiro3214 3 ปีที่แล้ว

      @@erikmuller8512 thank you, I'll check it out

  • @ebgdae81
    @ebgdae81 3 ปีที่แล้ว

    is pronteface a bootloader?

    • @skandranon314
      @skandranon314 3 ปีที่แล้ว

      2 month old comment, so you likely figured this out already.. But it's software you can download and connect directly to your printer via usb to issue commands and get info.

  • @orac229
    @orac229 3 ปีที่แล้ว +11

    I need my printer to load 0.02 seconds faster: Delete bootloader hahahahaha

  • @bk3dprinting71
    @bk3dprinting71 3 ปีที่แล้ว +2

    from were do I get your email address Michael

  • @AndrewAHayes
    @AndrewAHayes 3 ปีที่แล้ว

    You can search for Big Foot on Google and Amazon and E-bay will show they have one for sale LOL

  • @linux2420
    @linux2420 3 ปีที่แล้ว

    First

  • @odinata
    @odinata 3 ปีที่แล้ว

    What is a "special programmer"?

    • @odinata
      @odinata 3 ปีที่แล้ว

      OH...he says later its a Raspberry Pi, etc.