Manta m5p CB1 with canbus problem?

home built corexy machine

manta mp5 with CB1 computing module.

trying to get a BIGTREETECH EBB SB2209 USB V1.0 to work with it.

this does not have the twisted pair to communicate via a traditional canbus, it only has the USB connection from its small bridge device that goes to the Manta m5P and thus the CB1

Lsusb shows the RP2040 and I have tried flashing klipper to the sb2209 via that and it seems to work.

I can even get a serial id from the rp2040 but can’t get it to connect in my config file

have tried multiple different communication ports when flashing klipper to the Manta as there are several different ones floating around in the instructions.

I suspect it is the communication port mismatch between the usb port on the manta m5p and the USB canbus bridge.

but I just can’t seem to get it up and running any suggestions?

thanks in advance.

Duke

klippy.zip (57.4 KB)

What is the process and settings you’re using for setting up your system?

Can I suggest that you use Esoterical’s guide:

Esoterical guide is the primary one I’ve been using.

I was reacting to your statement:

There should only be one.

This is why I asked you to provide the settings you’re using when setting up your system.

What are you putting into make menuconfig for the M5P?

Just to clarify you are using USB not CAN?

Yes, this device has a USB C port on a small board that has a single cable with 4 wires between it and the tool head board. So usb is the only way to connect to it.

I have tried the directions for this board from Esotericals instructions and also tried the settings from the BTT manual.

I will get the details on what make menuconfig options I was using when I get home tomorrow.

this is the guide from esotericals guide that I used without success, in looking a little closer, this is for almost the correct board, but still needs the 4 wire canbus connection to the manta, rather than the USB bridge.

the pictured board on esotericals guide shows a 120 ohm termination resistor jumper pin location that is not present on the USB connected board.

the other guide that I tried was from the BTT manual

[*] Enable extra low-level configuration options

Micro-controller Architecture (Raspberry Pi RP2040/RP235x) —>

Processor model (rp2040) —>

Bootloader offset (No bootloader) —>

Flash chip (GENERIC_03H with CLKDIV 4) —>

Communication Interface (USBSERIAL) —>

Am I understanding correctly that I probably should have been using the CANBUS bridge instructions from esotericals guide rather than flashing anything to the tool head board?

Please do not hijack somebody else’s thread.

Start a new thread as a “General Discussion” post and fill in all the requested information.

this is my thread, posted the information asked for…

i am trying the canbus bridge instructions from esotericals guide.

I get to the point where I can flash to the tool head, but when I use the

python3 ~/katapult/scripts/flashtool.py -i can0 -q

command to find the katapult node, it comes back with nothing.

Esotericals instructions are to establish a CAN connection.

Your toolhead hardware doesn’t speak CAN

Edit: NM, just realized what the SB2209 is, I run the EBB-36 can boards.

Pretty sure all the Manta boards have a canbus connector so you can just run it in bridge mode. The connector may vary depending on board version. That’s the preferred method IMO you just need to make up a cable which is pretty straight forward.

I did my DD Idex that way using an Octopus and it was pretty easy to get both canbus boards up and running. There are some variations in setup depending on OS though, not sure what the CB1 runs. For example Buster vs Bookworm on a Pi, Bookworm uses systemd. I think Esotericals guide was updated for a systemd OS. Main difference is in how network interfaces are configured and a canbus in bridge mode is set up as an interface on the Pi. If you go bridge mode then you need to flash the Manta to support using it.

I think I may have a solution for this, I have tried this on a Rpi 5 and skr mini e3v3 but am still reloading the os on the CB1 so I haven’t tried it there yet, don’t see why it won’t work though.

when you get the serial ID of the boards via a terminal session

it does not include /dev/serial/by-id/ in front of the ID of the USB can bus bridge.

when I finally put that in in the canbus.cfg file, it popped right up and looks like its going to work

for the USB canbus bridges, it appears that katapult is not required, just a standard install of klipper

as I said, I am still trying to redo the OS on the CB1 and will post if this works on it as well.

hope this helps someone else, and thank you all for being a sounding board and helping me work through this.

Duke

Went back and tried the same on the manta m5p with CB1 and it appears to work, I have MCU communication with everything.

Thanks again.

The M4P does NOT have a CAN Bus connector. The M5P and the two versions of the M8P do.

Katapult is highly recommended and makes things easier, especially when updating the firmware on the CAN Bus device.

