What's new
VORON Design

Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members!

Question Toolhead connection: Canbus, HartK PCB or other alternatives? What to go for?

Hello everyone. Wonderful discussion going on in here.
Basically putting the Octopus in bridge mode (Klipper firmware options) uses the USB composite feature to expose two devices - a serial port for "normal" mainboard communication to control the steppers and peripherals and a CAN adapter. The STMs in the Octopus boards are fairly beefy (i.e. when running Marlin or RepRap firmware they have to do all the processing) so while doing this does technically add overhead, it doesn't matter.

If you have an Octopus and are willing to try bridge mode - it does work - I use it in one printer. It is a less tried and true config, so fewer guides, and you may get stuck with some edge cases or early adopter problems. One I can recall is, for example, CAN boot via USB (for easier firmware updates) didn't work initially in bridge mode.

If you don't have an Octopus but already have a working printer - I definitely don't suggest getting an Octopus and going through the hassle of reconfiguring solely for CAN integration as USB adapters are fairly low-cost now and work just as well. My older V2 started with two SKRs, so I just added a USB adapter.
So I have an SB2040, Octopus, and a mks canable U2C. How would you recommend it be done? I'm thinking Octopus in bridge mode and save the U2C for use with my EBB42 for another project.
 
If you have an Octopus and are willing to try bridge mode - it does work - I use it in one printer. It is a less tried and true config, so fewer guides, and you may get stuck with some edge cases or early adopter problems. One I can recall is, for example, CAN boot via USB (for easier firmware updates) didn't work initially in bridge mode.
Thanks - your explanation is really helpful. I have a BTT Octopus Pro 1.0 and so I assume best to use the on board CAN without USB module. Does one theoretically give better throughput of data?
Do you recommend the Mellow Fly SB2040 V1 or the Mellow Fly SHT36 v2.0 (I assume SHT36 with PT100 as useful but not sure if the as5047d encoder is any use on the Voron 2.4)?
 
I won't let this user's bad experience with the SB0240 discourage you. Putting in a tool head board and making a cable only to go CAN later is a fair bit lot of work that can be avoided. Let me respond point by point:

1) Seeming not to understand AGND. To support multiple (5V and 24V) voltages for the fans, the switching is done at the ground. Red wire - proper voltage for the fan (24V for stock), Black wire - AGND.

2) HV end-stop really needs a pull-up ^ in the Klipper config. This is a real issue. I didn't have it with my first board but did run into it with my other two. Asked in the Mellow section of the discord and was informed a few minutes later what I needed to do. I do wish they updated the documentation to make it clear if your HV end-stop doesn't trigger (and maybe even if it does), to put the pull-up in the config. Seems the author never got to the bottom of it and rigged up something more complicated causing the next issue. I kind of cared because inductive probes work better at higher voltage. Mine did work at 5V, so before I knew what to do, I used the other plug but lost some working distance. If you are going Klicky/ TAP this is a complete non-issue - use the dedicated 5V end-stop plug.

3) Temperature issues 1 - the author seems to have had issues with the board voltage due to using the HV end-stop source and 5V end-stop sink. This one is mainly self-inflicted.

4) Heatsink - I did not use the included heatsink, it is not necessary. If you want to, I will concede that depending on how you mount it and what you are looking to sink, what was provided might not work.

5) Temperature issues 2 - I have noticed the temps displayed from the rpi2040's internal thermistor and the onboard chamber thermistor trend a little high. They read ~30 degrees C when no heaters powered on with my nozzle and bed at room temp around 23 degrees C. They actually never get to the 85 degrees C the rpi2040 is speced for, but do wish they were more accurate. The author never seemed to test these readings with another thermometer and then seemingly got frustrated with cooling mods.

6) HV end-stop squishing wires - Not sure if the author installed the board correctly. On my 3 stealthburners, it's a little tight - i.e. annoying if you want to remove the HV probe without first unscrewing the board, but it definitely fits. Given how much trouble I had with my probe coming loose with microfits, I tend to personally like it being a tad snug.
This is 100% my experience. Don't take the google docs as gospel.

