Home JGAurora A5 & A3S Modifications & Upgrades

LCD Firmware Explanation

I am trying to get some help understanding the LCD firmware config file. I have been slowly adding my own extra features to my A5 and would like to add some custom menu commands to the LCD. How does it work? I'm confused with adding the icons and extra commands.


  • Samuel PinchesSamuel Pinches Posts: 2,985Administrator
    Firstly some basics:

    1. As far as I know, you must flash the entire LCD firmware each time, in order to update the LCD firmware configuration.

    2. After each flash, the LCD firmware will rename all the files, so keep a copy of the files on your computer before you flash things.

    3. A custom button is very simple, it is just a gcode command that is executed and sent from the LCD to the main motherboard,

    Onto the files...
    The following link is the OEM firmware files for the A5. There are three versions in there, and the last two have LCD firmware versions as well.
    Each firmware has 3 files:
    - An mks_pic folder, which contains all the graphics for the firmware, stored in .bin files.
    - An MKS_config.txt file, which is the main configuration file.
    - An mkstft28.bin, which is the core firmware file.

    The Dec 18th firmware has the LCD firmware configuration in english, while the january one has the LCD configuration in chinese.

    In the configuration file there are several main sections:
    - Printer type setting
    - Advanced Function Option
    - Filament Change Function
    - Leveling Function
    - WIFI Function
    - Function Customization
    - Display Customization

    The last two sections are relevant for making custom buttons.

    There are three main places where custom buttons can be added to:
    - the Main "More" section, accessible from the main home screen
    (moreitem_buttonX_cmd etc...)
    - the Printing "More" section, accessible during active printing
    (morefuncX_cmd etc...)

  • Samuel PinchesSamuel Pinches Posts: 2,985Administrator
    In the current A5 LCD custom firmware we can explain what we are doing:

    Main more buttons
    # Start Mesh Bed Levelling
    >moreitem_button1_cmd:G29 S1;

    # Next Point Mesh Bed Levelling
    >moreitem_button2_cmd:G29 S2;

    # Mesh Up (switch to relative coordinates, move up, switch to absolute coordinates)
    >moreitem_button3_cmd:G91; G1 Z0.025; G90;

    # Mesh Down (switch to relative coordinates, move down, switch to absolute coordinates)
    >moreitem_button4_cmd:G91; G1 Z-0.025; G90;

    # Save EEPROM

    # Disable Stepper Motors

    # Factory default EEPROM (load defaults, save eeprom)
    >moreitem_button7_cmd: M502; M500;

    Printing More Buttons
    #babystep up
    >morefunc1_cmd:M290 Z-0.025;

    #babystep down
    >morefunc2_cmd:M290 Z0.025;

    #save EEPROM

  • Samuel PinchesSamuel Pinches Posts: 2,985Administrator
    Plenty more detail on other GCode commands and their functions is available on the Marlin website:

  • Samuel PinchesSamuel Pinches Posts: 2,985Administrator
    Also there is an MKS TFT28 PDF manual that has additional info: https://www.dropbox.com/s/kk6khodb06u92k2/MKS%20TFT28%2032%20V3.0%20datasheet.pdf?dl=0
Sign In or Register to comment.