Table of Contents

A5 & A3S Custom Community Firmware

NOTE: This page only talks about the firmware for the main motherboard. There is firmware available for the LCD module as well, but that is not important unless you want to use babystepping. The process for updating the LCD firmware is covered separately here.

The original factory motherboard firmware that this printer was shipped with was … terrible!

JGAurora previously refused to supply the firmware open source files for this printer until only very recently, so we reverse engineered the configuration to create our own community firmware. This firmware works exactly the same as the factory firmware, except for:

Firmware Download

You can download the latest version of the community firmware for the A5 and A3S here: Download A5 firmware Download A3S firmware

If you wish to go back, you can download the original factory firmware here.

Firmware Installation Instructions

To install custom firmware:

  1. Unplug AC power cable from printer.
  2. Download and install arduino IDE software from https://www.arduino.cc/en/Main/Software
  3. Close all other programs that talk to the serial port, like Cura and JGCreat.
  4. Unzip the firmware download, and open the “Marlin.ino” file in the Arduino IDE. Make sure the folder the firmware files are all located in is “Marlin” with a capital M, and make sure the selected tab in the Arduino IDE says “Marlin” and not something like “conditionals.h”.
  5. Plug in A5 to your computer via USB cable
  6. IMPORTANT: Unplug the 8-pin LCD panel header connector on your printer. The LCD should turn off completely. This is the found underneath the LCD, and can be accessed from underneath the printer without removing any screws. Remember where it goes to put it back after flashing.
  7. In the Arduino IDE, under the Tools menu, set:
  8. – Board to “Arduino/Genuino Mega or Mega 2560”
  9. – Processor to “Atmega 2560 (Mega 2560)”
  10. – COM Port set to your 3D printer’s com port: To find your COM port, unplug the printer, and see which com ports are currently listed. Plug the printer USB cable in, and see if any new COM ports appear. Those will likely be your printer. If you can’t find the right com port, or your device is not detected, you may need to install drivers for the CH340 serial to USB interface chip in the printer. Mac CH340 serial drivers are here. PC CH340 serial drivers are here. On a mac running high-sierra, I had problems with those mac drivers, and I had a more reliable connection with the mac drivers available for purchase (unfortunately… not free, but someone gotta eat) here.
  11. Install the u8glib library, using the library manager found under the menu “Sketch → Include Library → Manage Libraries”. (watch this video for a demonstration)
  12. Triple check you’ve unplugged the 8-pin ribbon cable going to the printer’s LCD.
  13. In the Arduino software, choose upload, under the sketch menu.
  14. Wait for the firmware to finish uploading.
  15. Plug the LCD connector back in.
  16. In the arduino IDE, click on the “Tools” menu, and then click on “Serial monitor”. This will open up a white window. Set the options for baud rate to “250000”, and change the line ending to “carriage return”.
  17. In the input box, type the following GCode commands: type M502, then press return, then type M500, and press return again. This step is used to initialise the EEPROM for the new firmware.
  18. Celebrate! You did it! 8-)
  19. If you want to upgrade your LCD firmware as well (optional) go here next.

Troubleshooting

VIDEO of Installation process

Credits & Dev

Firmware Changelog:

Rev C ( 28th Aug) Made a small code change to solve arduino 1.8.6 bug.

Rev C (21st Jan 2018):

Rev B (9th Jan 2018):

Notes

This firmware was prepared from scratch using the latest Marlin base firmware, as JGAurora disrespect the GPL by refusing to provide their modified Marlin firmware!

The current firmware team includes: Telli Mantelli, Kris Waclawski, Samuel Pinches & Michael Gilardi. Please contact one of these people if you have questions, suggestions or feedback! :)