I have double checked with the schematic for the board that the pin-out is correct. The display is plugged in with a short ribbon cable that appears to work fine with Marlin. In Klipper the display back-light lights up and the display shows the first and third rows as just boxes with the second and fourth row just blank.
How can I diagnose what needs to be changed to get Klipper to init the display successfully? This is using the current stock v4.1b control board for the Geeetech A10x (and A20x) machines.
Hi. This is problem with serial port. Not with LCD or motherboeard pins. Check it and reinitialised. Pins in the motherboard v.3.x and 4.0 are the same. This can be seen in the Marlin config file. I did not check on version 4.1. I installed Klipper in a docker container on Synology for my Geeetech A10T. At the beginning of working with the printer, I make /dev/ttyUSB0 in the Docker container shell using the “tee /dev/ttyUSB0” command. I’ll find the real reason later.
I hope this information helps you solve the problem
I don’t think that the serial connection to the board has any bearing on the problem. The printer itself is working fine it is just that the LCD does not init when using a 4.1b board. Either the LCD unit is different or the pins are used differently. If you don’t have a 4.1b board how can you say?
Compare the following pins: LCM_RS, LCM_EN, LCM_D4, LCM_D5, LCM_D6, LCM_D7
The same.
Klipper is not standard firmware. When you turn on the printer it doesn’t know what to do until Klipper tells it to. If you see 2 black lines on the screen, then this is just such a case.
OK then for a 4.1b board, what IS the correct config for the display? This is what I have in my config (yes, commented out now). BTW, right now I have an A20 display working fine on the 4.1b but I’d rather use the stock display.
#[display]
## pins set based on the schmatic but it shows nothing
#hd44780_protocol_init: True
#line_length: 20
#lcd_type: hd44780
#rs_pin: PD1
#e_pin: PH0
#d4_pin: PH1
#d5_pin: PD0
#d6_pin: PE3
#d7_pin: PC1
#encoder_pins: ^PL7, ^PG1
#click_pin: ^!PD2
Yup, I bought an ST7920 based A20 display and I’m using that with pretty much the same config.
The A10x machines come with the hd44780 based display and I could not get it working even though the display type seems to be supported and the config I have for it is based on the A10M schematic.
with mapping from Arduino pin#(e.g. 1) to AVR port (e.g. E1):
And according to source code it is based on AiP31068:
and uses following library to communicate:
I have all the HW and even logic analyzer connected to the pins. Trying to debug it. Maybe somebody can help me with python part. how to init it and send commands manually.
For now using this config but it sends 8-bits commands instead of required 9-bits:
I don’t have a solution but will be interested in what you find.
I ended up putting on an A20 display with a quiet 4.1b board as that plugs into the board with the same cable and it works with Klipper. Well that is until the day that I powered on the machine and it went BANG and took out the voltage regulator and a stepper driver. Not having the capability to repair SMT boards I replaced it with an after-market board and better display
Hey dude. Could you share your full A20M config? Just got one of these and the generic GT2560 config I’m getting an ADC out of range error on the extruder temp sensor. I tried changing the type, no dice. Do i need a ! or ^ on the sensor pin?
hey, thanks this worked perfectly for the ADC issues. I did have to comment out the klipper/macro/XXX.cfg includes… did quite a bit of googling and could seem to track down what you could have been referencing there. your github profile also didn’t have any other repos… so kinda at a loss there. not a blocker, would just like to see these scripts for reference.