MKS GEN_L is a powerful 3D printer control board with ATMEGA2560 and compatible with RAMPS. V2.1 version the motherboard integrates SPI / UART interface and works with MKS TMC2130/TMC2208 V2.0/TMC2209. It can be used after plugged in. No soldering or flying lead is required ...
I have reported an issue (#17436) on github MarlinFirmware concerning an issue that turned out to be hardware limited. To resolve this issue, I needed to modify the PCB board before I could enable a the secondary serial port in Marlin 2.0 firmware.
Because on MKS_GEN_L_V2, AUX-1 is wired to same processor pins as the USB port, a secondary port is not available from AUX-1. Alternatively, I chose to use Arduino Mega Serial1 (UART1) as secondary port. Processor's UART1 is wired to limit switch signal wires of Z-MIN and Z-MAX connectors. Unfortunately, this did not work at first until I discovered I needed to de-solder pull-up resistors and capacitors for both Z-MIN and Z-MAX.
I removed the surface mounted decoupling capacitors C2 and C3. They are very small size ( 0603 SMD ). After removing R3, R5, C2 and C3, I was able to enable secondary serial port SERIAL_PORT_2.
There are still two 1K ohm resistors ( R4 and R6 ) between the Signal pins ( Z-, Z+ ) and their associated processor pins. From my limited testing, this does not appear to affect serial communications at 250,000 baud rate. Ideally, these resistors could be replaced with 0 ohm surface mounted ( 0603 SMD ) resistors, but it is much easier to just leave them as-is.
This also required remapping limit switch Z-MIN function to otherwise unused Y-MAX, with an additional #define line, in the Configuration.h file. This remapping simply overrides the pins definition in the pins_RAMPS.h file without having to modify the pins file.
Since the ATmega2560 processor has software enabled pull-up resistors, can you explain why the board has additional pull-up resistors?
I have reported an issue (#17436) on github MarlinFirmware concerning an issue that turned out to be hardware limited. To resolve this issue, I needed to modify the PCB board before I could enable a the secondary serial port in Marlin 2.0 firmware.
Because on MKS_GEN_L_V2, AUX-1 is wired to same processor pins as the USB port, a secondary port is not available from AUX-1. Alternatively, I chose to use Arduino Mega Serial1 (UART1) as secondary port. Processor's UART1 is wired to limit switch signal wires of Z-MIN and Z-MAX connectors. Unfortunately, this did not work at first until I discovered I needed to de-solder pull-up resistors and capacitors for both Z-MIN and Z-MAX.
I removed the surface mounted decoupling capacitors C2 and C3. They are very small size ( 0603 SMD ). After removing R3, R5, C2 and C3, I was able to enable secondary serial port SERIAL_PORT_2.
There are still two 1K ohm resistors ( R4 and R6 ) between the Signal pins ( Z-, Z+ ) and their associated processor pins. From my limited testing, this does not appear to affect serial communications at 250,000 baud rate. Ideally, these resistors could be replaced with 0 ohm surface mounted ( 0603 SMD ) resistors, but it is much easier to just leave them as-is.
This also required remapping limit switch Z-MIN function to otherwise unused Y-MAX, with an additional #define line, in the Configuration.h file. This remapping simply overrides the pins definition in the pins_RAMPS.h file without having to modify the pins file.
Since the ATmega2560 processor has software enabled pull-up resistors, can you explain why the board has additional pull-up resistors?