I just setup my FLY SHT36 (the name of this board is what really sold me). It took me awhile as info is all over the place with important parts missing like using 3 different jumpers in total with 1 just used for boot to name a few things. Seeing that this board looks exactly the same and uses the same F072 stuff I'm guessing this guide will also work for my FLY-SHT brethren.
I have some! Just had the fan mosfet header inverted on my initial sample; they sent me some more things to review as well, hopefully will have guides soon
Just got my BTT U2C board and EBB 42 1.1 (STM32G0B1) and I'm Lost on how to run it, Do I need the U2C at all? I have the BTT Octopus Pro and an old laptop running my Klipper, I have it running fine just wanna add the EBB but if I flash the EBB do i connect it straight to the laptop or to the Octopus Pro, But i i connect it to the Octopus I wont be able to connect it to the laptop, Please let me know your thoughts, or can I just pay you to do it for me :)
Great to see toolboards becoming a more mainstream feature. These look very comparable to Duet's 1LC. Do you happen to know what the mass of either the EBB36 or 42 board is?
Actually this ia confusing in their manual they are telling you that PA2 will be high when in DFU mode and PA2 is for the hotend mosfet, but on their pinout PB1 is for the hotend and PA2 is for the fan. I will try to confirm.
@@eddietheengineer Oops, apologies, to you both I got confused with the github site you are correct eddie I was checking the v1.1 info against the v1.0 manual. :)
*Bunch of Questions:* - Do the PCBs ( for either the EBB or the U2C ) come with the necessary Connectors needed for crimping the various cables that will attach to them? 🤔 - Do the CAN H / L wires connect H > H & L > L or is it more like with Rx / Tx where H > L & L > H? I've skimmed the GitHub for information regarding that but couldn't find anything 🤨 - I recall having read somewhere that CAN Cables need to be twisted pairs but so far have not seen anyone seemingly going the effort of doing that? Any insight on that? 😑 Needless to say, it _really_ grinds my gears that BTT ( and Huvud / Mellow ) has designed their EBB boards with only a 5V Probe Connector but neither a 12V or 24V one to support Inductive Probes 😩
i have everything hooked up as instructed but when i run the Python3 command i get this " Resetting all bootloader node IDs... Checking for canboot nodes... Query Complete" im using waveshar and ebb36 v1.1
Eddie great video! Any chance you might do a CANBUS video with other can adapters, like U2C or CAN Bridge? I used the WaveShare hat, but it won't work with my Pi cases, and of course, I blew it up (bad engineer). I;m particularly interested in CAN Bridge mode where I can use the BTT Octopus CAN interface and no other PCBs.
Thank you for the video. Was able to get my BTT EBB36 and 42 flashed with CANBOOT. Running into an issue though. Using the RS485 CAN HAT for PI and connecting to a BTT SKR MINI E3 V3 via UART, with the PI powered off a DC/DC converter into USB-C PWR. When everything is connected, the PI powers on but does not boot. Unplug UART wires, PI boots and can communicate with the board. Reboot, everything is fine. Cold boot, Pi hangs until I remove the UART wires. Any clue?
I bought a Bigtreetech EBB42 1.2 and flashed for the can PB0/PB1 but "python3 flash_can.py -q" returns no found devices or uuid. I already had the can hermit crab working and was just trying to switch to a different usb-c board. Now I cant conect in stm32CubeProgrammer on usb DFU to re-flash it. I have a chinese st-link v2 but don't know where to connect it. Could you help?
How I'm able to get back to "normal Klipper"? I tried it out but with flashing standard Klipper bin file it won't connect anymore to my raspberry. Appreciate your help!!!
For those got the same problem: Just use flashing over the raspberry pi like in the voron docs. Flashing back with stm32 programmer haven't worked for me. Don't know why...
@@eddietheengineer oh this is so good to hear! I'm toying around with the idea of a custom automatic toolchanger and multiple can toolboards from the same interface would make the electronics so much easier. Do you by chance have any documentation for that particular setup, i skimmed through the tridex github a bit but didn't find anything. Thanks for answering so quick, already helped a ton =)
Hi, I am interested in implementing can into my 3d printers and even starting to design some pcb's. The printer I am using at home I am sure the mellow fly sht bord and usb can receiver wil work fine. My interest is more into high speed printing using servos. When printing 500mm up to 1500mm i see that the duet 3 board is limited with the Step Pulse Timing roughly 80khz, the printer I am looking for a can implementation for needs around 200khz Step Pulse Timing per servo.. Question 1: Does anyone know why de Duet_3_Expansion_1XD bord is limited to 80 khz and what the kb/s is? Question 2: Does anyone know the Step Pulse Timing limitations of the now available Mellow Fly-sht42/36 and Bigtreetech EBB36 EBB42 ? I know the EBB36 and EBB42 have a max 250kb/s and fly-sht42/36 500kb/s? I have the feeling the limiting factor is the used MCU
Yes I have the same problem I have the BTT U2C board as well as the EBB 42 and a old laptop running debain raspberry, do i need the U2C? if not do i run the EBB straight to the laptop or to the Motherboard, but my octopus pro only has 1 usb which is connect to the laptop
Warning! Do not connect the USB-C from Bigtreetech Hermit Crab to the USB-C on this EBB Board!!! The USB-C plug on these Boards do not follow USB-C standards and you end up burning up the EBB board by giving it 12v-24v when it expects 5v. The EBB board may survive but you will no longer be able to connect USB DFU to STCubeProgrammer. The Previously flashed firmware may survive though...
I have tried everything. Followed your instructions, Followed BTT instructions. I can't get this to work. I have the 1.2 ebb36. When I get everything hooked up and run the uuid command, it says 0 found. Please help
Did you try higher CAN speeds? I've got a lot of issues with this board at 500k CANbus speeds with it only showing up intermittedly and tons of dropped RX packages. Did I just miss a termination jumper?
Hello @eddietheengineer, thanks for sharing the excellent video with us. I got my BTT boards today and have some questions if I may: 1. should I use U2C v1.0 or v 1.1? 2. suppose everything works fine with CAN, what would be the best cable management for a 300 mm Trident or 2.4R2? Umbilical wiring like V0.1 from the toolhead to the Z chain? Would AWG 20 be enough for teh 24V or should I use AWG18?. Thank you very much in advance. Best regards!
Great questions! I unfortunately don’t have experience with the U2C van adapter boards, theoretically they should work! I use umbilical wiring, I prefer it to chains. 20awg should be plenty for all but the biggest hotends!
@@eddietheengineer Thans for the hint. Bought a Waveshare CAN Hat, installed the Arksine Canboot repository, but I do not have the /lib/canboot directory. Any ideas? Thanks a lot!
I couldnt make it work for my life. Canboot Flashing was ok, second flash over can was successful as well. Klipper wouldn't see the can at all. I flashed the standard .bin file from BTT github and left printer.cfg unchanged and it worked like a charm. Any help is appreciated
@@eddietheengineer correct. Canboot was flashed perfect , klipper flashed over can perfect. Printer cfg added one line with ebb mcu and its can id and it wouldn't see it. Two things were kinda different than your video. Flash_can.py path is changed to scripts folder and on the klipper flash i only had 16kb and no bootloader offset as options. Left the same printer cfg, wiped and reflashed it with the .bin from btt github and it worked like a charm.Even tested bltouch and it works perfect.
@@eddietheengineer found the problem. I wasnt on the most updated Klipper version. I ignored the policykit warning and klipper wasn't updated to the most recent version.
Hello! I have an ebb36 v1.1 and can’t see « can pb8/pb9 » when g0b1 is selected, only serial or usb. Klipper is up to date in mainsail. Any idea if it’s possible to compile canboot with this configuration?
This is a great question! I haven’t tried an inductive probe in a while; for the signal you can set it up using the bat85 diode and gnd/signal like Voron does typically. For the 24V, you should be able to pull it off a fan output since the fans are switched on the -V side
Hi did you connect the probe with a bat85 diode aready? When i connect 24V to my sensor with bat85 i get more than 5V sig_out. Therefore i am afraid to grill my ebb? Thx
Great question! If you install the CanBoot bootloader you can update the board over CAN with a single command, no need to press physical buttons or connect USB cables. With the stock bootloader, it’s a pain to update every time.
Following this guide, (Thanks for publishing) for EBB42. As soon as I get to the STM32CubeProgramme connect stage (7:33) it starts complaining about the device being in Read-out protection. is there a workaround for that? Thanks
@@eddietheengineer dfu-util command posted by another person in the comments here worked from my raspberry pi with no issues. So this seems to be a good workaround, however cube programmer still refused to work on my ebb42. Could be the version of the cube I used or just my ebb42
i use the STM32 CPUs at work. They have 3 readout protection modes, open (no protection), reversible (cant read out but you can go to open mode, but this will erase the firmware), and permanent (locked forever, can't downgrade can't reprogram), Then CPU MUST be in open mode to install new firmware. All this functionality is in the STM32CubeProgrammer. Just goto open mode and your good to go. Don't even think about locked forever mode (I made that mistake once a bricked a board),
I do not! I haven’t had issues with the 2209 overheating, even with 70C chamber temperatures and 0.65A current on my Huvuds, I hope this should be about the same. You can check using TMC_DUMP to see if your driver is getting to the “warn” temperatures
What's the point of CANbus if you're just going to need to put a USB connector on there anyways? Why wouldn't you just add something like this as another MCU? Canbus seems silly AF when Klipper can just address the board via USB anyhow. Pair this with something like USB-PD, which is up to 100W nowadays, and you could connect all of this with a single reversible cable, with hotplug detection, and toolhead identification. Additionally, adding a hub controller to the board would mean easy access to USB lines for things like inspection cameras and the like down the line; replicating the ability to daisy chain like canbus does.
@@JohnKlopp I don't use a Voron. Still developing it in-house for a delta manufacturer here in Orlando. Configurations are stored on the toolhead, and a daemon running on the Linux side auto concatenates the config files (since the USB device can also act as virtual storage). This allows for things such as hot-swappable toolheads that you don't need to keep with the machine at all times. This CAN bus stuff comes from the RepRapFirmware community, and I'm sure you've seen what a nightmare that firmware is. Why people are rushing to bring that over to Klipper is beyond me. WHICH -- happens to be why I asked the question. Why lose all the potential of auto-configurability, hot-swap ability, commoditized cabling, downstream signaling, virtual USB devices, etc? The USB layer is _already there_, on practically every microcontroller. It makes no sense to me why people are seeking out controllers with specialized CAN connectivity like this. There is already also an organization with free sublicensable USB PIDs through pid.codes
It’s a valid question, I think at least at the mass market hobbyist level toolhead controllers are just starting to really pick up steam. Sure Duet has had a solution available, but that’s in a different price category and comes with its own upside and downside. I would love a USB-PD toolhead board! Right now I’m actually about to test the Mellow Rpi2040 board that uses USB only-and honestly in concept it makes more sense for single toolhead printers than a can board (cheaper/easier to setup). I’m excited to see what people come up with! Just so long as I don’t need to ever use 20 wire cable chains again 😄
So i did follow your procedure and dont see node ids pi@raspberrypi:~/klipper/lib/canboot $ python3 flash_can.py -i can0 -q Resetting all bootloader node IDs... Checking for canboot nodes... Any idea, help please
There are a few reasons this can happen, including the CAN interface not being initialized/started properly (make sure it’s “UP”), the CAN wiring not being correct (H/L swapped), or if Klipper has already “captured” the device if it was previously configured in a printer.cfg file. Let me know if you’ve figured it out!
You need to create can0 interface: 1. sudo nano /etc/network/interfaces.d/can0 2. copy paste this : auto can0 iface can0 can static bitrate 250000 up ifconfig $IFACE txqueuelen 1024 3. ctrl+s to save and ctrl+x to quit from that 4. reboot, after you can continue this guide Eddie, you forgot this step from video :D