I have never seen anyone make something so simple as complicated as this, you go so fast that I have had to skip back about 30 times and I haven't even downloaded Marlin yet.
Appreciate the video! I had just bought the 1.1.5 silent board for my Ender 3 Pro and accidentally bought one with the Ender 5 firmware. Your video was the easiest to understand and simplest solution for me since the board already had a bootloader. I just downloaded the source code from Creality, followed the tutorial and was immediately able to start printing. Thank you!
Superb info as always. Looking forward to your 'from scratch' video, it may show me something I missed as I just finished upgrading my CR-10 S4 from scratch to Marlin 1.1.9. Loads of new features and fixes.
Important before uploading the firmware: Disconnect all other serial connections to the printer. Close Simplify3d or Pronterface and disonnect the TFT32 (in case you have one). If either of these are connected to the board when uploading the firmware you will get a generic error message. That took me wayyy too long to find out.
Just some additional info: A third issue you might run into uploading new firmware is if your printer uses the MKS TFT family of display screens (ie: JGAurora A5 & A3S). These 'intelligent' controller screens constantly communicate with the mainboard and have been shown to interfere and even corrupt the upload of firmware. So its recommended that you disconnect the MKS TFT board from the mainboard before uploading new firmware. Also, if you are uploaded a different version of the firmware (not just newer), you MUST reset EEPROM to factory defaults or it Will Indeed be all wrong and very strange things will occur when printing (homing the wrong direction, over-temperature faults, wrong acceleration/movement settings, etc) Thanks for the great video!
I assume this isn't necessary when you actually flash bootloader (it deletes the board content, no?), and then you flash firmware to it? Otherwise, I'm not clear how to reset EEPROM. Everything seems to work like a charm after flashing bootloader followed by TH3D (even though some options are missing, like stuff from the Motion submenu of Control menu). xD
@@alexandrevaliquette1941 "M" codes are commands you type in, eg, Repetier that give direct instructions to your Marlin board. By typing one of the many M-codes plus a number you can change the behaviour of your printer, or, in this case, backup the contents of the Eprom.. Just search for M codes on Google
Alexandre, it's not you. These people are used to messing around with commands being sent directly to the printers and not using user interfaces and software to do this for them. As I said before there needs to be a step-by-step explanation of the process first (ie what they plan on doing and why) followed by the method of updating (ie the execution of the plan). The programming etc is relatively simple but if you don't know what you are doing it is not obvious.
Thomas, great job. After downloading the files and updating the boards manager, using the correct processor and adding the custom library it compiled on first try.
While i agree that it is frustrating, you should watch the video to its end and know the plan, BEFORE trying to follow along. There are also other videos on youtube on how to flash Ender 3 Bootloader. Sup you don't HAVE to wait for Tom's2nd half. I do like how informative he made this first half.
Yes, Teaching Tech is who I used to flash my bootloader. I just wish he used official Marlin Software instead of TH3D. I'm trying to install a BLTouch and he used TH3D and the new software doesn't really work with BLTouch. It's almost like they purposefully sabotaged BLTouch users in the new version. So I'm stuck now with a BLTouch that probes, but doesn't actually do any leveling.
Hi Tom, Kudos for a great tut. It makes my day seeing how open source and community based projects' work, reaches the level of world class commercial setups (there effectiveness, efficiency and reliability are second to none) Marlin and Arduino are 2 great software and hardware examples (I know there are many others out there); great times.
Nice video! Especially like the part about showing how to install the Sanguino option to the Boards Manager and the u8glib. I had just used the TH3D unified software to run Arduino and then pointed that to the Marlin 1.1.x folder to get around it before seeing this video. The TH3D is a good option for those wanting a simpler option, but I like to know what each setting does (or at least the main ones). Looking forward to your video where you go through all the options in Marlin.
Thank you for instructions! I did the upgrade for my Creality Ender-4. There are some differences comparing to Ender-3: the processor is ATmega2650 and its support is included to Arduino AVR Boards by default, so no need to set up Sanguino board and steps associated with setting up the board may be skipped (I set it up first and then just removed:-) Also, I made some more configuration 'cause I have extra gears attached to the printer: auto-leveling and filament sensor. So, went through the config files and un-commented lines to activate corresponding features. Configs are well commented and it is easy to find proper lines responsible for certain features...
Thanks for the step by step. Worked great. I could not have done it with your instructions keep up the good work. Needed to upgrade the firmware to eliminate the extruder stopping with the quiet main board when using Simplify 3D
Hello Thomas I have the following error, for compiling it was ok however I cant upload it onto the board, any idea? Sketch uses 122088 bytes (93%) of program storage space. Maximum is 130048 bytes. Global variables use 4629 bytes (28%) of dynamic memory, leaving 11755 bytes for local variables. Maximum is 16384 bytes. avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x65 avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x63 avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x68 avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x6f avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x3a avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x53 avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x44 avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x20 avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x69 avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x6e An error occurred while uploading the sketch
Very thankful for the video, I can't help but mention though -it would have been nice to mention _at the beginning_ that even though you are demonstrating on the Ender 3, you can't actually complete the process on that printer using this video alone. -as I sit here with a USB sticking out of my laptop...
Yeah, I realized the Ender-3 wouldn't work way too late into making this video. Sorry 'bout that, I'll try to follow up with the hardware flashing instructions asap!
Same here. We need to enable the Thermal Runaway protection too. Tom did a video showing CR-10's come without this enabled on the firmware, so I know I've needed to do this for too long.
As others have said, the work you put into this is greatly appreciated, but for those of us who aren't technically-minded, it's like falling down a very deep rabbit hole with pointy bits along the way. But that's a heck of a shirt, Tom.
5 years in with my Ender 3, nothing substantial other than basic upgrades that are must have from the get go, there is little to no point in upgrading the firmware, but 80% chance that one might brick their only 3d printer and leave a sour experience. Mine is still having no thermal runaway protection and there's no mention of it here, like the tutorial or someone could've made it simpler to test exactly that, and do a first update project where that project is the first to go and make it so they're not burning their house down accidentally. I am happy with what it could do, it hold bed level for years, accurate to
I "know" Arduino and thought I understand the steps you took. I suspect most people who are not programmers won't. I'll be honest. I don't know how you could make it any easier as you did do a great job explaining it. But the word "easy" is a bit of a stretch. ☺
It was getting my usbasp to work in windows 10 at my workshop (it works at home after a lot of swearing and then is very good). The one I have has all sorts of driver signing problems and you have to boot into a special mode and it's a pain. I ended up using an arduino uno and use the arduinoisp sketch and this did work. One thing you need to know is after loading the bootloader the ender 3 the display can be blank so don't worry if you think you broke it. After the bootloader was loaded I could just plugin to the usb on the printer and the th3d firmware was super easy to compile with if you download the complete package.
Lot to keep up with when you're a noob. Saved this video because I'm going to watch it 100000000 times till it all clicks. I got issues just like loading firmware for my bl touch I just got for my ender 3. Great video btw and I will be trying to catch up.
It wasn't really easy, but you walked me through most of the hard stuff. I still had two errors (very similar) where they put something in comments AFTER the command and apparently my board wanted the comments BEFORE the command on a separate line. Fixed both of those errors and everything else went smooth as butter.
you said you were going to explain the issue with Ender 3 and other required hardware then have us sit through the video but at the very end you say oh wait no it's going to be in another video. I do enjoy your content but this bait-and-switch is frustrating.
If you follow one of the video tutorials on how to install a bootloader on a Melzi/Sanguino board (such as the CR-10 v1.0), then you can go ahead with the firmware flash described here.
@@ScottLahteine I know that and I have done it rather I use the Raspberry Pi method and needed to go buy a secondary board I have no use for. It's just misleading I don't know why he added it that way just say it's going to be a two-part video at the beginning.
Because this is enough for most printers. It's just the Tronxy\Creality machines mostly that sometimes dont bother including bootloader. It's pretty easy though.
I do agree, this video should have been put out after the Arduino one mentioned at the end. Especially with the machine, you are demonstrating on needing the bootloader flashing before this upgrade is done
I agree that he is over-simplifying the process. I have just updated my Ender 3 and I had to use an Arduino as an AVRISP_MKII and use it as an Arduino as ISP to program the boot-loader first. Then you can go and compile/flash the Marlin firmware and do the 1284P Sanguino stuff. Again this is not explained that well either. Having used a lot of AVR's and SAM devices in the past I know the process but the Arduino tools are new to me. There really needs to be a newer explanation of the process and then the method. I bought an Arduino Uno as I was under the impression I needed it whereas I could have probably used my AVR JTAGICE-II.
Sketch uses 97374 bytes (74%) of program storage space. Maximum is 130048 bytes. Global variables use 6193 bytes (37%) of dynamic memory, leaving 10191 bytes for local variables. Maximum is 16384 bytes.
Hello Tom, I would like to upgrade Marlin for my printers but ... for my old Hypercube I have a Printrboard which I can flash only with an old version of Arduino IDE, with some customized bootloader, probably the new .ino file for Marlin 1.1.9 will not compile on older Arduino IDE ? Also my new Hypercube has a RAMPS1.4, for this probably Marlin 1.1.9 will work, but still I am afraid I will crash them both ... so actually for the Ender you need a programmer ? Fail video ...
As I was trying to upload the firmware to my Ender 3, I was given the error "avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x65 avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x63 avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x68 avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x6f avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x3a avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x54 avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x46 avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x20 avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x69 avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x6e An error occurred while uploading the sketch " Does anyone know how to fix this?
If you want to compile and upload de last version of Marlin bugfix 2.0 for ender 3 (in my case: Ender 3 Pro with 1.1.4 board ) the u8glib must be the 1.18.1 or later. Your guide is the best guide on youtube for Marlin and Ender 3.
Wow this is much easier now. My BLTouch came with a usb with a ribbon cable and adapter to update the ender 3 firmware. I’ve flashed mine several times when I was figuring out the BLTouch.
a couple things that I found need to be changed in config.h are the minimum y set to -8 and set the bed to 232 mm. now you will print more in line with the center of the bed and take advantage of the larger build surface
Don't have a problem myself, but some printers have separate enable jumper for firmware programming (safety feature, so that you can prevent ANYONE from flashing your printer). Just another thing to check, if your firmware flashing attempts are failing. At least my Megatronics 2.0 has one.
You said it will apply to any future 1.1.x version. But the developers have stated there won't be any more of those 🤔🤔🤔🤔. Regardless I can personally attest to 2.0.x being the exact same process.
Thanks very much Tom! How can we update the firmware if we do not have any support or file from the manufacturer? How do we only have the firmware loaded on the Mega board and no other data? How do we adjust the values for the different types of extruders, rods of the Z axis, etc? Thanks for your kind support.
Thanks for the vid. It was a very helpful walkthru to getting the correct versions of everything and getting the Arduino IDE all set up and able to compile the project. Thanks to your vid I was able to confidently get Marlin compiled and ready to load on my ENder 3 pro. I lost my USBASP board during a move, and so I'm waiting for a new one to talk to my board. (I prefer this to using my UNO which I also can't find, LOL. It's been a few years since I did a lot of microcontroller and Arduino work.) But your video was a confidence builder.
Great info Tom!! I do have one question. I build a dolly back when you did that build series. Does this work for upgrading the firmware on it as well or will I have alot to fix since its not a "production" kit??
Great video, Tom. I'm pretty much a newbie and not real computer smart, but I followed your directions step by step and successfully replaced the original Ender 3 firmware with the current version of Marlin. It added some nice functionality (like being able to move the Z-axis up and down from the LCD screen) and I'm enjoying it a lot. Thanks!
Hey Thomas, I got a new motherboard for my Ender 3 and now I was updating the firmware but in the end when I was uploading it says that an error occurred while uploading the sketch
Great video! I have seen that other "3d printing gurus" have installed the TH3D firmware instead, the installation procedure seems more or less the same, so what is the difference?
Hey Thomas, great video as usual. I own a Creality CP-01 and was curious ho to update to Marlin 2.0? There is no files inside Marlin for CP-01. Please help
How do you convert an old configuration to the new Marlin 2.0 when there is no manufacturers version available. I only can get hold of Marlin 1.0.4 for my Geetech and i'm havin g problems, I would like to upgrade to either 1.1.9 or 2.0. but don;y know how Thanks
Great video. But have a problem with my printer . It's a sainsmart 300 . Out of nowhere something when wrong . It's like the print head is lost . What ever I print it starts ok for the first 2 or 3 lines then it goes sync and wondering all over the print plate . I dont know if it's the firmware or a hardware problem all the step motor are good . . Can you help . Can I send you a video of what it's doing.
Thomas, how about a review of Marlin 2.0? I know it is still late beta, but a review of the features and the 32-bit boards that it will run on would be very useful.
Thx Thomas! What if your company pushed a version of Marlin with closed source necessary modifications (I know they *should not*) wouldn't this just brick the printer?
I flashed 1.1.9 last week on my older RepRap with a mega / ramps combo. Never had any problems with the older versions and my endstops but when I flashed 1.1.9 I couldn't get it to G28 without running the command like 3 times. Eventually had to turn on the ENDSTOP_NOISE_FILTER in config. I have some .1uf ceramic caps on the way to attach to the endstops so hopefully I can turn that feature off again.
Marlin 1.1.9 out of the box is less tolerant of noisy endstop signals. ENDSTOP_NOISE_FILTER is the workaround, but adding a capacitor and/or resistor is the correct solution.
Please some help I do everything as on video and get error Creality ender 3 Board :1.1.4 I tested on 2 different computers 2 different versions of Arduino, 1.8.5 and 1.8.9 Sketch uses 126004 bytes (96%) of program storage space. Maximum is 130048 bytes. Global variables use 6279 bytes (38%) of dynamic memory, leaving 10105 bytes for local variables. Maximum is 16384 bytes. avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x65 avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x63 avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x68 avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x6f avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x3a An error occurred while uploading the sketch avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x54 avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x46 avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x20 avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x69 avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x6e
Thanks for the excellent info as always, do you have some info on changing the code for the printer knowing where the center of your bed is? My Ender 3 is 4mm left and 11mm back from what the slicer thinks is center.
What about printers with a touch screen lcd? Are those not open source? Example would be the Snapmaker printer that says they will be open source eventually but would the firmware update not work great with the fancy touch screen?
I tried to verify my build on the Anet A6 but it failed because it's 40 bytes too big with the BL Touch sensor enabled. Had to enable Linear auto bed leveling to reduce the size. Thanks!
Thanks, just followed your instructions for the Ender 1.1.5 board for an ender 5. Worked fine once I found ender5 config.h files and I had to use 1.18 of the U8glib but it compiled ok and I guess the board had the bootloader as it loaded fine. Now to put the board in the printer and test.
Great Video, Tom. Super easy to follow. The following is an error message I received in Arduino. Marlin-2.0.x\Marlin\src\HAL\AVR\u8g_com_HAL_AVR_sw_spi.cpp:65:10: fatal error: U8glib-HAL.h: No such file or directory #include Not sure where to find this in the latest Marlin Website layout. If you could assist would be great. Thank you.
@@MadeWithLayers A PC? Like Apple says if you fix something in your computer by a non official service? Hehehehehehe... I won't remove mine until I print a proper cover, not that I will ever enter Facebook to get support or anything... Ever.
WTF does a sticker have to do with firmware in the first place, please provide some slid evidence that removing the sticker changes something in the firmware
Cheers - this was my issue. If you get an error before the library install step (talking about PIN, just uninstall 1.8.6 and install 1.8.4. Open the Marlin.ino file and it will compile without having to refollow all the steps again - edit see commenting out option below.
hi guys! .. so at least i´m not alone with this "pins" problem, but unfortunately neither of your proposals does work out for me like described here. :-( (TH3D works without problems!)
Creality publishes their Marlin sources on their website. You can compare their config files to the examples.
6 ปีที่แล้ว
Hey come on Tom I wanna got to Hollyday`s and always remember and thinking of flash my board with marlin firmware. And now your coming up with this video. Thanks for al the great vids out there and your share of all that knowleage. Schöne grüsse aus München ;)
Using Arduino 2, at 8:00 stop and start Arduino again to see board in Boards manager. And at 8:24 I get error Compilation error: Error resolving FQBN: missing platform release arduino:avr referenced by board Sanguino:avr:sanguino} And then at 8:26 I do not have the selection for the processor. Is this because the Arduino 2 and the Sanguino firmware are incompatible?
This may be off topic.Keep doing the unboxing and assembly and first prints as you have. With no mods. Its the most honest way for the consumer,to determine if its a good manufacturer. Continue to show box stock with all the flaws. Let the machine either stand on its own,or embarrass the manufacturer into trying harder.
Help Please. my printer doesnt have an example config. would it be wise to just copy my old config files over OR is it better to take a similar example config and just change the values?
Great videos Thomas, very informative and helpful for windowers. How about a few for us Mac.ers??? I have my Anet for a couple of years now and I still haven't managed to flash Marlin from my MacBook! Great work! keep it up!
@@MadeWithLayers Yeah, thought so. Thanx for responding anyhow. You don't happen to know of a follower or a you tuber with a Mac and an A8 with a Bowden setup and BlTouch do you?
Great video and very informative. Thanks for this. I have a CR20 Pro and when I hit "About the Printer", I get ver. 1.1.6BL_ver3.1. All I find on Internet never mention the CR20 Pro... Is the procedure the same as the one you describe here?
Totally unrelated question as far as software goes but i'm curious, seeing the ender 3 connected via usb git me curious can you upload print files to the printer via usb ? instead of having to go through the sd card?
Please link in the description or pinned comment to the "other video" you mention. You didn't even give a hint as to what it's called which will make it hard for people looking to do this on their ender 3 (like me).
Great video explaining how to, but I am having trouble with configuration.h file. I did not find another video that you may have done pertaining to this exercise (you mentioned you would). But I am hoping you can help. I keep getting "Multiple libraries were found for "U8glib.h"" Do you have a video for this?
I have never seen anyone make something so simple as complicated as this, you go so fast that I have had to skip back about 30 times and I haven't even downloaded Marlin yet.
Was about to comment this
Appreciate the video! I had just bought the 1.1.5 silent board for my Ender 3 Pro and accidentally bought one with the Ender 5 firmware. Your video was the easiest to understand and simplest solution for me since the board already had a bootloader. I just downloaded the source code from Creality, followed the tutorial and was immediately able to start printing. Thank you!
Superb info as always. Looking forward to your 'from scratch' video, it may show me something I missed as I just finished upgrading my CR-10 S4 from scratch to Marlin 1.1.9. Loads of new features and fixes.
Important before uploading the firmware: Disconnect all other serial connections to the printer. Close Simplify3d or Pronterface and disonnect the TFT32 (in case you have one). If either of these are connected to the board when uploading the firmware you will get a generic error message. That took me wayyy too long to find out.
Thank you. I’ve been pulling my hair out trying fix my CR10S (TFT32 version)
Thanks for making this Thomas, looking forward to the part where you show us Configuration options separately!
Just some additional info:
A third issue you might run into uploading new firmware is if your printer uses the MKS TFT family of display screens (ie: JGAurora A5 & A3S). These 'intelligent' controller screens constantly communicate with the mainboard and have been shown to interfere and even corrupt the upload of firmware. So its recommended that you disconnect the MKS TFT board from the mainboard before uploading new firmware.
Also, if you are uploaded a different version of the firmware (not just newer), you MUST reset EEPROM to factory defaults or it Will Indeed be all wrong and very strange things will occur when printing (homing the wrong direction, over-temperature faults, wrong acceleration/movement settings, etc)
Thanks for the great video!
I assume this isn't necessary when you actually flash bootloader (it deletes the board content, no?), and then you flash firmware to it? Otherwise, I'm not clear how to reset EEPROM. Everything seems to work like a charm after flashing bootloader followed by TH3D (even though some options are missing, like stuff from the Motion submenu of Control menu). xD
Thank you so much for your help
You did forget the M503 before uploading your firmware to get a copy of your old EEPROM settings if you fiddled with any.
It's a good idea. And `M503 S0` will print out only the G-code needed to restore the EEPROM without the inter-line headings.
Great info from you two. Tom really needs add this to his video.
I don't understand what should I do? You are too technical, sorry to be that dumb!
@@alexandrevaliquette1941 "M" codes are commands you type in, eg, Repetier that give direct instructions to your Marlin board. By typing one of the many M-codes plus a number you can change the behaviour of your printer, or, in this case, backup the contents of the Eprom.. Just search for M codes on Google
Alexandre, it's not you. These people are used to messing around with commands being sent directly to the printers and not using user interfaces and software to do this for them. As I said before there needs to be a step-by-step explanation of the process first (ie what they plan on doing and why) followed by the method of updating (ie the execution of the plan). The programming etc is relatively simple but if you don't know what you are doing it is not obvious.
Thomas, great job. After downloading the files and updating the boards manager, using the correct processor and adding the custom library it compiled on first try.
Thanks, very informative. But _"Easily"_ is a bit of a stretch.
ARRGGG Was following along with my new Ender3 and then at the end "it'll be in another video" and I can't finish. THANKS.
NOT COOL!
While i agree that it is frustrating, you should watch the video to its end and know the plan, BEFORE trying to follow along.
There are also other videos on youtube on how to flash Ender 3 Bootloader. Sup you don't HAVE to wait for Tom's2nd half.
I do like how informative he made this first half.
Agreed. I've watched TeachingTech's tutorial but this one was easier to follow... until that sudden stop, lol.
Yes, Teaching Tech is who I used to flash my bootloader. I just wish he used official Marlin Software instead of TH3D. I'm trying to install a BLTouch and he used TH3D and the new software doesn't really work with BLTouch. It's almost like they purposefully sabotaged BLTouch users in the new version. So I'm stuck now with a BLTouch that probes, but doesn't actually do any leveling.
@@bkpickell Since you already have a bootloader flashed should be pretty easy to goto stock marlin
@@HavokHouse yeah I've been on stock marlin about a month now and it works great.
Hi Tom, Kudos for a great tut. It makes my day seeing how open source and community based projects' work, reaches the level of world class commercial setups (there effectiveness, efficiency and reliability are second to none) Marlin and Arduino are 2 great software and hardware examples (I know there are many others out there); great times.
_y
when i try to do this i get an error that you didnt talk about
If it’s u8glib, then install it under Tools -> Manage Libraries -> Search u8glib. It’ll be the last one in the search
Nice video! Especially like the part about showing how to install the Sanguino option to the Boards Manager and the u8glib. I had just used the TH3D unified software to run Arduino and then pointed that to the Marlin 1.1.x folder to get around it before seeing this video. The TH3D is a good option for those wanting a simpler option, but I like to know what each setting does (or at least the main ones). Looking forward to your video where you go through all the options in Marlin.
Thank you for instructions! I did the upgrade for my Creality Ender-4. There are some differences comparing to Ender-3: the processor is ATmega2650 and its support is included to Arduino AVR Boards by default, so no need to set up Sanguino board and steps associated with setting up the board may be skipped (I set it up first and then just removed:-)
Also, I made some more configuration 'cause I have extra gears attached to the printer: auto-leveling and filament sensor. So, went through the config files and un-commented lines to activate corresponding features. Configs are well commented and it is easy to find proper lines responsible for certain features...
this works! after following other vids online, this is the only vid that works for my Ender 3. thank you soooo much!
Thanks Thomas! I had to get the U8Glib 1.1.7 somewhere else, but you got me through it!
Thanks for the step by step. Worked great. I could not have done it with your instructions keep up the good work. Needed to upgrade the firmware to eliminate the extruder stopping with the quiet main board when using Simplify 3D
Hello Thomas I have the following error, for compiling it was ok however I cant upload it onto the board, any idea?
Sketch uses 122088 bytes (93%) of program storage space. Maximum is 130048 bytes.
Global variables use 4629 bytes (28%) of dynamic memory, leaving 11755 bytes for local variables. Maximum is 16384 bytes.
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x65
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x63
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x68
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x6f
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x3a
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x53
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x44
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x20
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x69
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x6e
An error occurred while uploading the sketch
I got the same issue.. Did you get a resolution?
Very thankful for the video, I can't help but mention though -it would have been nice to mention _at the beginning_ that even though you are demonstrating on the Ender 3, you can't actually complete the process on that printer using this video alone.
-as I sit here with a USB sticking out of my laptop...
Yeah, I realized the Ender-3 wouldn't work way too late into making this video. Sorry 'bout that, I'll try to follow up with the hardware flashing instructions asap!
Awesome video at just the right time. Was going to spend the evening configuring newest marlin, to upgrade my cr-10. Just got a lot easier.
Same here. We need to enable the Thermal Runaway protection too. Tom did a video showing CR-10's come without this enabled on the firmware, so I know I've needed to do this for too long.
As others have said, the work you put into this is greatly appreciated, but for those of us who aren't technically-minded, it's like falling down a very deep rabbit hole with pointy bits along the way. But that's a heck of a shirt, Tom.
5 years in with my Ender 3, nothing substantial other than basic upgrades that are must have from the get go, there is little to no point in upgrading the firmware, but 80% chance that one might brick their only 3d printer and leave a sour experience. Mine is still having no thermal runaway protection and there's no mention of it here, like the tutorial or someone could've made it simpler to test exactly that, and do a first update project where that project is the first to go and make it so they're not burning their house down accidentally. I am happy with what it could do, it hold bed level for years, accurate to
Will you lose the Ender-3's ability to resume prints after a power outage by upgrading Marlin following these steps?
Thanks, Thomas, I was able to burn bootloader and Marlin firmware on my Ender 3.
I "know" Arduino and thought I understand the steps you took. I suspect most people who are not programmers won't.
I'll be honest. I don't know how you could make it any easier as you did do a great job explaining it.
But the word "easy" is a bit of a stretch. ☺
Holy balls, this is too much for me to even try right now.
I just upgraded my ender 3 with the TH3D firmware and getting the bootloader working was the hardest part.
What kind of problems did you encounter?
It was getting my usbasp to work in windows 10 at my workshop (it works at home after a lot of swearing and then is very good). The one I have has all sorts of driver signing problems and you have to boot into a special mode and it's a pain. I ended up using an arduino uno and use the arduinoisp sketch and this did work. One thing you need to know is after loading the bootloader the ender 3 the display can be blank so don't worry if you think you broke it. After the bootloader was loaded I could just plugin to the usb on the printer and the th3d firmware was super easy to compile with if you download the complete package.
Thanks for the blank display tip, you saved me a heart attack :)
Lot to keep up with when you're a noob. Saved this video because I'm going to watch it 100000000 times till it all clicks.
I got issues just like loading firmware for my bl touch I just got for my ender 3.
Great video btw and I will be trying to catch up.
It wasn't really easy, but you walked me through most of the hard stuff. I still had two errors (very similar) where they put something in comments AFTER the command and apparently my board wanted the comments BEFORE the command on a separate line. Fixed both of those errors and everything else went smooth as butter.
you said you were going to explain the issue with Ender 3 and other required hardware then have us sit through the video but at the very end you say oh wait no it's going to be in another video. I do enjoy your content but this bait-and-switch is frustrating.
If you follow one of the video tutorials on how to install a bootloader on a Melzi/Sanguino board (such as the CR-10 v1.0), then you can go ahead with the firmware flash described here.
@@ScottLahteine I know that and I have done it rather I use the Raspberry Pi method and needed to go buy a secondary board I have no use for. It's just misleading I don't know why he added it that way just say it's going to be a two-part video at the beginning.
Because this is enough for most printers. It's just the Tronxy\Creality machines mostly that sometimes dont bother including bootloader.
It's pretty easy though.
I do agree, this video should have been put out after the Arduino one mentioned at the end. Especially with the machine, you are demonstrating on needing the bootloader flashing before this upgrade is done
I agree that he is over-simplifying the process. I have just updated my Ender 3 and I had to use an Arduino as an AVRISP_MKII and use it as an Arduino as ISP to program the boot-loader first. Then you can go and compile/flash the Marlin firmware and do the 1284P Sanguino stuff. Again this is not explained that well either. Having used a lot of AVR's and SAM devices in the past I know the process but the Arduino tools are new to me. There really needs to be a newer explanation of the process and then the method. I bought an Arduino Uno as I was under the impression I needed it whereas I could have probably used my AVR JTAGICE-II.
there are no file to download for u8glib!!!!!!!!!!!!!!!!!!!!!!!!
Sketch uses 97374 bytes (74%) of program storage space. Maximum is 130048 bytes.
Global variables use 6193 bytes (37%) of dynamic memory, leaving 10191 bytes for local variables. Maximum is 16384 bytes.
Extremely helpful material even in 2021. Five five bro ;)
Thanks for sharing Tom. very informative as always!
Hello Tom, I would like to upgrade Marlin for my printers but ... for my old Hypercube I have a Printrboard which I can flash only with an old version of Arduino IDE, with some customized bootloader, probably the new .ino file for Marlin 1.1.9 will not compile on older Arduino IDE ? Also my new Hypercube has a RAMPS1.4, for this probably Marlin 1.1.9 will work, but still I am afraid I will crash them both ... so actually for the Ender you need a programmer ? Fail video ...
As I was trying to upload the firmware to my Ender 3, I was given the error
"avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x65
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x63
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x68
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x6f
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x3a
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x54
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x46
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x20
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x69
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x6e
An error occurred while uploading the sketch
"
Does anyone know how to fix this?
Hi Tom, thank you very much for this video, it saves me money to buy a new board!
If you want to compile and upload de last version of Marlin bugfix 2.0 for ender 3 (in my case: Ender 3 Pro with 1.1.4 board ) the u8glib must be the 1.18.1 or later. Your guide is the best guide on youtube for Marlin and Ender 3.
Wow this is much easier now. My BLTouch came with a usb with a ribbon cable and adapter to update the ender 3 firmware. I’ve flashed mine several times when I was figuring out the BLTouch.
a couple things that I found need to be changed in config.h are the minimum y set to -8 and set the bed to 232 mm. now you will print more in line with the center of the bed and take advantage of the larger build surface
Don't have a problem myself, but some printers have separate enable jumper for firmware programming (safety feature, so that you can prevent ANYONE from flashing your printer). Just another thing to check, if your firmware flashing attempts are failing.
At least my Megatronics 2.0 has one.
You said it will apply to any future 1.1.x version. But the developers have stated there won't be any more of those 🤔🤔🤔🤔. Regardless I can personally attest to 2.0.x being the exact same process.
Sorry for such a late reply, but are you saying Marlin 2.0.x is pretty much good to go to load up onto the printer?
Thanks very much Tom!
How can we update the firmware if we do not have any support or file from the manufacturer? How do we only have the firmware loaded on the Mega board and no other data? How do we adjust the values for the different types of extruders, rods of the Z axis, etc? Thanks for your kind support.
Thanks for the vid. It was a very helpful walkthru to getting the correct versions of everything and getting the Arduino IDE all set up and able to compile the project. Thanks to your vid I was able to confidently get Marlin compiled and ready to load on my ENder 3 pro. I lost my USBASP board during a move, and so I'm waiting for a new one to talk to my board. (I prefer this to using my UNO which I also can't find, LOL. It's been a few years since I did a lot of microcontroller and Arduino work.)
But your video was a confidence builder.
I like the way you pronounced "Zachariah." I've never heard anyone say it like that.
thank you ... is it possible to resume print with and other printer , and which one ? ... all .... thank you your video is clearly ....
Thanks Thomas; as always clear, engaging and useful. Worked great for me.
Awesome the previous video was a bit old, much appreciated
Great info Tom!! I do have one question. I build a dolly back when you did that build series. Does this work for upgrading the firmware on it as well or will I have alot to fix since its not a "production" kit??
Shouldn't be a problem.
I would use the Prusa I3 config file and if needed change it.
Great video, Tom. I'm pretty much a newbie and not real computer smart, but I followed your directions step by step and successfully replaced the original Ender 3 firmware with the current version of Marlin. It added some nice functionality (like being able to move the Z-axis up and down from the LCD screen) and I'm enjoying it a lot. Thanks!
Hey Thomas, I got a new motherboard for my Ender 3 and now I was updating the firmware but in the end when I was uploading it says that an error occurred while uploading the sketch
Great video! I have seen that other "3d printing gurus" have installed the TH3D firmware instead, the installation procedure seems more or less the same, so what is the difference?
TH3D Firmware is simply a pre-configured fork of Marlin.
Hey Thomas,
great video as usual. I own a Creality CP-01 and was curious ho to update to Marlin 2.0? There is no files inside Marlin for CP-01. Please help
Hello Thomas, this is the error when I try to upload the Marlin:
stk500_getsync() attempt 1 of 10: not in sync: resp=0x65
Can you help me?
Thanks
Dont use u8glib,try use u8g2
What about printers that aren’t included in the example machines folder?
i got a error "avrdude: stk500_getsync()... error occurred while uploading sketch"
Same here. Did you manage to solve it?
How do you convert an old configuration to the new Marlin 2.0 when there is no manufacturers version available.
I only can get hold of Marlin 1.0.4 for my Geetech and i'm havin g problems, I would like to upgrade to either 1.1.9 or 2.0. but don;y know how
Thanks
Ive also flashed my tarantula, now prints better with less ghosting.
Where did you find your configurations? Duncan Stickland (above) is looking for some.
@@ScottLahteine i used marlin tarantula easyconfig.
very useful, thanks Thomas! I'll see if I can update my Geeetech A20T
wheres this video of him showing us how to do the next step on the ender 3
Super video, tnx to this tutorial my 'bricked' ender 3 is working again.
Hi, can you directly connect the printer to the pc on the Ender 3 or do your need to get the USB device
Great video. But have a problem with my printer . It's a sainsmart 300 . Out of nowhere something when wrong . It's like the print head is lost . What ever I print it starts ok for the first 2 or 3 lines then it goes sync and wondering all over the print plate . I dont know if it's the firmware or a hardware problem all the step motor are good . . Can you help . Can I send you a video of what it's doing.
Thomas, how about a review of Marlin 2.0? I know it is still late beta, but a review of the features and the 32-bit boards that it will run on would be very useful.
I don't usually do beta reviews for various reasons, but a "preview" look at what's coming with Marlin might actually be nice!
Thx Thomas! What if your company pushed a version of Marlin with closed source necessary modifications (I know they *should not*) wouldn't this just brick the printer?
I flashed 1.1.9 last week on my older RepRap with a mega / ramps combo. Never had any problems with the older versions and my endstops but when I flashed 1.1.9 I couldn't get it to G28 without running the command like 3 times. Eventually had to turn on the ENDSTOP_NOISE_FILTER in config. I have some .1uf ceramic caps on the way to attach to the endstops so hopefully I can turn that feature off again.
Marlin 1.1.9 out of the box is less tolerant of noisy endstop signals. ENDSTOP_NOISE_FILTER is the workaround, but adding a capacitor and/or resistor is the correct solution.
Please some help
I do everything as on video and get error
Creality ender 3
Board :1.1.4
I tested on 2 different computers
2 different versions of Arduino, 1.8.5 and 1.8.9
Sketch uses 126004 bytes (96%) of program storage space. Maximum is 130048 bytes.
Global variables use 6279 bytes (38%) of dynamic memory, leaving 10105 bytes for local variables. Maximum is 16384 bytes.
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x65
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x63
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x68
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x6f
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x3a
An error occurred while uploading the sketch
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x54
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x46
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x20
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x69
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x6e
Thanks for the excellent info as always, do you have some info on changing the code for the printer knowing where the center of your bed is? My Ender 3 is 4mm left and 11mm back from what the slicer thinks is center.
Great work, Thomas!
What about printers with a touch screen lcd? Are those not open source? Example would be the Snapmaker printer that says they will be open source eventually but would the firmware update not work great with the fancy touch screen?
I can't get u8glib 1.17 the page is missing
I tried to verify my build on the Anet A6 but it failed because it's 40 bytes too big with the BL Touch sensor enabled. Had to enable Linear auto bed leveling to reduce the size. Thanks!
Thanks, just followed your instructions for the Ender 1.1.5 board for an ender 5. Worked fine once I found ender5 config.h files and I had to use 1.18 of the U8glib but it compiled ok and I guess the board had the bootloader as it loaded fine. Now to put the board in the printer and test.
How long does the Marlin verification step usually take? I've been waiting 20 minutes with no change in the progress bar.
?????? wtf is happening
You should do a comparison after the firmware upgrade.
I'd like to see whether the new S_CURVE_ACCELERATION option makes an impression and allows for higher speeds on this machine.
Great video Tom. Thanks for the insight.
Also the Marlin instructions tell you to reset the eeprom if you update firmware to a new release.
For anyone who needs the info, that's M502, M500 - or use the LCD menu option "Reset EEPROM."
Great Video, Tom. Super easy to follow.
The following is an error message I received in Arduino.
Marlin-2.0.x\Marlin\src\HAL\AVR\u8g_com_HAL_AVR_sw_spi.cpp:65:10: fatal error: U8glib-HAL.h: No such file or directory
#include
Not sure where to find this in the latest Marlin Website layout. If you could assist would be great.
Thank you.
yea i got a simmilar error not a clue how to fix
Very good tutorial, fantastic! Congratulations ;)
You forgot about one very important mod for ender 3 that everyone does: remove that dumb "Facebook QR Code" sticker xD
I need to review printers as shipped from the manunfacturer - as soon as I start modding it, it becomes something else!
@@MadeWithLayers A PC? Like Apple says if you fix something in your computer by a non official service? Hehehehehehe... I won't remove mine until I print a proper cover, not that I will ever enter Facebook to get support or anything... Ever.
WTF does a sticker have to do with firmware in the first place, please provide some slid evidence that removing the sticker changes something in the firmware
@@GroovyDrifter Louise Rossman reference???
@@England91 Absolutely...
I ran it again and it worked. Did you say that I will need another board to flash the board for an Ender 3?
Thanks for the video. i did get a issue with my memory. not enough with my ender 5 pro. any suggestions?
Arduino 1.8.6 has currently bugs that makes it impossible to compile marlin 1.8.4 works fine just sayin maybe jump that one
Cheers - this was my issue. If you get an error before the library install step (talking about PIN, just uninstall 1.8.6 and install 1.8.4. Open the Marlin.ino file and it will compile without having to refollow all the steps again - edit see commenting out option below.
A workaround is to remove the end-of-line comments from any pins that the compiler chokes on.
i'm using 1.8.5 and it seems to work fine.
hi guys!
.. so at least i´m not alone with this "pins" problem, but unfortunately neither of your proposals does work out for me like described here. :-( (TH3D works without problems!)
Viciente You could remove the end-of-line comments from all pins that the compiler complains about as a workaround to the compiler bug.
So just to confirm, we cannot use this video if we have an ender 3 until you upload a new video for ender 3?
Creality publishes their Marlin sources on their website. You can compare their config files to the examples.
Hey come on Tom I wanna got to Hollyday`s and always remember and thinking of flash my board with marlin firmware.
And now your coming up with this video.
Thanks for al the great vids out there and your share of all that knowleage.
Schöne grüsse aus München ;)
Using Arduino 2, at 8:00 stop and start Arduino again to see board in Boards manager. And at 8:24 I get error Compilation error: Error resolving FQBN: missing platform release arduino:avr referenced by board Sanguino:avr:sanguino}
And then at 8:26 I do not have the selection for the processor. Is this because the Arduino 2 and the Sanguino firmware are incompatible?
Looking forward to the Marlin from Scratch Video since my first self designed printer is almost ready to be powered on.
ME TOO!!!
This may be off topic.Keep doing the unboxing and assembly and first prints as you have. With no mods. Its the most honest way for the consumer,to determine if its a good manufacturer. Continue to show box stock with all the flaws. Let the machine either stand on its own,or embarrass the manufacturer into trying harder.
Help Please. my printer doesnt have an example config. would it be wise to just copy my old config files over OR is it better to take a similar example config and just change the values?
Hi, before make this upgrade, is required unlock bootloader ?
Great videos Thomas, very informative and helpful for windowers. How about a few for us Mac.ers??? I have my Anet for a couple of years now and I still haven't managed to flash Marlin from my MacBook! Great work! keep it up!
I don't own a Mac, so the only thing I can really contributer here is "run Bootcamp"
@@MadeWithLayers Yeah, thought so. Thanx for responding anyhow. You don't happen to know of a follower or a you tuber with a Mac and an A8 with a Bowden setup and BlTouch do you?
Would all of the Ender 3 steps work for the Ender 3 Pro?
As long as you are discussing upgrades. How about a review doing a comparison of the current offerings of 32bit controllers on the market?
Great video and very informative. Thanks for this. I have a CR20 Pro and when I hit "About the Printer", I get ver. 1.1.6BL_ver3.1. All I find on Internet never mention the CR20 Pro... Is the procedure the same as the one you describe here?
Totally unrelated question as far as software goes but i'm curious, seeing the ender 3 connected via usb git me curious can you upload print files to the printer via usb ? instead of having to go through the sd card?
google "Octoprint"
Please link in the description or pinned comment to the "other video" you mention. You didn't even give a hint as to what it's called which will make it hard for people looking to do this on their ender 3 (like me).
Will I need a bootloader when trying this with an Ender 3 pro with the updated 4.2.7 board? There is nothing showing up under my ports tab.
Does it have "Thermal protection" or we need to config it manually?
Great video explaining how to, but I am having trouble with configuration.h file. I did not find another video that you may have done pertaining to this exercise (you mentioned you would). But I am hoping you can help. I keep getting "Multiple libraries were found for "U8glib.h"" Do you have a video for this?