This document provides more detailed developer info on the custom firmware, as well as info on how to setup a build environment and build your own version of the firmware from scratch. Due to compiler differences resulting on error message on mac, these instructions are currently PC only.
The A5S and A1 are powered by the same motherboard. The only difference between these printers, is that the x-axis is reversed on the A1, so the motor directions must be changed. This also means that homing occurs to X-max, rather than the traditional X-min. The only other differences are minor geometry changes since the A5S and A1 differ in build volume.
You can either clone or download a copy of all the files from github here using the green button here.
These differences are all contained within the main configuration.h files for these printers. To configure the build for the correct printer, the correct configuration files can be copied from the config/examples/JGAurora directory, into the main /Marlin/Marlin/ folder, to be placed alongside Marlin.h.
Install instructions for Platformio are here.
NOTE: Installing takes some time, and happens in the background. You may want to leave this running for an hour to fully setup. If you find your projects don't compile, and seem to be frozen, don't worry, PlatformIO probably hasn't finished fully installing all the internal components.
The compiled firmware files will be found in the main folder, located in an invisible folder in ./.pioenvs/jgaurora_ax/
There will be two files:
The file with bootloader is to be used if flashing a blank motherboard, as it includes the bootloader that is responsible for handling the SD card upload process. This means there is nothing to worry about if you want to experiment with creating your own firmware without the bootloader, as you can reinstall it later on. To flash the full firmware you will need a SWD programmer (a ST-link clone off ebay costs $5 or less).
If you don't have a programmer device available, then you will have to flash using the SD card method:
Flashing via SD card doesn't change the bootloader at all, so going back to factory firmware is simply following the instructions above, but using the OEM firmware files linked to here.
JGAurora released the source code for the A5S in late 2018. These files can be download here:
This firmware is based off the open source Dlion firmware project. That project which was an implementation of (a very old version of) the Marlin firmware, within a OpenRTOS project, with a touch interface. JGAurora created their current firmware from this project, but changed the interface side substantially. For more into this topic, you may want to read this blog post.