Where can I tap the main serial port on this KP3S v1.3 board to add CH9121 ethernet to serial bridge?

Basic Information:

Printer Model: Kingroon KP3S
MCU / Printerboard:KP3 V.13
Host / SBC standard pc
klippy.log not applicable

Describe your issue:

Hello,

I wish to attach a CH9121 serial to ethernet bridge to the serial port of my KP3S

Here is the main board

Here is what a WCH CH9121 looks like

It is a dual serial port, 921kbps per port, serial to ethernet bridge that is said to be compatible with standard virtual serial driver on windows and linux ( so works with com2tcp on windows and socat on linux )

My question is

What is the best point to solder the TX and RX of this board serial port for klipper communcation ?

I can see the chip the CH340G

I can read the serial signal going back and forth

But these pins are very hard to solder to

Also, do I need to wire only TX and RX pins or do I also need to wire the flow control pins ? like DCD/DTR/DSR/RTS/CTS/RI ?

Can I ask how does this relate to Klipper?

The printer runs klipper

USB sucks

I want an ethernet connection, something more reliable

I don’t want to plug all my printer into some USB hub

Where the device name shifts on reboots

USB doesn’t suck - I guess you’re using a PC (running Linux as your host? You haven’t provided sufficient information to know or what flavour of Linux) which is challenging to get working reliably with USB.

I haven’t heard of anybody successfully using an Ethernet connection between the host (your PC) and a main controller board although a few have tried but I can’t find any indication of success:

Regardless, I just spent the better part of an hour trying to find the schematics and pinout diagram for the the board you’ve illustrated above (your marked up image seems to come from a Reddit post). With no luck.

I was also searching for a serial wiring diagram between the main controller board and something like a Raspberry Pi. Again, with no luck.

There seems to be some confusion as to whether or not Kingroon uses the board in the image or an MKS Robin Nano (or “Mini”) or if the schematics used for the Kingroon board are the same as one of the Robin variants.

Going back to the question at hand regarding getting Klipper running on your printer without problems, here are your options:

  1. Use a Raspberry Pi or some other Single Board Computer (like from BTT or Orange Pi) and using that as your host. I can guarantee you that the USB interface will be fast and easy to set up as well as being reliable (regardless of the host board or the main controller board used).
  2. Rather than Ethernet, try to connect your main controller board to your PC using a serial line. Again, I don’t know what your PC is so I can’t comment on options. You will need to find schematics and a pinout diagram. This will take some time to get working and my not never work completely satisfactorly.
  3. Continue with the Ethernet connection. You will need to find schematics and a pinout diagram. I would say that this has the lowest probability of getting Klipper running without problems.

So, it comes down to whether you want a working printer or you want to do a science project with a poor chance of success.

1 Like

I’m not an expert, but…
I think you’ll have to configure the board’s firmware for the pins. So far I’ve only seen configurations for 2 pins, CAN, Serial and USB to Serial in “make menuconfig”. Here you’ll see the pins that are currently available for serial communication. So you would connect TX, RX and GND. I’m worried about whether the voltage is compatible with the pin. Maybe I should use a converter, because I think it’s 3V.

So after trying to run the Klipper on my PC, which is giving a _curses error, and it took me a while to connect a printer, I started looking for a solution… I took this image.

And after rereading our friend’s answer, I think it’s better to leave these pins for stepper communication.
The idea is excellent! With other pins, I think

Long and prosperous life :wink: S2

Thanks that sounds great, I have no driver in the 5th stepper driver slot that would be perfect, I could make a simple passthrough pcb to hook the serial to ethernet bridge there !

Do you have a proper schematic for the board, that shows which UART ports might be broken out to various interfaces?

If you want to use the current USB serial port, then you would need to desolder the CH340G, so that it’s no longer driving the signals back to the MCU.
That would then give you some nice solder pads to wire to for the CH9121.
You might find that the ethernet adapter uses more current than the board has allowance for however, and it might not reliable.

I also wouldn’t really recommend it, since those ethernet to serial conversions can be a bit weird with serial signal timing. Which might throw off the Klipper transmissions.

But if you think it’ll be better… you do you… just remember when you come to complain that it’s not working well, we’ll just tell you to go back to plain serial / USB again…

If the board is comparable to mks_robin_nano, you can use USART2 at PA2 and PA3
pa3 → enable pin stepper5
pa2 → power detector

without soldering on the board,
but the best option is to put a raspberry or orange or even a tvbox, I use tvbox to run octoprint. :wink:

OK, sounds great !

Does klipper allow host communication on more than one port at a time ?
Could I make it mirror the port or do I have to disable the usb port (which will be useful during debug)

Thanks

I don’t know for sure, in the standard I believe that only one communication as in the image I sent, choose one of the standard options, I will reinforce that it will be more advantageous to install a “computer” only for the printer.
but following your idea I had a lot of work to get something similar to work, in my case wifi to serial, even with a “commercial” solution in the case of an mks wifi without many benefits.

put a computer underneath it, or inside it.

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.