I did need the pull up config for the 24v probe (and really it was my instinct to try the pullup after I initially got no response). I don't really have any temperature issues. I'm not using any active cooling, board seems to top out at 75C (and if it truly reads higher than reality, than the temps are even better). The HV plug is a little annoying, but not a deal breaker at all. It does all fit in there, you shouldn't need to mess with it once you're up and running
 
Basically putting the Octopus in bridge mode (Klipper firmware options) uses the USB composite feature to expose two devices - a serial port for "normal" mainboard communication to control the steppers and peripherals and a CAN adapter. The STMs in the Octopus boards are fairly beefy (i.e. when running Marlin or RepRap firmware they have to do all the processing) so while doing this does technically add overhead, it doesn't matter.

If you have an Octopus and are willing to try bridge mode - it does work - I use it in one printer. It is a less tried and true config, so fewer guides, and you may get stuck with some edge cases or early adopter problems. One I can recall is, for example, CAN boot via USB (for easier firmware updates) didn't work initially in bridge mode.

If you don't have an Octopus but already have a working printer - I definitely don't suggest getting an Octopus and going through the hassle of reconfiguring solely for CAN integration as USB adapters are fairly low-cost now and work just as well. My older V2 started with two SKRs, so I just added a USB adapter.
Thank you for this information! I already have Octopus boards and I did have a Huvud working no it with a RS485 but I do have a UTUC-1 and 3 in the mail along with a SB2040 and both variants of the EBB boards.
My thoughts were the CAN hat can add a small layer of lag or communication delay and going Bridge mode may speed up by just a few milliseconds and possibly make the config simpler.
I think that is the route I will go.
 
So I have an SB2040, Octopus, and a mks canable U2C. How would you recommend it be done? I'm thinking Octopus in bridge mode and save the U2C for use with my EBB42 for another project.

I would say give it a try. It's just a Klipper firmware compilation and flash. If you then see the new USB device/ CAN adapter from the Octopus on your Pi, you're almost done - just need to physically wire it up - which I will admit is a little annoying due to BTT deciding to use an RJ11 port (and only that) for the CAN bus.

If you get it working, great. If you find it too frustrating, another UTUC-1 isn't too expensive.

Here's an example config for enabling bridge mode on the Octopus:
1671049709039.png
 
Thanks - your explanation is really helpful. I have a BTT Octopus Pro 1.0 and so I assume best to use the on board CAN without USB module. Does one theoretically give better throughput of data?
Do you recommend the Mellow Fly SB2040 V1 or the Mellow Fly SHT36 v2.0 (I assume SHT36 with PT100 as useful but not sure if the as5047d encoder is any use on the Voron 2.4)?

I'm assuming a V2 and a Stealthburner (CW2 or LGX extruder) and if so would recommend the SB2040 since it integrates nicely.

I would only suggest the FLY SHT36 if you won't be going with a Stealthburner so won't make use of the dual board design or really want to use a PT100 with the plus variant.
 
Okay - so I hear the encouragement above. I've flip flopped a lot. From what I read the SHT36 and SB2040 just use different chips (STM32 vs RP2040) and require different configs, but should produce the same results. So as you say above - the stealthburner lends itself nicely to the physical form of the Mellow SB2040 split board option.
It does seem that expecting the Pi to talk CAN bus to the Octopus without a separate board makes the Pi work harder and increases the likelihood of timing issues, but this may not be an issue with my Pi 4B. But I will get a UTOC-1 adapter anyway for the sake of stability.
I'll be following this guide once the Mellow SB2040 and UTOC-1 arrive.
There are plenty of issues stumping people much more technically competent than me - let's see how I go! I haven't figured out what to do with the end stops (can I still use hall effect ones with the X on the stealth burner and the Y on motor A). It will definitely make this a slower build
 
Top