LDO Voron 2.4 / Canbus

Hi,
I’m building a Voron that came with a BTT Octopus. I will make it Canbus + umbilical.
There’s something that’s unclear to me… I read somewhere (Reddit ?) that Klipper doesn’t support Canbus if the Pi and the MCU are communicating over UART (USB only)… I see no reason for such a limitation. Been using UART for years, Octoprint and now Klipper, and I’d like not to use USB for this build : I’d have to add a USB hub…

Is this true ?

BTW : can we flash using the ST-Link + ST-Link Utility instead of Cube, using the SWDIO port ? More familiar with this than with Cube. (I don’t like Cube)

As far as I understand it, there is no code for passing CAN packets to another controller (usually a toolhead controller) using anything other than USB.

I’m not sure about your reluctance for using USB; the Raspberry Pi (which you seem to be using) has a built in hub - you just run a standard USB A to USB C cable from the rPi to your Octopus. It’s a lot easier than wiring up a serial cable.

If you’re flashing an Octopus, I would recommend that you go with DFU (through the USB port) rather than wire up an ST-Link or J-Link programmer and go with JTAG or SWDIO.

Again, I’m not sure the reason for your reluctance for having a USB connection between your Raspberry Pi and Octopus boards. As well as providing simpler and easier wiring, having a USB connection also provides a Flash programming too literally for free.

@YaaJ the STM32 UART can not communicate at CAN bus speed (1 Mb) and as I understand the USB & CAN bus ports can be enabled at the same time but the UART and CAN bus cannot.

Thanks for the answer. Now I understand.
Meanwhile, I found some mini hubs that are splitters ( 1 port → 2 ports)

reasons for prefering UART :

  • wiring is cleaner (IMHO)
  • USB adds hardware and software layers
  • I use USB for other purposes, and the Pi is limited to 4 ports : consider this : a touch screen that can be powered over USB touch interface, a dongle for a mini keyboard (for the terminal because virtual keyboerd is unpractical), a camera, anda free port for a ADXL probe based on a Pi Pico = four ports. Meaning that a hub will be required for Canbus. This is just my current configuration for my two printers.

Can I ask why do you want to get a hub? The hub built into the Raspberry Pi has four USB ports.

Normally it isn’t necessary to place a hub between a Raspberry Pi and a controller, like the Octopus.

@NAPCAL the STM32 UART should run comfortably at 3MBps in normal operation and up to 9MBps when using DMA for the transfers. While it seems that 1MBps wouldn’t have any issues but it’s really dependent on the other things going on in the MCU and how they’re coded - so, in other words, YMMV.

Cross posting !
Was editing my answer…

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