MCU Unable to connect Via Canbus

Basic Information:

Printer Model: Ender 3
MCU / Printerboard: BTT Octopus v1.1
Host / SBC: Raspberry Pi 4B
klippy.log
klippy.log (691.3 KB)

I’m currently installing an EBB36, so I’m converting from serial to canbus.

I previously had both the MCU and EBB connected and showing in canbus_query, but now I get none. Below I will include all my firmware config in case it’s needed.

user@EndyBoi:~/klipper $ ~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0

Total 0 uuids found

Klipper Firmware Configuration

[*] Enable extra low-level configuration options
Micro-controller Architecture (STMicroelectronics STM32) —>
Processor model (STM32F446) —->
Bootloader offset (32KiB bootloader) —>
Clock Reference (12 MHz crystal) —>
Communication interface (USB to CAN bus bridge (USB on PA11/PA12)) —>
CAN bus interface (CAN bus (on PDO/PD1)) —>
USB idsーーー>
(500000) CAN bus speed
() GPIO pins to set at micro-controller startup (NEW)

/etc/network/interfaces.d/can0

allow-hotplug can0
iface can0 can static
bitrate 500000
up ip link set $IFACE txqueuelen 1024

One more note, I’m using a BD Sensor, which is not natively supported in kipper. Instead of running make, I have to run:

:~/klipper $ ./make_with_bdsensor.sh

Also because of this I have to comment out a line in the arc/MakeFilefile below because it “runs out of message ids” otherwise.

Here’s the install guide on GitHub for the BD Sensor.

Things I have tested:

  • Changed bus speed everywhere from 1000000 to 500000
  • Changing USB cables
  • Tried allow-hotplug and auto, both together and individually at the top of …interfaces.d/can0
  • Tried running make without the BD Sensor

Obviously the EBB isn’t connecting either. I’m hoping that connects when I get the MCU working.

I’ve been google searching for a fix for the past 3 days and am hoping I just missed something simple. I am relatively new to Canbus.

Please let me know if I’m missing anything.

From a glance everything I see looks fine in your config.

But I’m curious about your comment above, You originally had it working and now it’s not? What changed?

If you had the EBB connected via CAN bus and have the UUID in your .cfg, then Klipper might have exclusive access, so it wouldn’t show during a bus search until you stop Klipper.

Both menuconfigs look right to me too.
Please use the bitrate and txqueuelen the klipper docs recommend.

Why this txqueuelen? → CANBUS Troubleshooting - Klipper documentation

1 Like

That’s what I don’t know. I did temporarily wire up the EBB just to test it before I took all the wires out, but that doesn’t explain why the MCU isn’t connecting.

My thought is that it happened after a sudo apt-get update or something.

I have tried stopping the Klipper service and the run the query with no success. Currently I have the EBB disconnect until I can get something from the MCU.

I have tried setting the txqueuelen to 128, but I get OSError: [Errno 105] No buffer space available.

The line highlighted in green only appears when I plug in the Octopus.

Ok if a can0 network interface is shown it looks like the octopus bridge is working but the

shows something different.

Remove the ebb from the setup and config.
For the moment just get the octopus into a working state with klipper (this is also the mcu it cannot connect to).

Also your 120R Jumper at the ebb is set?

I do have the jumper set on the EBB.

I have been doing a lot of my troubleshooting with the EBB disconnect, but I will try to remove it from the config when I get home in a bit.

Success!

I went ahead and removed the EBB from the config and after re-flashing back to 1000000 bitrate the MCU connected basically immediately aside from the ADCV (or something) error due to the thermistor not being plugged in.

While crimping the thermistor though I found my problem! Both data wires had popped out at the tool head. I didn’t even think to check this because I thought the issue was with the MCU.

If anyone has any tips on how to get the pins to stay in the 4-pin connection, that would be appreciated.

Thanks for the help!

TLDR, a few loose wires.

1 Like

Probably at this stage would be high temp hot glue on the back after pins are in place, best if plugged in to the EBB so they are in the correct position.

1 Like

Congratulations!

Most likely, this is a crimping problem. How did you crimp the pins? If you’re not familiar with pin crimping, you may be crushing the tabs which lock the pins into the Molex connector.

Personally, I use an Engineer PAD-13 tool for the Molex Microfit connector pins used with the EBB. Regardless, you have to understand the proper process to crimp the pins.

Take a look for instructions on YouTube for properly crimping the pins as well as what are the best tools to use.

You should never have to resort to hot glue.

Well, you might want to tell most of the 3D printer manufacturers out there about the hot glue.

1 Like

I definitely do want to tell them that.

I’d never consider a printer that was held together with hot melt glue - in my opinion, it is a sure indicator of incompetence.

Just the connections, not the printer as a whole.
Vibration and pulling by the wires protection.

In my experience, the only situation where hot melt glue is appropriate is for a school project where eight year old students are making a project to show the animals they saw at a farm.

If you are using locking connectors (like the Molex Microfit), that are properly crimped to the wires and the cable has appropriate strain relief then you have no need to resort to any kind of glue.

If you have a situation where there is so much vibration, the connectors are failing, gluing the connectors in is approaching the problem from the wrong direction. Similarly for “pulling” the wires - make sure they are long enough, have strain relief as well as ensure they can’t loop around moving components. Good engineering trumps glue always.

Sorry if you regularly use hot melt glue, but don’t consider it appropriate for any application within a 3D printer.

I can second the recommendation of the Engineer PAD-13 tool, It’s one of the best tool purchases I’ve ever made. Short of buying the legit Molex tool (which is several hundred dollars and only works for those connectors), it’s the best general crimper I’ve ever used.

I actually splurged and got the nice case and extra heads for it too even though I’ve never had to use them yet.

(Non affliliated link)

Edit: I actually have the No-11 Crimp head in mine and that’s what I’ve stuck with. The PAD-11, 12 and 13 are the same tool with different interchangeable crimp heads.

1 Like

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