MKS SKIPR CAN Bus

In the following addendum I would like to show that CAN0 apparently does not exist.

systemctl status networking.service

You need to check the CAN_L & CAN_H on the SkiPR disconnected from the CAN bus to see if 120 ohms is present. If 120 ohms, then there is a termination resistor present. If there is a higher reading or OL, then you need to add a 120-ohm resistor across CAN_L to CAN_H close to the CAN bus connector on the SkiPR.

If the bus is not up and running on your RPi is a reason no UUIDs can be found.

Thx, there are 118Ohms. should be ok.

Sure, but I did no knew how to set up.
Did you have a plan to do this?

That would mean there is no 120-ohm termination resistor on the SkiPR. This is your problem and you need to add one on the board or to the connection wire.

I measured with the same procedure on EBB36 which is terminated 120Ohms.
The termination for the SKIPR ist not documented. Where can I find somethin abaout the termination?

I have extensive knowledge on Bigtreetech boards but none of the other manufacturers.

I have good knowledge of CAN bus setups using Bigtreetech boards.

1 Like

So now I’ve probably killed it completely.
I followed the following instructions

according to the procedure “Micro-controller Architecture (Linux process)”
make flash I can no longer access the MCU.

In the SKIPR scheme, the host addresses the MCU via UART0 and UART1. But I can’t think of a solution to this.

Are these instructions available somewhere other than Scribd?

I wanted to go through them but I don’t want to become a member.

unfortunately not. I found this after searching for the solution to the CAN0 problem and activating it.

MKS Skipr works with integrated CANbus only in one case now - MCU flashed firmware with USB to CAN bridge option and board connected usb itself from PI side to MCU side.

Problem is firmware compiler not have an option UART to CAN bridge. Originally PI side connects to MCU side of the board with UART and in this case you are unable to use internal canbus of MCU, firmware not have a translator. I make a post here about new feature request, but it ignored. I think need a pull request on github for support our board and new mode to compiler (uart to can bridge). I try manually edit config before compiling firmware to MCU but without succes, compilation stops with error about uart. i am not so expirienced with coding.

Now my system works in usb to can mode. Board connect itself from pi side to mcu side with usb cable, canbus connect directly from micromolex port of the board to mks thr42 toolhead with firmware compiled to toolhead and mcu from original klipper repository.

1 Like

Many thanks for your response. So does this mean that I have eliminated the UART0 for the flash process and the “Make Menuconfig” does not support the UART0?!

And who ignored your post?

So my current opinion about MKS has changed to the negative. And the support of all China products is so bad.
If you look at the Duet products, the developers are there to help and advise. Hardly anyone ever answers in the Git Issues.

I think problem not on Makerbase side, guys just make something new - Raspberry communicate with MCU with uart0, it not a standard solution. Btt or mellow communicate via onboard usb.

I think need just a support of UART0 - to CAN2 bridge on Klipper (software/firmware) side.

Now you need compile mcu firmware with communication option “USB to CAN bridge”, flash it to mcu via micro-sd card, connect one of 3 usb ports from raspberry side to usb type-c on MCU side.

Next compile firmware to you toolhead and flash it with PC and usb cable (its a simple drag and drop file to virtual u-disc) See manual for your toolhead.

Then standard Can connection procedure from klipper manual - you need scan Can0 interface, python script finally find CAN0 and find 2 ID, one is MCU, second - your toolhead.

Klipper config looks something like:
mcu node: 6383939737
Mcu mks_thr node: 5503726578

And you system see 2 mcu, one for skipr, one for toolhead.

Sorry, i not home now to copy header of config.

My opinion - need ask klipper team, to add support our board and new option for mcu firmware compiler: comminication method (uart0 to can2 bridge)

My friend make rat rig printer with skipr board too, he make something different - toolhead connect only power (24v) and usb directly to PI side.

Raspberry communicate with toolhead via usb, and via uart0 with main mcu. He compile firmware for toolhead with usb connection option.

My post here ignored by admins, i already ask about uart to can bridge new mode few months ago.

I think need make git pull request on github.

I´m going to try out to connect MCU und read ahead this channel.
what is telling @koconnor to this trouble

greetz Sebastian

This will never happen due to hardware limitations.

Why not?

Mcu simultaneously communicate usb, uart, i2c, canbus (rs485) and more supported busses. Usb - to canbus + uart for motor drivers or i2c + gyro and pt100 sensors boards communicates. Canbus almost the same like uart, but multipoint.

It looks just need translator between uart and canbus on software level. Hardware (mcu) accept all connections simultaneously on hardware and software layers.

My old Ramps 1.4 board with arduino mega have the same - 3 uart + usb + i2c (5 devices) simultaneously. Newer hardware much powerfully like 8bit mega.

@furry-cheetah Well, you can join the development team and provide the code to support your desires. Keep in mind they develop free of charge. Kevin has stated in past responses that it wasn’t possible for the CAN bus code to use any other port than the USB & CAN.

UART at a basic, uses 10 bits. The CAN bus for a single frame of data takes up more bits so to run the CAN bus at 1Mbits, the UART would have to run much more faster (2-4 times) so as not to lag behind.

That is just my take.

Based on the problem that the MCU no longer reads the updates from the SD card on its own and no longer recognizes the UART1, but can read and write firmware via STM32Cube. I’m asking here if someone can provide me with a full readout from their MCU?

many thanks Sebastian