JGMaker is having a CLEARANCE sale on the commercial-grade Z-603S -- at a BONKERS $399. If you're in the USA, and want a ready-to-go full steel frame printer... run, don't walk! ⏩ JGAURORA Z603S CLEARANCE ⏪ Only 4 units left!

How to compile Marlin 2.0 firmware for JGAurora A5 - Community Firmware (2.0H) - 2021 Guide

Samuel PinchesSamuel Pinches Posts: 2,916Administrator
edited April 9 in Modifications & Upgrades

A5 Custom Community Firmware 2.0C

Thanks 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 are here.

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:

a)  Configuration.h

b)  Configuration_adv.h

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.

Post edited by Samuel Pinches on


  • Samuel PinchesSamuel Pinches Posts: 2,916Administrator
    edited April 10
    Note: there is currently a bug in the Marlin 2.0 firmware, which will make the bed levelling process slow to perform. I suggest making the following change after step 9.
    Change line 216 in \GitHub\Marlin\Marlin\src\feature\bedlevel\bedlevel.cpp:
     #if defined(MANUAL_PROBE_START_Z) && !defined(MESH_BED_LEVELING)

    Post edited by Samuel Pinches on
  • PrintBigPrintBig Posts: 44Member
    Is there an upgrade for the magic yet?
  • Samuel PinchesSamuel Pinches Posts: 2,916Administrator
    edited April 9
    These steps would also work for the JGMaker Magic. Except, the LCD does not need to be disconnected on that model, and, the configuration files required are here:

    Post edited by Samuel Pinches on
Sign In or Register to comment.