A5 Custom Community Firmware 2.0CThanks to @Eye for drafting this guide.
NOTE #1: This guide only talks
about the firmware for the main motherboard.
NOTE #2: There is tweaked firmware available for the LCD module as well, if you would like to use babystepping -- the process for updating the LCD firmware is covered here.
NOTE #3: if you need to go back to
factory Firmware, please see https://jgaurorawiki.com/a5/factory-firmware
Important: If you want to flash the main motherboard, then you MUST disconnect the 8-pin LCD module cable. Otherwise you may end up with a paperweight! Under the front edge of the printer is a hole, simply unplug the 8-pin cable before flashing.
Step 1: Software Installation & Source Code Download
Before you start, you need to download and install the following software packages. Please note, there is NO need to install Arduino IDE any more. Marlin 2.0 firmware does not compile properly with the Arduino IDE any more.
1. Github Desktop https://desktop.github.com/
2. Visual Studio Code: https://code.visualstudio.com/download
3. You may need to install drivers for the CH340 Serial-to-USB chip used by the printer.
a) PC CH340 serial drivers are here.
b) Mac CH340 serial drivers
4. Add the Marlin Repository to Github desktop, via URL: https://github.com/MarlinFirmware/Marlin
5. In Github Desktop, switch the Current Branch to "Bugfix-2.0.x"
6. In Github Desktop, press the "Fetch Origin" button, to download the current Marlin source code.
7. Next, we need to download the correct configuration files for the A5. Download these two files:
8. Open the Github Marlin folder. In Github desktop, click the Repository menu, then click "show in explorer". In that folder, open the Marlin folder inside. Normally this will be ~/Documents/Github/Marlin/Marlin/
9. Replace the Configuration.h and Configuration_adv.h files in that folder, with the ones you downloaded in step 7.
Step 2: Compiling & Flashing
10. Open Visual Studio Code
11. Inside VS Code, install the Platform Extension called "Platformio". See the guide here.
12. Open Workspace, and Navigate to the outer Marlin folder created by Github desktop. (Not the inner marlin folder!) Normally this will be ~/Documents/Github/Marlin/
13. Close ALL other programs that talk to the serial port. E.g. Cura, JGCreat, Pronterface, Simplify3D, etc.
14. Unplug the printer from Mains Power
15. Double check you have unplugged the LCD module cable -- the printer display should turn off, and should stay off for this entire operation.
16. Plug the printer into the computer via USB cable. The LCD on the printer should stay off! If it doesn't, you have not unplugged the cable in step 15.
17. In Visual Studio
code, at the bottom of the window is a row of white icons on a blue background. Click the icon with a "right arrow" “ →” symbol.
18. Wait. You will see the computer compile the firmware, and shortly afterward, it will upload the firmware to the printer.
19. You should see a success message in green text if the process was successful. Once the process has completed, unplug the printer from the computer, and plug the printer display back in. You have flashed the firmware successfully!
20. It is highly recommended to run G-Code commands M502 (reset settings from firmware defaults) and M500 (save settings to EEPROM) after flashing. This can be done manually using a program like Pronterface. Or, you can make a text file, place M502 and M500 on sequential lines, save the file as "reset.gcode", transfer the file to the printer and then "print" this file. B
22. If you want to upgrade
your LCD firmware as well (optional) go here next