If you follow the Esoterical instructions, you’ll see that you do not get a serial device but a CAN Bus device:

This is true for both the main controller board, which is the USB to CAN bridge, as well as the Toolhead controller board.

I am even more confused now…

using the serial connection I can see both the CB1 and the rp2040 tool head and when I add the serial addresses into my printer.cfg and canbus.cfg files they allow me to apparently communicate and get all the way to the dashboard in mainsail.

the problem comes in that I still cant actually control anything via the toolhead.

You mentioned and esoterical guide also says I should have canbus uuids rather than serial.

but when I look at the owners manual for the BTT device that I have, it clearly shows a serial device ID.
unfortunately this specific device isn’t addressed in esotericals guide.

Okay, I think we need to set some ground rules.

  1. You need to be more precise in what you’re writing. I’m trying to read over what you wrote above and I’m not sure what’s happening here. Don’t use the word “it”, instead make sure you specify the piece of hardware, the file, the configuration information. Please do everything you can to avoid assumption errors.

  2. Don’t anthropomorphize what is happening in your system. The hardware can’t “see” anything and can only do what it’s programmed to do. It’s not fighting against you, you’re not following the correct process or providing the correct configuration information.

  3. Only follow one documentation source. I’m recommending the Esoterical page because it is constantly updated and I use it on all my printers so I’m comfortable with it and understand what is happening within it. The BTT documentation is okay but is generally out of date when it comes to the latest iterations of Klipper - although, to be fair, I just reviewed the latest RP2040 “Build Guide” and it has a fairly accurate process for connecting the RP2040 via CAN Bus but doesn’t have the host setup information of the Esoterical page.

  4. Try to fully understand what you’re doing. I don’t think you noticed that the sample-bigtree-ebb-usb-v1.0.cfg file (downloaded from the BTT RP2040 page) that you are referencing is for a USB connection between the Host and the RP2040 and not a CAN Bus connection.

Can I ask you to rewrite the previous post with these rules in mind?

However, there is one thing you need to understand first. The Host (the CB1) is where Klipper runs and it connects to the controller board(s) in the Klipper system. There should only be one “.cfg” file and that is used by Klipper running on the host to establish communications with the controller board(s) in the Klipper system.

I’m saying this because I don’t understand why you have a printer.cfg AND a canbus.cfg file.

So, please rewrite your post, explaining how you are setting things up as accurately as possible.

1 Like

I’m still trying to understand if the components from the original post are correct.

thank you for being so thorough and patient in your reply.

to keep this in as much order, I will try to reply with the numbers attached to keep some continuity for myself and anyone else reading this post.

1: my errors, could easily be assumption errors, I will try to be more specific with my explanation
going forward.

2: you are correct, it does not “see” I was using that as shorthand for appearing to interact
appropriately with other portions of the programming.

3: I would follow only one source if it was complete, unfortunately the esoterical guide does not
include documentation for the toolhead that I am using. Hence my return to BTT documentation.

BIGTREETECH EBB SB2209 USB V1.0 is the specific board that I am having trouble with.

as you can see from this picture, the connection between the Host CB1 and the BTT appears to only be possible via the USB-c, unlike some other BTT can bus tool heads ( I have 2 running on octopus pro boards with connections via the on board CANBUS pins).

since the Manta m5P also has on board canbus pins, I may try making another cable from the tool head and eliminating the usb canbus adapter altogether if that will work.

4: back to number 1, I see both in the esoterical guide and many other places, where Canbus is used and perhaps not tightly defined.

my understanding of canbus communication is that its loosely defined as any protocol where you can use a limited amount of wiring to communicate from one microprocessor to another instructions that allow you to eliminate much larger wiring bundles. My confusion with the current toolhead that I am trying to use is that its using a serial connection via the USB and apparently bridging that serial USB connection to a 2 power and 2 communication wire scheme the same as the octopus pro does.

I most definitely noticed that it is for USB only connection as that is the only way it can be connected out of the box.

as for why I have both a printer.cfg file and canbus.cfg file this goes back to a history of programming back when basic was still being used… the use of subroutines allows one to comment out the call for the canbus.cfg file to see if the problem lies there, or in the main printer.cfg file, and it appears to be a completely acceptable and supported way of doing things in the klipper universe, as that is how mainsail is being called from the printer.cfg file.

