Home JGAurora A5S, A1 & A3S-V2 Modifications & Upgrades

Custom Community Firmware for A5S & A1

Samuel PinchesSamuel Pinches Posts: 2,997Administrator
edited April 2021 in Modifications & Upgrades
Please note, this software is currently BETA - you use this at your own risk! Please do not leave your printer unattended while testing. Thanks for your understanding! :smiley:
This thread is for discussions and feedback related to the Custom Community Firmware for the A5S and A1.

Current Version:

NEW: 2021 Beta (version 2.0H)

  • Supports power outage resume
  • Bed levelling made a little faster

2020 Beta (version 2.0G)

  • Brand new full-touch full colour interface!
  • Supports filament run out!
  • Support A5S, A1, and now A3S V2 printer too!
  • Support EEPROM saving onto CPU, no more SD card save files.

First Release! 27th July 2019 (version 2.0D)

  • Mesh bed levelling ... working, tested
  • EEPROM saving to SD card ... working, tested
  • Babystepping  ... working, tested
  • USB printing  ... working, tested
  • SD card printing  ... working, tested
  • Temperature control system  ... working, tested
  • Watchdog system  ... working, tested
  • LCD system  ... working, tested
  • Touchscreen system  ... working, tested
  • Filament run out detection ... TODO
  • Power outage detection ... TODO


Regarding SD card printing:
If you find the printer making strange movements mid print, e.g. appearing to home the x axis during the print, please open your printer and shield the LCD and SD card cables with aluminum shielding tape. You may want to also insulate the cables with a layer of sticky tape on top, to prevent short circuits.

Regarding LCD corruption:
If you notice your screen is distorted on your A1 or A5S, please also shield the LCD cables. See this video here.





Post edited by Samuel Pinches on
«13456789

