Home JGAurora A5 & A3S Modifications & Upgrades

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

Samuel PinchesSamuel Pinches Posts: 2,993Administrator
edited April 2021 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,993Administrator
    edited April 2021
    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: 46Member
    Is there an upgrade for the magic yet?
  • Samuel PinchesSamuel Pinches Posts: 2,993Administrator
    edited April 2021
    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
  • FurbaFurba Posts: 2Member

    Hello, did everything according to the instructions (no problems)
    But I can not find a manual to prescribe in the files settings for BTOUCH. With this firmware, all the settings that are on the Internet give an error.
    Please tell me if there are ready-made files with bltouch or separately the settings that need to be prescribed?
    P.S. Hello from Russia (I write through the translator)

  • Samuel PinchesSamuel Pinches Posts: 2,993Administrator
    edited June 2021

    Hello @Furba, the errors are not useless. If you make a new thread, and post the errors there, I am willing to support you. I do not have a ready made configuration file -- there are too many possible combinations to do this. You may want to see this thread here, which should have a great example of a BLTouch configuration file.

    Post edited by Samuel Pinches on
  • Victor_SHVictor_SH Posts: 7Member
    edited July 2021

    Worth upgrade from 1.1.9c beta I think
    To the 2.0?
    Some noticeable improvements?

    Post edited by Victor_SH on
  • Samuel PinchesSamuel Pinches Posts: 2,993Administrator

    @Victor_SH -- personally, I think not, unless you plan to use TMC drivers in the more advanced modes.

Sign In or Register to comment.