What speed is minumum for can bus setup

In preparation for my Voron 2.4 build, I am testing the can-bus setup.
I have made a test setup in order to flash the BIGTREETECH EBB36 v1.2. On the pi I have the waveshare CAN HAT.
At first, I set the can bus speed to 500k, in the way the more the better. This resulted in timeout and failure to flash klipper on the device.
Reducing the speed to 250k the flashing of klipper was successful, still seeing retries during flash verification.

My basic question is how far down the speed I can go and be sure that it is fast enough to do the job as intended.
Any experiences?

You shouldn’t be having any problems - I’m running with both a CanHat and directly from an Octopus at 500kbps without any issues.

The most likely culprit is your wiring. How did you wire the connection from the CanHat to the EBB36? Can you share some pictures?

Those dupont jumpers are usually very small gauge wire and are definitely not sufficient for powering a board. Even for testing you might see significant voltage drop. You also should use twisted pair for the data, and make sure both ends have 120ohm resistors.

What alternative do I have on the board, this is the only powering option

On the EBB there is a jumper for the 120ohm and on the hat, there is a 120ohm resistor fix too.
The data cable I twisted with no different result.

The strange thing is that the firmware upload works perfect. the download for verification fails.

I set the speed to 1 000 000 and neither up nor download works

Is there an instruction on how to connect the can bus directly to BTT Octopus?
I searched but did not find any information

Why don’t you start with this from the Klipper documentation:

https://www.klipper3d.org/CANBUS.html

You can also follow the links mentioned in this conversation:

Something I forgot to ask in my first reply - did you set the jumpers for the 120Ohm CAN bus terminating resistors?

Yes, the 120Ohm is set.

I found this very good article containing a document describing the process in detail step-by-step:
How to Use CAN Toolhead Boards Connected Directly to Octopus / Octopus Pro on CanBoot

I expect my package with the octopus to get in soon so I will test this.

Regarding can bus hat I got the following statement on the CanBoot GitHub as a result of my opened issue:

As @jakep_82 indicated, the wiring you’ve selected for power won’t be sufficient for the EBB36 - you should be looking at 18 or 20 AWG (stranded). Along with that, the data wires really aren’t appropriate - you should be looking at using either prepackaged twisted pair or something like this (which is what I plug into my Octopi):

https://www.digikey.com/en/products/detail/assmann-wsw-components/AT-S-26-6-6-W-7/1972709

As I have mentioned elsewhere, I did a back of the envelope calculation of the characteristic impedance of adjacent wires in this cable and it came out to 112 Ohms. Note that you should only use the middle two lines for data - for power, again look at separate 18 or 20 gauge AWG stranded wires.

Along with this, you might want to try a U2C board, like BTT’s:

https://www.aliexpress.com/item/1005004242828520.html

rather than the CanHat. They’re very reliable (I’ve never seen any reports of dropped frames) and easy to set up.

First though, you need to address your wiring.

Isn’t the USB to CAN bus bridge mode (e.g. BTT Octopus 1.1) the better solution?
I’ve seen statements that this puts a burden on the raspberry pi, though looking at the Klipper documentation that should not be the case:

Personally, I think it’s the optimal solution as it is the simplest approach from the system (and wiring) perspective and I haven’t had any issues to suggest otherwise. However, other people don’t agree with me and have had problems in their printers.

Having said that, it is somewhat tricky to get the CAN Adapter working in the Octopus with Klipper for the first time and I used the CanHat and U2C solutions before going on to implementing it on my Octopus boards.

I would recommend that if you are starting out with the CanHat solution, keep with it and get your wiring fixed up (which should basically eliminate all dropped frames) and then migrate to running the CAN bus from your Octopus (and then deciding whether or not to run CanBoot).

Is not CanBoot flashed Octopus a prerequisite to have can bus bridge?

Nope.

https://www.klipper3d.org/CANBUS.html#usb-to-can-bus-bridge-mode

As I said above, work at getting CAN working reliably first with more appropriate wiring your CanHat and then move onto the Octopus.

We had something of a spirited conversation on the topic that you can read through here:

You can setup Klipper on the Octopus to act as a CAN Bridge using a Klipper build like:

image

CanBoot is installed before it and acts as a CAN bus bootloader with the purpose of providing a way of updating the firmware from the comfort of an SSH terminal but it isn’t necessary to run the CAN interface from the Octopus.

However, I again highly recommend getting the wiring and a CanHat or U2C board interface working first.

I totally see the point. You are right.
I ordered a Formbot Voron 2.4 and intended from the start to implement can bus and tap.
I think I will revert the idea and start with a plain basic functioning version (drag chain + magnetic sensor) and step up with mod-by-mod.

Just an additional question: what is the best solution for the umbilical? Using a PTFE tube and feed in wires or by a special drag chain cable?

That’s the way I did my 2.4. I started with the base configuration but changed to the Stealthburner when I was finalizing the gantry and didn’t like the way the Afterburner went together. I initially used the the Hartk board with the Stealthburner. Next, I went to the EBB SB2040 toolhead (with the CanHat on the rPi) board while simultaneously working with the FLY SHT42 (using a USB2CAN board) on a CoreXY I designed myself. I’m still running with the CanHat on the 2.4 and moved CAN to the Octopus on my CoreXY with CanBoot.

I tried implementing a Klicky on the 2.4 but was never happy with it - I’m quite happy using the Omron inductive sensor (I just finished adding it to my CoreXY after ditching a BL Touch on it). Maybe one day I’ll try the Klicky PCB, but the Voron is running very well and I don’t see any reason to tear it apart yet again as well as figuring out the best way to connect the RJ-11 connector to the SB2040 wiring harness.

I used the drag chains for the 13 or so wires of the Hartk board without any problems for 100+ hours of printing and am now running two 20 AWG power lines and the cable with the RJ-11 connector I linked above on both printers with drag chains and I’ve probably logged 1,000+ hours on the two of them without any issues. If you got the drag chains with the your 2.4 kit, I don’t see any reason to replace them.

Good luck with putting the 2.4 together!

Did you use this Hartk board:

Not quite. I got the Mellow one here from AliExpress:

https://www.aliexpress.com/item/1005004379749085.html

I don’t have a chamber thermistor (should put one in some day) and I used the X/Y switch block so that connector was also left empty.

Last week I had a very similar problem but my hardware is a U2C adapter and an EBB42, drove myself nuts when the final flash of klipper didn’t work with a timeout. I got on Discord and was told that the firmware that came flashed on my U2C had a bug and I still needed to flash an updated Candle_FW to it and retry. It worked after that. So I don’t know if you already flashed Candle to your CAN hat or stuck with whatever came on it, but I’d give that a try.

My board is waveshare rs485 can bus hat. I did not find any info what „candle“ is and how to flash FW on that board. Can you please point into the right direction.