4 posts were split to a new topic: CanBoot with USB to canbus bridge
A question for @mykepredko (and everyone else).
I followed the MKS Monster instructions as linked above and all went as shown until it came to connecting the ebb36 board via the rj11 cable and got no such device exists. So I have a setting wrong somewhere.
So the MKS instructions for the CanBoot config shows communication interface as USB on PA11/PA12 but @NAPCAL’s reply shows this via Canbus on PD0/PD1. I went with the USB interface, is this correct?
I assumed that the MKS instructions referring to PA8/PA9 becomes PD0/PD1 on the Octopus Pro, but the Bigtreetech ebb36 github lists PB0/PB1?
How do you want to connect the EBB36?
- USB to your RPi
- CAN bus to the Octopus board.
For The Octopus Pro,
Could you share:
- What is the MCU on your Octopus Pro? It should be printed with something like “STM32F429”.
- How you created your CanBoot and Klipper images for both the Octopus and EBB36 boards? Ideally screenshots of your
- Provide pictures of your cabling?
As far as I know, all flavors of Octopus have their USB C on PA11/PA12 and CAN on PD0/PD1 and that’s shown on @NAPCAL 's post of four days ago.
Hi @NAPCAL and @mykepredko,
In answer to your questions.
Connect ebb36 to octopus pro via canbus
Octopus pro is stm32f446.
The installation process was copy pasted from the github page klipper_canbus/monster8v2.md at main · maz0r/klipper_canbus · GitHub with modifications as required then followed MELLOW FLY SHT 36/42 | klipper_canbus for the last bit
Then the settings I posted are the settings you need to use for your Octopus.
The BTT EBB36 will need CanBoot loaded via USB-C, a jumper on the 120ohm header, and USB-C power. See “Loading CanBoot” in my Octopus post for DFU loading the CanBoot firmware to your BTT EBB36. See below for CanBoot and Klipper firmware settings.
You will need the following:
• USB-C cable between your RPi and the Octopus.
• RJ12 or RJ11 on the Octopus to the BTT EBB36 black connector.
• 24Volts to the BTT EBB36 to the black connector.
After setting up the Octopus Pro (CanBoot & Klipper) and getting CanBoot on the BTT EBB36.
Disconnect to USB-C cable from the BTT EBB36 and connect the CAN bus (CAN_L & CAN_H to the same) from the Octopus Pro to the BTT EBB36 (black connector). Connect 24Volts and ground to the BTT EBB36 (black connector). Remove the USB-C power jumper, or this may cause problems.
Power up RPi, Octopus Pro, and BTT EBB36.
via ssh terminal, type in the following: sudo nano /etc/network/interfaces.d/can0
copy this from here and paste it into the terminal.
iface can0 can static
up ifconfig $IFACE txqueuelen 1024
then Ctrl X
Y Enter to save the file.
then sudo reboot
ssh back into your RPi.
copy and paste this command: python3 ~/CanBoot/scripts/flash_can.py -q
Record the two UUIDs, the UUID that states Application: Klipper is your Octopus Pro, and the other is your BTT EBB36.
Ensure you have compiled your Klipper firmware for your BTT EBB36 before the last step.
copy and paste this command: python3 ~/CanBoot/scripts/flash_can.py -u
Replace the with the UUID of your BTT EBB36.
BTT EBB36 V1 [STM32F072]
BTT EBB36 V1.1 [STM32G0B1]
Sorry For the length of the post, but this is all the screen shots of the ebb36 v1.2 / Octopus Pro canbus install. As you can see the final upload failed
klippy.log (606.0 KB)
So i got to the end of the ebb36 install, with all of the steps as shown in the github mks monster guide (linked above) modified to suit pinout of ebb36 and octopus pro.
pi@VCore3:~ $ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 005: ID 1d50:606f OpenMoko, Inc. Geschwister Schneider CAN adapter
Bus 001 Device 002: ID 2109:3431 VIA Labs, Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
pi@VCore3:~ $ ~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0
Found canbus_uuid=1b69030e2982, Application: Klipper
Total 1 uuids found
pi@VCore3:~ $ ls /dev/serial/by-id/*
ls: cannot access ‘/dev/serial/by-id/*’: No such file or directory
Is this correct with the canbus bridge in operation?
I have abandoned the ratos install of printer.cfg and include files as not correct for use with the ebb36, but as a noob have never tried to create this from scratch and get mcu unable to connect.
Can anyone help?
Yes, this is correct. This is explained in the Klipper documentation.
Why are you following a guide from competitor to BigTreeTech?
MKS is not apart of BTT or BIQU
You can try to help Julio from now on, I am out.
There isn’t a BTT Octopus guide available that has the correct information - the maz0r GitHub page is the most accurate/correct that I’ve been able to find. There is the “How to Use CAN Toolhead Boards Connected Directly to Octopus” pdf that I can share if you don’t have a copy but I found it overly complex and forces anybody using to work with PuTTy under Windows when it is much easier to use Unix/Linix commands on the Raspberry Pi (or whatever host system you’re using).
If there is a BTT document for the Octopus that explains how to correctly set it up, I haven’t found it.
Now, the EBB Page setup (GitHub - bigtreetech/EBB) is quite good but the Octopus pages (GitHub - bigtreetech/BIGTREETECH-OCTOPUS-V1.0: This is Octopus open source material and GitHub - bigtreetech/BIGTREETECH-OCTOPUS-Pro: This is OCTOPUS Pro open source material) have nothing on CAN.
If you know of something better please share; what you posted above is accurate but requires the reader to be already familiar with the process.
This is just a thankyou to the members who contributed in this thread.
My tool head board is running on canbus, with canboot via the btt octopus pro.
I won’t say i enjoyed the experience and definitely need the help of this group.
A special shout out to @mykepredko & @NAPCAL, who explained the issues from opposite ends and in doing so got this noob to s fully operational V Core 3.1.
I have flashed Canboot and Klipper according to the descriptions above.
ls USB shows:
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 008: ID 1d50:606f OpenMoko, Inc. Geschwister Schneider CAN adapter Bus 001 Device 003: ID 0edc:2050 YJXU502S USB Camera Bus 001 Device 002: ID 2109:3431 VIA Labs, Inc. Hub Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
~/CanBoot/scripts/flash_can.py -i can0 -q
the first time shows the canbus-id of the octopus:
Resetting all bootloader node IDs... Checking for canboot nodes... Detected UUID: de0481df9aa3, Application: Klipper Query Complete
I have configured the printer.cfg using this id and the console shows everything as usual.
when I issue another command to query the canbus I get an empty result:
Resetting all bootloader node IDs... Checking for canboot nodes... Query Complete
and the connection to the mcu gets lost:
ifconfig show can0 up and running
can0: flags=193<UP,RUNNING,NOARP> mtu 16 unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 256 (UNSPEC) RX packets 33466 bytes 250084 (244.2 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 3531 bytes 22763 (22.2 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
any idea what the cause could be?
I have to repower octopus in order to get the mcu connected
As soon as it connects to Klipper, the basic query will not show anything because it will not try to gain exclusive access to nodes under Klipper’s control.
sudo services klipper stop
Should be issued before a query or updating Klipper firmware.
Complete the CAN bus wiring because one device on the bus has no benefit.
One big difference is:
for octopus PD0/PD1 needs to be set.
now I can repeatedly call can bus query and always get some result.
drove me crazy!