Anet Full Graphics LCD not working

Basic Information:

Printer Model: Custom CoreXY
MCU / Printerboard: SKR 1.4
klippy.log

Describe your issue:

I’m trying to migrate from marlin to klipper, using octoprint. I have flashed klipper.bin with success (since I see temperature and status returns all normal) but I cannot get the LCD to work. The LCD I used is from an ANET A8 plus and was modified to work with marlin and SKR1.4 using the ANET_FULL_GRAPHICS_LCD in configuration. I’m trying verious combinations to replicate the marlin’s pins to no avail… Has anyone any working config? below is the pins_BTT_SKR_V1_4.h section that contains the pin definition for the display.

#elif ENABLED(ANET_FULL_GRAPHICS_LCD)
  #define NO_CONTROLLER_CUSTOM_WIRING_WARNING
    #ifndef NO_CONTROLLER_CUSTOM_WIRING_WARNING
      #error "CAUTION! ANET_FULL_GRAPHICS_LCD requires wiring modifications. See 'pins_BTT_SKR_V1_4.h' for details. (Define NO_CONTROLLER_CUSTOM_WIRING_WARNING to suppress this warning.)"
    #endif

   /**
    * 1. Cut the tab off the LCD connector so it can be plugged into the "EXP1" connector the other way.
    * 2. Swap the LCD's +5V (Pin2) and GND (Pin1) wires. (This is the critical part!)
    * 3. Rewire the CLK Signal (LCD Pin9) to LCD Pin7. (LCD Pin9 remains open because it is open drain.)
    * 4. A wire is needed to connect the Reset switch at J3 (LCD Pin7) to EXP2 (Pin3) on the board.
    *
    * !!! If you are unsure, ask for help! Your motherboard may be damaged in some circumstances !!!
    *
    * The ANET_FULL_GRAPHICS_LCD connector plug:
    *
    *            BEFORE                     AFTER
    *            ------                     ------
    *  (BEEPER) | 1  2 | (CLK)    (BEEPER) |10  9 | --
    * (BTN_ENC) | 3  4 | --      (BTN_ENC) | 8  7 | (CLK)
    * (BTN_EN1)   5  6 | (SID)   (BTN_EN1)   6  5 | (SID)
    * (BTN_EN2) | 7  8 | (CS)    (BTN_EN2) | 4  3 | (CS)
    *        5V | 9 10 | GND           GND | 2  1 | 5V
    *            ------                     ------
    *             LCD                        LCD
    */

    #define LCD_PINS_RS              EXP1_08_PIN

    #define BTN_EN1                  EXP1_05_PIN
    #define BTN_EN2                  EXP1_07_PIN
    #define BTN_ENC                  EXP1_03_PIN

    #define LCD_PINS_ENABLE          EXP1_06_PIN
    #define LCD_PINS_D4              EXP1_04_PIN

    #define BEEPER_PIN               EXP1_01_PIN

klippy.log (5.4 KB)

Without any warranty whatsoever:

[board_pins]
aliases:
    # EXP1 header
    EXP1_1=P1.30, EXP1_3=P1.18, EXP1_5=P1.20, EXP1_7=P1.22, EXP1_9=<GND>,
    EXP1_2=P0.28, EXP1_4=P1.19, EXP1_6=P1.21, EXP1_8=P1.23, EXP1_10=<5V>,
    # EXP2 header
    EXP2_1=P0.17, EXP2_3=P3.26, EXP2_5=P3.25, EXP2_7=P1.31, EXP2_9=<GND>,
    EXP2_2=P0.15, EXP2_4=P0.16, EXP2_6=P0.18, EXP2_8=<RST>, EXP2_10=<NC>
    # Pins EXP2_1, EXP2_6, EXP2_2 are also MISO, MOSI, SCK of bus "ssp0"
[display]
lcd_type: st7920
cs_pin: EXP1_8
sclk_pin: EXP1_4
sid_pin: EXP1_6
encoder_pins: ^EXP1_5, ^EXP1_7
click_pin: ^!EXP1_3
#kill_pin: ^!EXP2_8
1 Like

It works! You’re a genius!