Marlin Flasher or Firmware Updater App

What is the problem?

I want to flash my Anet A8 firmware with the latest Marlin 2.0

What did you already try to solve it?

I have, after much endeavour, managed to create two .hex files one from the Arduino IDE and one from VSCode Platformio-Autobuild Marlin

Complete Logs

octoprint.log, serial.log or output on terminal tab at a minimum, browser error console if UI issue ... no logs, no support! Not log excerpts, complete logs.)


Additional information about your setup

OctoPrint version, OctoPi version, printer, firmware, browser, operating system, ... as much data as possible

My question now is about flashing my printer and which plugin to use, I have both the Marlin Flasher and the Firmware Updater plugins installed in Octoprint and would like to use one of these apps to complete the upgrade task. My question is this: Is either one of these applications better for someone like me with minimal skills in this area? I can see that Marlin Flasher appears to allow me to connect to PlatformIO which for me is installed in VSCode while Firmware Updater appears to allow me to load one of the .hex files I have created. I am hoping someone can advise if there are any benefits in one of these apps over the other and which might be best if I am to Flash my firmware again in a few weeks when i update to a E3D V6 hotend.
The Marlin Flasher wants to know where the Platformio core is and I am not sure what to tell it as i am not sure myself.
Hope someone can advise.

Not an exact answer to your question but ....

I use vscode and platformio to create my firmware binary, although it is ARM and not Arduino. Then I use the firmware updater, just find the file and send it. Although doing a reset from the firmware updater plugin never works, never bother to debug issue, I just hit reset on the printer.

Probably flashed firmware this way about 20 times. Had one corruption and I had to reformat sd card to fix.

Thank you for your response Elminster and very helpful advice and experience. I Certainly can see that the Firmware Updater seems the easier option and will try that but in my naivety am not sure what to put in the "Path to avrdude" field as I dont know what that path might be. As you can see I am thinking for my purposes AVRDude may be the flash method but not sure. I am flashing a ATMega 1284p cpu and as that seems to be the most common choice am also using it. Hope this is correct for me.
Again thanks for your response.

There is also the option of using this... which worked for me when I was getting started... [ - ]( - ) If you can get a fresh install of the Arduino desktop build tool to compile Marlin then I'd go that way, but you still need a way to create file for Firmware Updater to flash to the mainboard. I am looking at Firmware updater, having built code on an Ubuntu laptop first, simply because its easier than moving the laptop to each printer in turn. But as they cannot be printing, there's a bit of me that says, just run the compile/build/flash on each printer... Rinse and repeat so to speak. If you use VS code / PlatformIO, your build image is created in a .pio directory - typically firmware.bin.

Thank you for your reply rcw88. I will use Firmware updater but am being asked for the path to AVRDude. I can see online that I can download and install AVRDude but am wondering if that is what I should do as I can see a folder AVR in the Marlinbugfix2.0 directory and dont want to install if not necessary. Hope to hear.

I just used this plugin a few days ago and had the same question. The path to AVRDude is probably /usr/bin/avrdude.
You need to install avrdude onto your device running octoprint. The instructions are on the github page for Firmware updater. The path that you are entering in is the location that it got installed to which should be the default raspberry pi (or what ever your running octoprint on) location.

Enter in /usr/bin/avrdude and click test. All that does is has the plugin check that avrdude is installed where you said it is. It wont do anything to your printer.

I just use Arduino IDE on my computer. Make sure you have the latest version and that your Libraries are up to date. I just downloaded version 1.8.14 today. Load the version of Marlin you want to use, edit as necessary, then SAVE and VERIFY. If there are no errors connect your computer to the printer controller via USB cable. Go back to Arduino IDE, select “Tools -> Board: >” and select your printer controller board. I use “Arduino Mega or Mega 2560” with my Tornado. Next, select “Tools -> Port >” and find the option that describes your connected USB port. Now you’re ready to UPLOAD.

I’m a beginner too. A lot of this stuff you seem to learn through trial and error. Good luck.

Thank you Mr Wigs for that post. I think maybe the simple way may again be the best just as you have described particularly as yesterday I fried my motherboard when I flashed using Firmware Updater via Ocopi. Not the updaters problem but mine as I can only think somehow I used the wrong .hex file when I flashed the printer. The first sign after flashing was an LED screen with square white dots and no way to access the system. I then tested and could get heating on the hotend so at that stage it was working. I then used the home button on octopi to try homing the print head. That created an almighty problem and after that the board appeares to be dead with no light showing on the board. So I am now waiting for a new one I ordered last night. Only fear is now that I will create the same problem again so feel direct connection via printer usb interface and compile and upload is the safest. Feeling a bit stupid today.

Your board probably isn't fried, but lacking the bootloader, not done an Anet A8 mainboard for a while, but I am pretty sure you can install a bootloader using the programmer port, #stopstoextractboard , yep look at this at 2:15 is the pinout for the J3 header on the mainboard - I have a V1.1-5 version in front of me.. So if you have a Nano, Uno or whatever - you can use that as a 'passthru' programmer.