I just happened to have another standalone canbus bridge board (a BTT U2C v2.1 this time)and decided to go back to the top of the esoterical guide and start over to see how different the results I got were.

with the

ip -s -d link show can0

command, the U2C shows an active can network,

the USB bridge for the BIGTREETECH EBB SB2209 USB V1.0 comes back with

Device “can0” does not exist.

It appears to me, that either I have a faulty board, or the firmware on the BIGTREETECH EBB SB2209 USB V1.0 is problematic.

I will spend some time seeing if I can find firmware for BIGTREETECH EBB SB2209 USB V1.0 as this appears to be the source of my problems.

Thank you for your help along the way, I am sure I will be back with more questions.

Duke

and Yes, I have tried flashing the firmware to the EBB SB2209 USB V1.0 as per the instructions in their manual and still get the can0 does not exist.

As both you and @cardoc noted, you have the BIGTREETECH EBB SB2209 USB V1.0

This is not a CAN Bus device. It’s USB.

So, to connect it to your host, you’re going to have to use a USB connection.

Have you looked at the BTT Wiki for the product:

It’s quite good and explains how to set up the two boards (the small one that is connected to your 24V power supply and to your host via USB) in terms of Klipper.

Your host (CB1 mounted on the M5P) should be loaded with Klipper WITHOUT CAN Bus. Once you’ve done that, wire up your board following:

This shows the power and USB connection I described above.

Then, connect it to Klipper following:

you may not recall, I said I had also been trying the BTT manual, exactly what you linked, and it has failed as well.

Could you go through exactly what you have been doing in terms of set up and what errors you are seeing?

When I look at your post:

you’re still trying to get a CAN Bus connection.

If I had your hardware:

  • CB1 Host
  • Manta M5P Main Controller Board
  • BIGTREETECH EBB SB2209 USB V1.0

The steps I suggest that you take are:

  1. Create an OS image on a Micro SD Card for the CB1. I use the image here: Releases · bigtreetech/CB1 · GitHub I use the minimal image and not the one preloaded with Klipper (I’ve had issues with it in the past).

  2. Put the CB1 on the Manta M5P, insert the Micro SD Card, connect the M5P to a HDMI monitor, USB keyboard and an ethernet connection and then turn on power.

  3. Login to the CB1 on the monitor/keyboard connection using “biqu” as the default UserID and password. If you’re using WiFi, this would be the time to add your credentials. You can optionally login to the CB1 using a network connection (WiFi or Ethernet) using SSH for the following steps or for accessing the CB1 later.

  4. Load in Klipper, Moonraker and Mainsail/Fluidd using KIAUH, as outlined here: GitHub - dw-0/kiauh: Klipper Installation And Update Helper

  5. Load in Katapult, as outlined here: GitHub - Arksine/katapult: Configurable bootloader for Klipper

  6. This is optional, but I recommend you create a Katapult image (USB connection only) first and load it into the M5P’s MCU using DFU Mode.

  7. Create a Klipper image with just a USB connection (no CAN Bus) and load it into the M5P’s MCU using Katapult (if you carry out step 7.) or using DUF Mode

  8. Get the serial ID of the M5P’s MCU (using ls /dev/serial/by-id) and put it into the default printer.cfg and confirm you have a connection.

  9. Create a Katapult image for the BIGTREETECH EBB SB2209 USB V1.0 (USB connection only).

  10. Create a Klipper image for the BIGTREETECH EBB SB2209 USB V1.0 (USB connection only).

  11. Connect the BIGTREETECH EBB SB2209 USB V1.0 and put it into DFU Mode as explained here: EBB SB2209 USB V1.0 - BIGTREETECH WIKI This is a USB connection.

  12. Load in the Katapult image for the BIGTREETECH EBB SB2209 USB V1.0

  13. Load in the Klipper image for the BIGTREETECH EBB SB2209 USB V1.0 using Katapult.

  14. Get the Serial ID of the BIGTREETECH EBB SB2209 USB V1.0 (using ls /dev/serial/by-id) and put it into the default printer.cfg and confirm you have a connection.

At this point, you will have a CB1 loaded with Klipper and mounted on a Manta M5P that has Klipper Firmware installed and is connected to a BIGTREETECH EBB SB2209 USB V1.0 using a USB connection and you’re ready to update the printer.cfg with one that is appropriate for your printer.

1 Like