Comments

  • Samuel PinchesSamuel Pinches Posts: 2,997Administrator
    edited March 2019
    For anyone having problems with layer shifting, please reduce the jerk deviation, I suggest 0.010mm. Here is a tutorial:



    Thanked by 2Mark Robby
    Post edited by Samuel Pinches on
  • millijacmillijac Posts: 5Member
    I can't get the nozzle temp to set any higher than 235.  This seems extremely low, even for a PTFE lined hotend.  

    Is this on purpose?  Is there a reason for this?
  • Samuel PinchesSamuel Pinches Posts: 2,997Administrator
    @millijac Can you please try this firmware and tell me if it fixes it? (This is for A5S, tell me if you need the A1 version)

    I've set max temp to 260C in this one, it was previously 250C.

    Thanked by 1millijac
  • millijacmillijac Posts: 5Member
    I will give it a try once my current print finishes.

    Also, I just ordered an all-metal hotend to replace the stock one.  Would it be possible to get a second version of the firmware with a max temp of 280 - 300 for all metal hotends?

    Thanks for all of the help and hard work!
  • MarkMark Posts: 2Member
    I’m having problems with layer shifting, but I already reduce the jerk deviation to 0.010mm. 🙏🏿🙏🏾🙏🏽🙏🏼🙏🏻
  • SomeoneYouLikeSomeoneYouLike Posts: 38🌟 Super Member 🌟
    @Mark
    When I printed with computer and not with SD card it fixed the layer shifting for me. 
  • Samuel PinchesSamuel Pinches Posts: 2,997Administrator
    @Mark thanks for the feedback. Which beta version have you been testing! Thanks
  • Samuel PinchesSamuel Pinches Posts: 2,997Administrator
    @millijac - yes, I can do that. Which printer do you have? A5S or A1?
  • MarkMark Posts: 2Member
    I think it is the newest one. The March 24th one. 
    Thanked by 1Samuel Pinches
  • millijacmillijac Posts: 5Member
    I have the A5S
  • millijacmillijac Posts: 5Member
    With the 03/30/19 firmware I was able to set printer to 245.  Seems the actual max temp comes in 15 below what you set it as, presumably a safety margin setting hidden somewhere.
  • Samuel PinchesSamuel Pinches Posts: 2,997Administrator
    Here you go, A5S with 315C max temp (so hopefully 300C max temp) for A5S modded with all metal hotends.
    Thanked by 2millijac LucasS11
  • millijacmillijac Posts: 5Member
    What a beast!  Thanks for all of your help.  I'll test this out when my V6 comes in.
  • csfmfrcsfmfr Posts: 2Member
    This may seem like a stupid question, but how do you load and unload filament after installing the custom firmware? I would do it manually, but sense JG decided not to install a release button, I cannot. I've searched every menu in the new user interface and can't find an option. There is an option in the advanced menu labeled filament, but it just has an option to set the filament diameter and E in. Thanks
  • Samuel PinchesSamuel Pinches Posts: 2,997Administrator
    Welcome @csfmfr - sorry, I have not yet added any filament loading assistant to the menu. There actually is a button on the extruder, but it is very hard to push. It is on the side of the extruder motor section, in the middle. Some people print stick on buttons to make it easier:

  • csfmfrcsfmfr Posts: 2Member
    Thank you for the quick response, and the welcome. I looked everywhere for that thing. It's not very obvious. Great work my friend, I look forward to see what you do next. Thank you again, and have a great week.  :)
  • dclobatodclobato Posts: 1Member
    I checked out the latest version of firmware form Github, but just can't compile...  I have a lot of "duplicate inline" errors, as you can see below.

    Any idea on what can be?

    
    Processing JGAURORA_A5S_A1 (platform: ststm32@5.1.0; board: genericSTM32F103ZE; framework: arduino)
    ---------------------------------------------------------------------------------------
    Verbose mode can be enabled via `-v, --verbose` option
    CONFIGURATION: https://docs.platformio.org/page/boards/ststm32/genericSTM32F103ZE.html
    PLATFORM: ST STM32 > STM32F103ZE (64k RAM. 512k Flash)
    HARDWARE: STM32F103ZET6 72MHz 64KB RAM (512KB Flash)
    DEBUG: CURRENT(blackmagic) EXTERNAL(blackmagic, jlink, stlink)
    Converting Marlin.ino
    Library Dependency Finder -> http://bit.ly/configure-pio-ldf
    LDF MODES: FINDER(chain) COMPATIBILITY(soft)
    Collected 38 compatible libraries
    Scanning dependencies...
    Dependency Graph
    |-- <U8glib-HAL> 0.4
    |   |-- <SPI> 1.0
    |   |-- <Wire> 1.0
    |-- <LiquidCrystal> 1.3.4
    |   |-- <Wire> 1.0
    |-- <TMCStepper> 0.3.1
    |   |-- <SPI> 1.0
    |-- <30aa480>
    |   |-- <Wire> 1.0
    |-- <Arduino-L6470> 0.7.0
    |-- <SailfishLCD> #c8ac22f
    |-- <SailfishRGB_LED> #2426fa2
    |   |-- <Wire> 1.0
    |-- <SlowSoftI2CMaster> #3a18be5
    |-- <SPI> 1.0
    |-- <STM32ADC> 1.0
    |-- <EEPROM>
    |-- <Wire> 1.0
    Compiling .pioenvs/JGAURORA_A5S_A1/src/src/HAL/HAL_STM32F1/HAL.cpp.o
    Compiling .pioenvs/JGAURORA_A5S_A1/src/src/HAL/HAL_STM32F1/HAL_Servo_STM32F1.cpp.o
    Compiling .pioenvs/JGAURORA_A5S_A1/src/src/HAL/HAL_STM32F1/HAL_sdio_STM32F1.cpp.o
    Compiling .pioenvs/JGAURORA_A5S_A1/src/src/HAL/HAL_STM32F1/HAL_spi_STM32F1.cpp.o
    In file included from /Users/dclobato/.platformio/packages/toolchain-gccarmnoneeabi/arm-none-eabi/include/stdlib.h:19,
    from /Users/dclobato/.platformio/packages/toolchain-gccarmnoneeabi/arm-none-eabi/include/c++/8.2.1/cstdlib:75,
    from /Users/dclobato/.platformio/packages/toolchain-gccarmnoneeabi/arm-none-eabi/include/c++/8.2.1/stdlib.h:36,
    from /Users/dclobato/.platformio/packages/framework-arduinoststm32/STM32F1/cores/maple/wirish.h:41,
    from /Users/dclobato/.platformio/packages/framework-arduinoststm32/STM32F1/cores/maple/Arduino.h:30,
    from Marlin/src/HAL/HAL_STM32F1/HAL_sdio_STM32F1.h:28,
    from Marlin/src/HAL/HAL_STM32F1/HAL_sdio_STM32F1.cpp:26:
    /Users/dclobato/.platformio/packages/framework-arduinoststm32/STM32F1/system/libmaple/stm32f1/include/series/gpio.h:489:15: error: duplicate 'inline'
    static inline __always_inline void afio_exti_select(exti_num exti, exti_cfg port) {
    ^~~~~~~~~~~~~~~
    /Users/dclobato/.platformio/packages/framework-arduinoststm32/STM32F1/system/libmaple/include/libmaple/nvic.h:112:15: error: duplicate 'inline'
    static inline __always_inline void nvic_globalirq_enable() {
    ^~~~~~~~~~~~~~~
    /Users/dclobato/.platformio/packages/framework-arduinoststm32/STM32F1/system/libmaple/include/libmaple/nvic.h:119:15: error: duplicate 'inline'
    static inline __always_inline void nvic_globalirq_disable() {
    ^~~~~~~~~~~~~~~
    /Users/dclobato/.platformio/packages/framework-arduinoststm32/STM32F1/cores/maple/ext_interrupts.h:109:15: error: duplicate 'inline'
    static inline __always_inline void interrupts() {
    ^~~~~~~~~~~~~~~
    /Users/dclobato/.platformio/packages/framework-arduinoststm32/STM32F1/cores/maple/ext_interrupts.h:123:15: error: duplicate 'inline'
    static inline __always_inline void noInterrupts() {
    ^~~~~~~~~~~~~~~
    In file included from /Users/dclobato/.platformio/packages/toolchain-gccarmnoneeabi/arm-none-eabi/include/stdlib.h:19,
    from /Users/dclobato/.platformio/packages/toolchain-gccarmnoneeabi/arm-none-eabi/include/c++/8.2.1/cstdlib:75,
    from /Users/dclobato/.platformio/packages/toolchain-gccarmnoneeabi/arm-none-eabi/include/c++/8.2.1/stdlib.h:36,
    from /Users/dclobato/.platformio/packages/framework-arduinoststm32/STM32F1/cores/maple/wirish.h:41,
    from /Users/dclobato/.platformio/packages/framework-arduinoststm32/STM32F1/cores/maple/Arduino.h:30,
    from Marlin/src/HAL/HAL_STM32F1/../../inc/../HAL/HAL_STM32F1/HAL.h:41,
    from Marlin/src/HAL/HAL_STM32F1/../../inc/MarlinConfig.h:30,
    from Marlin/src/HAL/HAL_STM32F1/HAL.cpp:34:
    /Users/dclobato/.platformio/packages/framework-arduinoststm32/STM32F1/system/libmaple/stm32f1/include/series/gpio.h:489:15: error: duplicate 'inline'
    static inline __always_inline void afio_exti_select(exti_num exti, exti_cfg port) {
    ^~~~~~~~~~~~~~~
    In file included from /Users/dclobato/.platformio/packages/toolchain-gccarmnoneeabi/arm-none-eabi/include/stdlib.h:19,
    from /Users/dclobato/.platformio/packages/toolchain-gccarmnoneeabi/arm-none-eabi/include/c++/8.2.1/cstdlib:75,
    from /Users/dclobato/.platformio/packages/toolchain-gccarmnoneeabi/arm-none-eabi/include/c++/8.2.1/stdlib.h:36,
    from /Users/dclobato/.platformio/packages/framework-arduinoststm32/STM32F1/cores/maple/wirish.h:41,
    from /Users/dclobato/.platformio/packages/framework-arduinoststm32/STM32F1/cores/maple/Arduino.h:30,
    from Marlin/src/HAL/HAL_STM32F1/../../inc/../HAL/HAL_STM32F1/HAL.h:41,
    from Marlin/src/HAL/HAL_STM32F1/../../inc/MarlinConfig.h:30,
    from Marlin/src/HAL/HAL_STM32F1/HAL_Servo_STM32F1.cpp:26:
    /Users/dclobato/.platformio/packages/framework-arduinoststm32/STM32F1/system/libmaple/stm32f1/include/series/gpio.h:489:15: error: duplicate 'inline'
    static inline __always_inline void afio_exti_select(exti_num exti, exti_cfg port) {
    ^~~~~~~~~~~~~~~
    /Users/dclobato/.platformio/packages/framework-arduinoststm32/STM32F1/system/libmaple/include/libmaple/nvic.h:112:15: error: duplicate 'inline'
    static inline __always_inline void nvic_globalirq_enable() {
    ^~~~~~~~~~~~~~~
    /Users/dclobato/.platformio/packages/framework-arduinoststm32/STM32F1/system/libmaple/include/libmaple/nvic.h:112:15: error: duplicate 'inline'
    static inline __always_inline void nvic_globalirq_enable() {
    ^~~~~~~~~~~~~~~
    /Users/dclobato/.platformio/packages/framework-arduinoststm32/STM32F1/system/libmaple/include/libmaple/nvic.h:119:15: error: duplicate 'inline'
    static inline __always_inline void nvic_globalirq_disable() {
    ^~~~~~~~~~~~~~~
    /Users/dclobato/.platformio/packages/framework-arduinoststm32/STM32F1/system/libmaple/include/libmaple/nvic.h:119:15: error: duplicate 'inline'
    static inline __always_inline void nvic_globalirq_disable() {
    ^~~~~~~~~~~~~~~
    /Users/dclobato/.platformio/packages/framework-arduinoststm32/STM32F1/cores/maple/ext_interrupts.h:109:15: error: duplicate 'inline'
    static inline __always_inline void interrupts() {
    ^~~~~~~~~~~~~~~
    /Users/dclobato/.platformio/packages/framework-arduinoststm32/STM32F1/cores/maple/ext_interrupts.h:123:15: error: duplicate 'inline'
    static inline __always_inline void noInterrupts() {
    ^~~~~~~~~~~~~~~
    /Users/dclobato/.platformio/packages/framework-arduinoststm32/STM32F1/cores/maple/ext_interrupts.h:109:15: error: duplicate 'inline'
    static inline __always_inline void interrupts() {
    ^~~~~~~~~~~~~~~
    /Users/dclobato/.platformio/packages/framework-arduinoststm32/STM32F1/cores/maple/ext_interrupts.h:123:15: error: duplicate 'inline'
    static inline __always_inline void noInterrupts() {
    ^~~~~~~~~~~~~~~
    In file included from /Users/dclobato/.platformio/packages/toolchain-gccarmnoneeabi/arm-none-eabi/include/stdlib.h:19,
    from /Users/dclobato/.platformio/packages/toolchain-gccarmnoneeabi/arm-none-eabi/include/c++/8.2.1/cstdlib:75,
    from /Users/dclobato/.platformio/packages/toolchain-gccarmnoneeabi/arm-none-eabi/include/c++/8.2.1/stdlib.h:36,
    from /Users/dclobato/.platformio/packages/framework-arduinoststm32/STM32F1/cores/maple/wirish.h:41,
    from /Users/dclobato/.platformio/packages/framework-arduinoststm32/STM32F1/cores/maple/Arduino.h:30,
    from Marlin/src/HAL/HAL_STM32F1/../../inc/../HAL/HAL_STM32F1/HAL.h:41,
    from Marlin/src/HAL/HAL_STM32F1/../../inc/MarlinConfig.h:30,
    from Marlin/src/HAL/HAL_STM32F1/HAL_spi_STM32F1.cpp:39:
    /Users/dclobato/.platformio/packages/framework-arduinoststm32/STM32F1/system/libmaple/stm32f1/include/series/gpio.h:489:15: error: duplicate 'inline'
    static inline __always_inline void afio_exti_select(exti_num exti, exti_cfg port) {
    ^~~~~~~~~~~~~~~
    /Users/dclobato/.platformio/packages/framework-arduinoststm32/STM32F1/system/libmaple/include/libmaple/nvic.h:112:15: error: duplicate 'inline'
    static inline __always_inline void nvic_globalirq_enable() {
    ^~~~~~~~~~~~~~~
    /Users/dclobato/.platformio/packages/framework-arduinoststm32/STM32F1/system/libmaple/include/libmaple/nvic.h:119:15: error: duplicate 'inline'
    static inline __always_inline void nvic_globalirq_disable() {
    ^~~~~~~~~~~~~~~
    /Users/dclobato/.platformio/packages/framework-arduinoststm32/STM32F1/cores/maple/ext_interrupts.h:109:15: error: duplicate 'inline'
    static inline __always_inline void interrupts() {
    ^~~~~~~~~~~~~~~
    /Users/dclobato/.platformio/packages/framework-arduinoststm32/STM32F1/cores/maple/ext_interrupts.h:123:15: error: duplicate 'inline'
    static inline __always_inline void noInterrupts() {
    ^~~~~~~~~~~~~~~
    compilation terminated due to -fmax-errors=5.
    *** [.pioenvs/JGAURORA_A5S_A1/src/src/HAL/HAL_STM32F1/HAL_Servo_STM32F1.cpp.o] Error 1
    compilation terminated due to -fmax-errors=5.
    *** [.pioenvs/JGAURORA_A5S_A1/src/src/HAL/HAL_STM32F1/HAL.cpp.o] Error 1
    *** [.pioenvs/JGAURORA_A5S_A1/src/src/HAL/HAL_STM32F1/HAL_sdio_STM32F1.cpp.o] Error 1
    compilation terminated due to -fmax-errors=5.
    *** [.pioenvs/JGAURORA_A5S_A1/src/src/HAL/HAL_STM32F1/HAL_spi_STM32F1.cpp.o] Error 1
    ============================== [ERROR] Took 8.77 seconds ==============================
    
    ====================================== [SUMMARY] ======================================
    Environment megaatmega2560              [SKIP]
    Environment megaatmega1280              [SKIP]
    Environment at90usb1286_cdc             [SKIP]
    Environment at90usb1286_dfu             [SKIP]
    Environment DUE                         [SKIP]
    Environment DUE_USB                     [SKIP]
    Environment DUE_debug                   [SKIP]
    Environment LPC1768                     [SKIP]
    Environment LPC1769                     [SKIP]
    Environment melzi                       [SKIP]
    Environment melzi_optiboot              [SKIP]
    Environment rambo                       [SKIP]
    Environment sanguino_atmega644p         [SKIP]
    Environment sanguino_atmega1284p        [SKIP]
    Environment STM32F1                     [SKIP]
    Environment STM32F4                     [SKIP]
    Environment ARMED                       [SKIP]
    Environment mks_robin                   [SKIP]
    Environment JGAURORA_A5S_A1             [ERROR]
    Environment teensy35                    [SKIP]
    Environment malyanm200                  [SKIP]
    Environment esp32                       [SKIP]
    Environment fysetc_f6_13                [SKIP]
    Environment linux_native                [SKIP]
    ============================== [ERROR] Took 8.78 seconds ==============================
    The terminal process terminated with exit code: 1
    

  • Samuel PinchesSamuel Pinches Posts: 2,997Administrator
    Unfortunately compiling on a Mac doesn’t work correctly at the moment. On Mac it uses a different compiler (clang/llvm) and this results in different errors compared to windows.
  • RobertRobert Posts: 33🌟 Super Member 🌟
    Samuel,

    I just download the beta 5 firmware and installed on a brand new A5S we received at work,  I've noticed the bed temp for ABS doesn't go above 100 even after  I set in the slicer for 110, the bed only goes to 100 for print.  I know the bed can do 110 easily  and even 115-120 is doable just take longer to heat up.  I have 3 A5S at home and I do 110 for the bed temp all the time. 

    Anyway to fix this on the next beta?

    Also, ABS pre-heat default setting for bed temp is 105, but if I want to change it, it will only allow 100 as max value.

    The bed leveling is really great, 25 point level is awesome.    The menu  layout is a more like traditional Marlin firmware,  it does take some time to get used to from the stock firmware layout. 

    The touch screen button is not very accurate compared to stock firmware, may be because the touch screen is not a very good one. 

    Robert


  • Samuel PinchesSamuel Pinches Posts: 2,997Administrator
    Hi Robert, on my printer the hottest I could get it to go with stock firmware was about 108C. If the printer is used in a cold environment then even 108C may not be possible... I’m definitely surprised to hear you’re able to exceed 110C with your A5S! If you get a chance, would you be able to tell me what model your power supply is in your printer?

    I’ll check the configuration and see what I had used for Max temp on the bed... from memory I used 110C... I’ll make a new build for you to test later today.
  • RobertRobert Posts: 33🌟 Super Member 🌟
    Hi Samuel,

    I don't know what power supply in my A5S, but I will let you know as soon as I can open one up.  I have a replacement heatbed coming from Hong Kong soon I will find out then.

    I have total of  4 of these printers, 1 A5 (I already sold) 3 A5S plus the one I received today for work, all of them in stock firmware can go 110C no problem.  I've tested  to 115C even 120C with no issue, higher temp does take longer to heat up, I covered all my printer up so it trap the heat inside as I print 99% ABS. 


  • Samuel PinchesSamuel Pinches Posts: 2,997Administrator
    Ah, if you're using it in an enclosure that makes sense. The max temp is only limited by the heat transfer, so if you're insulating the bed in a chamber, then a higher temperature should definitely be possible. Most A5/A5S can't reach above 110C in ambient air (20C) in any reasonable amount of time.
  • RobertRobert Posts: 33🌟 Super Member 🌟
    I don't know about that, the printer as able to do 110 right out the box before I even add the enclosure. 
    Before I purchase the very first one I asked JGAURORA tech support if the bed can do 110-120C and they told me yes, that why I purchased. 
  • RobertRobert Posts: 33🌟 Super Member 🌟
    As you can see in the photo stock firmware is at 110C and the enclosure I use to trap the heat.

    Thanked by 1Samuel Pinches
  • Samuel PinchesSamuel Pinches Posts: 2,997Administrator
    edited April 2019
    Maybe my ones had dud power supplies... how long are we talking for preheating? Thanks for the photos.
    Post edited by Samuel Pinches on
  • RobertRobert Posts: 33🌟 Super Member 🌟
    about 10-15mins to 110C depend on the printer, I have one does it in 10  and 2 other take about 15 mins. 
  • RobertRobert Posts: 33🌟 Super Member 🌟
    Samuel,

    Any update on the bed temp fix?
  • Samuel PinchesSamuel Pinches Posts: 2,997Administrator
    Sorry for the delay Robert - can you please try this firmware (A5S):

  • RobertRobert Posts: 33🌟 Super Member 🌟
    Yes, this one works, the default ABS pre-heat  for bed is 105c, I was able to change to 110c.  After saved the setting I can now preheat ABS at 110c for heatbed. 

    Thank you.
  • RobertRobert Posts: 33🌟 Super Member 🌟
    I did not follow the development of this firmware from the beginning,  what improvement does this firmware has compares to the stock firmware other then the 25 point bed leveling?
Sign In or Register to comment.