Thanks for this video! Currently, this is the only video out there that shows how to setup this on the BTT-Pi. Theres not even anything in the documentation that talks about the specifics of the x,y, z so i dont know how you even found that out but glad you explained it so well!
Yeah there's like only one sentence about asxis making that I've seen in the klipper documents. I don't know how detrimental it is to the measurements but I like to try to make things as accurate as possible.
What an amazing tutorial, bro! I just started learning Klipper yesterday, and I have been running into so many issues with the whole process, but I did not run into a single problem for this part of my journey, thanks to you!
@@StackingLayers I came back for 2nds. I adjusted my belts and everything so I had to calibrate again, but I needed a refresh on a couple of the commands and config settings.
I'm not one that usually comments on videos but, you video was not only easy to follow but very well laid out. Going off on "tangents" during your explanation of the line codes only cements your passion for the craft and depth of knowledge. Thank you for the video, I'm sire it saved me hours of frustration and hair pulling.
You really know what you are talking about and you have been super helpful with setting up klipper. I truly appricate you taking the time to film all of this. THANK YOU SO MUCH!!!!!!!
I found your channel by happenstance through the mercy of the algorithm just the other day. Your content is incredibly Informative and detailed. Thank you for the quality videos.
@@StackingLayers sorry to disturb you but i looked up what pins to use and found that the gpio8 needed to be changed to a gpio12 thanks for the help it seems to be working now
Thanks for making a video on this! My S2DW is on the way for a video, and as good as the document instructions were from bigtreetech, a video beats everything. Thanks! *edit; everything worked perfectly, thanks again!
Great video mate explained it all well. I got mine working and all sorted now. I will be honest took me a while to get the axis calibration. Could not work out what you meant at first. Thanks again
Thank you very much for the detailed guide, I got so much conflicting information and the klipper documentation is simply to huge to get an overview and to devide important stuff from the unimportant for someone who does this the first time.
A thousand thanks! I was looking for videos like this that would explain to laypeople how to proceed with input shaping. Excellent! But now I have 2 questions left: 1) how to read the graphs obtained and 2, more importantly, how to set the slicer (whether cura orca or prusa) to obtain the best and fastest prints...
Honestly I'm still trying to get concrete information on the graphs. The way I understand it that the solid line it the oscillation frequency of the machine and the others show what they can achieve to dampen the peak. Like tuning down bad sounds with an band equalizer. But I can be very wrong about that. I still need to do more research on it. As for slicer settings you can do various calibration tests. There are normally options in the menus that have tests to run. There's also this tuning guide that works wonders ellis3dp.com/Print-Tuning-Guide/articles/index_tuning.html
@@StackingLayers litterly about to start my first benchy with inputshaping and im porbably going to be disapointed because my bed slinger wont be able to run 2200mm/s² xD wish me luck
nice vid. the actual difference in the boards is how accurate they are. The S2DW resolution is 1.6-1600Hz... V2.0 with the ADXL345 has a higher resolution from 0.1-3200Hz. It also has dev pads on the underside for soldering wires to. Both do the same functions. But the ADXL is much faster and has a far better resolution and noise rating if you compare the data on a graph. even tho the specs are better for the S2DW in that aspect. The only thing the S2DW has over the ADXL is its bit rate sensitivity of 16bits vs. 10 bit of the ADXL. Other wise both are great sensors. I use them in Gyro cams and they work flawless.
at 5:12 when you begin config in the terminal, are you SSH connected to the device tha'ts running klipper on your machine (IE the raspberry pi connected to your 3D printer) or is the terminal session connected to the LIS2DW's RP2040 via USB serial cable? I started running make menuconfig commands in the terminal on my klipper host for my printer and then realized I may not be following correctly
@StackingLayers thanks for the reply! I headed onward following the rest of the video and I was able to get the rp2040 detected as an MCU and also successfully queried it. You rock!
You just solved my firmware issue when using a Pico MCU. Every tutorial says to use "linux process", instead I used the 2040 process (which makes sense since the pico uses a 2040) flashed it on my pc & wholla, accelerometer query success!
Your video helped me get the lis2dw connected and setup on my btt pad7 but when i run accelerometer_query i get an error that states no measurement from accelerometer or something like that. Was wonder if i could get some help
I have a question: at the beginning when you compile the firmware, have you done on the raspi with klipper connected to the printer or is another raspi? I'm little confused...
No worries I took no disrespect from your comment. As a matter of fact I really did laugh out loud because that is the exact exclamation I made when I finally got it ready to post. 😂 I'm happy you were able to find it helpful.
Download and install PuTTY www.putty.org/ When you open that program, there is a box to entre the host or IP address. Type in the hostname or IP address that the pi4b or cb1 have. It's the same you use to get to mainsail. Then enter the user name then password. For the Cb1 it'll be biqu for both user abd password. The pi is whatever was setup, I the default is user name: pi and pass: raspberry Note that the password part looks like nothing is happening when you type. This is normal. Just type the password and hit enter.
Its good to stay with what the lower accel between the X and Y. Typically X has a much higher accel but since they work in unison it's best to choose the lower. This will prevent too much smoothing round corners and whatnot. But of course you can always experiment and see how it goes with higher and recommended. I've seen plenty have good success.
Hi! I have a question, wouldn't axes_map: y,z,-x ? I suggest positive z because in the case you are mounting the S2DW, z facing at you is positive and the y axis of the printer facing at you is positive too. What do you think? Am I right or have I misunderstood the axes_map positioning?😁 Btw thank you so much for the video, it is gold.💯
On bed slinger machines, the bed moves in the opposite direction of the axis coordinates. For example positive Y motion will move the bed twords the front because that makes the nozzle position be further back. All motion is based on nozzle position. So with the Z axis on the sensor pointing towards the front of the machine would make that a -Z, to correspond to the +y direction.
You do not print with it on the hotend. The bolt is for temporary installation. The input shaper will not change much if at all when removing the board
This was awesome, thank you! I'm stuck at the point where we restart and the MCU is visible in Mainsail. I've followed and reviewed the instructions and everything worked up till that point. The IDs match in the cfg file, the pi sees the unit from command line so it's flashed, working, and running. It won't show up on Mainsail and the accelerometer_query doesn't work. What could go wrong that would cause that?
I've seen a few tutorials on the ADXL345 hooked up to a Raspberry Pi, and I saw your tutorial on the BTT modules. I was wondering: Is there a way to hook up a cheap ADXL345 module directly to the SPI of a BTT mainboard, such as the SKR1.4 or similar? Also, are there any advantages or disadvantages to using the main printer MCU instead of an extra module that would take up an additional USB slot on my Pi? Thank you!
Yes you should be able to the spi on the MCU. The only advantage the usb version has is ease of setup. These aren't really ment to be permanently attached so the usb is only occupied when running shaper calibrate, and similar tests. Once you have things tuned you can disconnect it.
this was working, nothing has changed but now getting this Invalid adxl345 id (got ff vs e5). This is generally indicative of connection problems (e.g. faulty wiring) or a faulty adxl345 chip.
Question.....working with a Pi4, SKR Pico, and those are connected via UART. Is it possible to connect the Pi to the SKR Pico via UART and connect the S2DW via usb? I'm just a newb trying to get these running. Great video.....but I'm stuck after flashing the sensor, it never reconnects via USB. I can see it when it's in bootloader mode, just not post flash. Any recommendations would be greatly appreciated.
You can set up themes in mainsail, but this one is the theme that BIQU made for the Hurakan printer. Here's the details for making your own edits, there are also some premade themes that you can just load up. docs.mainsail.xyz/overview/features/themes
I have a Manta e3ez board and cb1 on the the way for my Ender 3 v2 that’s basically been beefed up top to bottom, will be adding this after I get up and running with klipper, how would suggest mounting the sensor to the bed for the calibration?
Just print out some sort of block, or clamp that you can screw the sensor onto. It only needs to be strong enough to stay in place for the test. It doesn't need to be a permanent fixture. I use this, cults3d.com/en/3d-model/tool/tiny-c-clamp
I just did a simple 8mm tall block that has the two 2.5mm diameter mounting holes 15.5mm apart. I also added a 2mm tall 5.9mm dia extrusion to go into the nozzle hole to make sure it stays extra sturdy. Printed with a 10mm brim. As soon as the print is done I just set the bed to stay at the same temp until the resonance testing is done.
I've never tried, but I don't think you can run 2 sensors at once. It would require two different commands and Klipper would wait to finish the first one before starting the next one. Even when running the command to do both XY for a core XY system it will still do only one axis at a time
I followed your steps to set up klipper with the btt pi and skr mini e3 v3, so I already have a firmware generated and installed in my printer, do I have to create a new one? And how do I connect the btt pi with these accelerometers? I have seen videos where they use others that do not usb c, so I am lost in many things haha
This video shows how to connect the USB versions. The other non-usb versions need to have SPI set up in the armbianENV.txt, by uncommenting overlays=spidev1_2. You'll also need to setup the Linux process on the pi and define things in firmware. I haven't made a video for that method because I'm not a fan of doing it that way. These usb versions are easier in my opinion.
@@StackingLayers ohhh perfect, I will buy this version then, but a last question, do I need to recompile my firmware for one of these or is just to change the printer.cfg file and nothing else? I look for the easiest way hehe
@SebastianRamirezH it depends on what firmware is installed but there has been many updates with clipper so it's best to follow the video and update to the latest. You can of course try without updating first to see if it works.
Mount it to the bed too. Then run the shaper calibrate with y instead of x. You don't have to set up another instance like it shows in the docs, since you are using the same sensor.
I mean, will there be any bigger difference in print quality if I do it only for x-axis instead of x and y-axis. btw great video, all worked smooth and with no errors!
You need to look at the sensor and see which wat the XYZ marks are pointing. The Z is the center and pointing away from the board. You then see how those relate to the actual axis. For example if you see the Y is pointing to the left and it's in the direction that X axis moves on the machine that would make the first map -y. Then you see the X pointing up and it's in line with the z motion, and the z mark is pointing out to the front of the machine that would make the axis map -Y, -Z, X
Yup😂 everything else was cake. If you couldve actually SEEN what he was doing instead of a puTTY screen it wouldve been fine. Instead- like every single other DIY tutorial for klipper- they failed and left a big ? At an important step😅
Hey uhm what do you need to put in the axes_map if the sensor is positioned like in a 210° to X or any other angle because else its not possible to mount?
I get to the point where I hook up via USB C - USB A into BTT pi and the ADX doesnt show up in list. I have clicked the boot button. Does it need to be connected to the pi directly or to the motherboard of printer (i assume Pi which is what i have done). I really hope this doesn't require soldering to spi directly so any help is appreciated.
You have to hold in the boot button while plugging it into the pi. Don't let go of the boot button until the led comes on. If you are doing that, maybe try a different USB cable some are not made for data transmission. No soldering or spi wiring is needed.
Seems to be mostly good in my case, but still can´t manage to perform the first query, tells me "Invalid adxl345 id (got 0 vs e5)". Probably defective unit I guess, thank Aliexpress for that... in any case, a further well done tutorial, thank you! Edit: in case someone is reading this having this issue: do, as I, take a deep breath, reconsider your life choices and mental state and use the PROPER CONFIG FOR THE DEVICE... no wonder it wasn't working, I ordered the wrong unit and took the configs for the "other" one. Now it works... fml...
Video je skvělé, jenže pro V 2.0 nefunguje, hlásí chybu na MCU, je potřeba instalovat nový klipper, to co jste přeskočil. Můžete poradit jak nahrát novou verzi jaký povel se musí zadat, nebo kde hledat radu . Děkuji Mám Manta 5 ´CB1 a čekal jsem to snadnější :D
No it's using SSH, its a remote connection to the terminal. You could do it using command line, programs like puTTY, or even mobile apps like juiceSSH.
Looks like you are missing a shaper type something like mzv, ei, and so on. shaper_type: must have a type value and its best to use the one that was recommended after running the shaper calibration
It's the exact same procedure to shaper calibrate but with Y instead of X. If you have a core XY then you omit the X and Y and both tests are ran automatically.
@@StackingLayers the video was great and very well explained but this part and the direction of sensor xyz needs a bit more clear explanation I got a little confused. but overall great job!
@RayLenses yeah the axis mapping can be a dit confusing. The way it works is, the 3 places are the real axis, X,Y, and Z, and you enter the sensor position that is parallel to each real axis. So you look at the sensor when mounted and enter in what is inline with each axis. For example, if the image on the sensor had Y pointing to the left and that is parallel to the real X axis then the first entry will be -Y. Then you see X on the sensor is pointing down (aligned with Real Z) and the Z which is the dot in the middle and point out/away from the sensor (aligned with real Y) then the full axis map would be -Y, -Z, -Y They are negative because the arrow points in the negative real motion. Maybe I'll make a short to explain better visually.
I have bedslinger with manta m8p with cb1 and EBB can board ( which have accelerometer) i want to add accel for bed over the usb, i did everthing like in video but after i add #serial: usb-Klipper_rp2040 everything froze and i can se only host in system loads. PS also i have BIGTREETECH TFT35 SPI over spi. What im I doing wrong?
Any ideas why the device doesn't show up in the USB device list after the lsusb command? I press the boot button and do get a green light on the device.I am using the BTT ADXL345 V2
Chaek that the usb cable you have isn't a charge only cable. Some don't have the data wires inside. Also you have to hold the boot button before plugging in and don't let go until it is plugged in and on.
same issue here, the data cable is confirmed working@@StackingLayers EDIT: I was using a USB C to USB C. It needs to connect to the standard usb on the Pi
@facemonkeys there are ways to make it work for various data functions, but you'll need to edit the config.txt and perhaps other things depending on the function. You also might loose the ability to power it from usbC and have to use gpio powering which bypasses the power in protection fuse.
Followed every step- its identical- I tripple checked, saved and restarted printer cfg and I get -Klipper reports error Section 'input shaper' is not a valid configuration section. Help please😅
Excellent video! Its content like this that makes the printing community so strong and enjoyable. I did have an issue however. Running an ender 3 pro. After querying the accelerometer I got a Invalid lis2dw id (got ff vs 44) message. "Invalid lis2dw id (got ff vs 44). This is generally indicative of connection problems (e.g. faulty wiring) or a faulty lis2dw chip." Do you have any advice on how to remedy this? Thanks in advance.
Maybe try a different usb cable, but you shouldn't get that message with this kind of setup. It's all wired up on the board. It might mean that a component on the board is faulty.
I had the same problem. I had another accelerometer than in the video and therefore the mapping (the part where the pins are asigned in the config - cs_pin: btt_adxl345:gpio9 for example) was different. I searched for the mapping of my specific accelerometer and got it working this way.
i have the same issue every look ok but when i do ACCELEROMETER_QUERY i get this message Invalid lis2dw id (got ff vs 44). 12:23 PM Invalid lis2dw id (got ff vs 44). This is generally indicative of connection problems (e.g. faulty wiring) or a faulty lis2dw chip.
These are not made to connect to spi directly. The onboard sensor is spi but its controlled by an onboard MCU and the signal out to the system is usb serial.
Hi. Just got this device (the ADXL345 version) and I'm running through but can't flash. It says "Failed to flash to 2e8a:003: Unable to find tty device" (it does show as Boot under lsusb with that id) and make error is 255. Ideas?
I think 255 is a configuration error. Check the make menuconfig again. It should be like this, [*] Enable extra low-level configuration optionsMicro-controller Micro-controller Architecture (Raspberry Pi RP2040) Bootloader offset (No bootloader) Flash chip (W25Q080 with CLKDIV 2) Communication interface (USB)
Because I did it on a bed slinger machine so I have to move the sensor to the bed to do Y. On a coreXY you would use just SHAPER_CALIBRATE since X and Y are both on the print head motion.
You kept saying the V1 was the new version. Confusing I tried flashing and it delivered an error after flashing. So I connected it to the pc as a usb drive in boot mode and manually dropping the .uf2 file into the drive and it doesn’t stay. Bad part?
@krisrobitzsch the lis2dw V1 is the newest of the 2. The adxl V2 is the second version of the adxl from Bigtreetech. The options are ADXL V1, ADXL V2, and now S2DW (lis2dw) V1.
What do you mean, it doesn't stay when dropping the file manually? It so normal for it to auto reboot, which will drop the connection, when you drop the .uf2 file in the rp2040.
@@StackingLayers oh ok. Sorry and thank you for explaining that to me. It just doesnt work. I drop it in and it disconnects like normal but it doesn’t actually flash. I reopen it in boot mode and it’s still the original info.uf2. And in putty it says it flashes but but shows an error after the reboot line.
So- just the ONE input shaper test? Same one you did? I thought we were supposed to do it for all axis? And why do some people stick it to their bed on their bedslinger? All that work and problems and failures to finally succeed and run a 45 second test?!😂 anyways I GREATLY appreciate your help.
You do it for x and y . In a bed slinger system the bed is typically the y-axis. It will also impart oscillation into the model. That is why you input shape on both the X and Y, to cover both directions.
I've been struggling a lot trying to flash the BTT S2DW with a BTT Pi V1.2. The error happens during make flash FLASH_DEVICE=2e8a:0003. It just fails saying this: Loaded UF2 image with 119 pages Found rp2040 device on USB bus 7 address 3 Flashing... Resetting interface Locking Exiting XIP mode Erasing Flashing Rebooting device Command reboot failed with status 1: unknown command Failed to flash to 2e8a:0003: Error running rp2040_flash If the device is already in bootloader mode it can be flashed with the following command: make flash FLASH_DEVICE=2e8a:0003 Alternatively, one can flash rp2040 boards like the Pico by manually entering bootloader mode(hold bootsel button during powerup), mount the device as a usb drive, and copy klipper.uf2 to the device. make: *** [src/rp2040/Makefile:78: flash] Error 255 I've already disabled the TFT Screen in BoardEnv.txt and tried with different USB cables and ports. The error says that I can try the alternative method by mounting the device as a USB drive, but I don't know how to do that. Any advice will be appreciated.
The alternative way is to mount it. When it's in boot mode it shows up as a usb flash drive, so if you not it then you can just copy the klipper.uf2 file to that drive and it will automatically install. I'm curious though, have you tried to go to the next step to see if it's working? Sometimes it will throw that error but it was actually successful.
@ thanks for replying… what I did was plugging it in boot mode to my windows PC and it was recognized as a flash drive then drag and drop the uf2 file and it worked. And yes I tried to go to the next step but, although it appears that the flashing goes well before rebooting, when i typed lsusb the device ID was still the same and it didn’t change to OpenMoko as it was expected, so I knew that the flashing process did fail. Thanks for your help
I like it for the organization and appearance adjustment per instance. Also it keeps the history accessable for ease of use. I also use the serial connection a lot with it so it's just my go-to. But yeah you could do it all via CMD or PowerShell
The video starts part way through, already logged into terminal emulator with no explanation of how to get to that point. What about how to connect hardware or use ssh?
I have to admit you completely lost me with setting up the axis. I THINK I figured it out though but definitely not my language. lol I just need a simple picture that shows if you have it mounted like "this" and your axis moves like "this" then you enter "this".🤣 Edit: Hard NOPE...this thing ain't working. All was good up until the point where it is mounted to the hotend in which case klipper restarts and errors out and it no longer shows up with ls /dev/serial/by-id/* command but the mainboard does. I've recompiled the firmware and flashed in DFU mode and I can see it in the terminal again (have to use a pc running linux mint because the CB1 decided to self immolate its RAM chips). Klipper restarts properly until I mount this thing in which case it disappears again. For something that should be very simple this process has been made quite convoluted. One more try and if not working this thing is getting tossed in the harbour and I'll go without. Ok...weirdness here. EVERY time I physically mount the module onto the printhead it can't be found. I had to mount it first, then enter DFU and reflash, then restart the firmware and klipper and it works. NO idea why it would behave like this but it finally works. it's still going to learn to fly and then swim however.
Anyone getting this error when trying to compile the firmware? src/dirzctl.c: In function 'command_run_dirzctl': src/dirzctl.c:147:59: error: 'CONFIG_CLOCK_FREQ' undeclared (first use in this function) d->n_ticks = (uint32_t)(((double)args[2] / 1000000) * CONFIG_CLOCK_FREQ) / 2; src/dirzctl.c:147:59: note: each undeclared identifier is reported only once for each function it appears in make: *** [Makefile:64: out/src/dirzctl.o] Error 1
Make sure to update the klipper firmmware first to have the latest. Then make sure the firmware is set like this, ["] Enable extra low-level contiguration optronsiiicro-controller Micro-controller Architecture (Raspberry Pi RP2040) Bootloader offset (No bootloader) Flash chip (W25Q080 with CLKDIV 2) Communication interface (USB)
Man i'd seriously watch your video again even if it was 5 hours long. Everything worked, no mess, no bugs.... PERFECT, Really happy with your content.
Thanks for this video! Currently, this is the only video out there that shows how to setup this on the BTT-Pi. Theres not even anything in the documentation that talks about the specifics of the x,y, z so i dont know how you even found that out but glad you explained it so well!
Yeah there's like only one sentence about asxis making that I've seen in the klipper documents. I don't know how detrimental it is to the measurements but I like to try to make things as accurate as possible.
What an amazing tutorial, bro! I just started learning Klipper yesterday, and I have been running into so many issues with the whole process, but I did not run into a single problem for this part of my journey, thanks to you!
Glad to see it was helpful
@@StackingLayers I came back for 2nds. I adjusted my belts and everything so I had to calibrate again, but I needed a refresh on a couple of the commands and config settings.
You're always welcome to visit.
I'm not one that usually comments on videos but, you video was not only easy to follow but very well laid out. Going off on "tangents" during your explanation of the line codes only cements your passion for the craft and depth of knowledge. Thank you for the video, I'm sire it saved me hours of frustration and hair pulling.
Thank you for the kind words. It nice to see it was helpful.
Easily the best guide ive found that was detailed enough for me to understand why i was doing what i was doing. Beautifully done man
You really know what you are talking about and you have been super helpful with setting up klipper. I truly appricate you taking the time to film all of this. THANK YOU SO MUCH!!!!!!!
You're welcome! It's nice to know my videos have been helpful.
Good walk thru of the process to get it working. I am not longer hesitant to go thru the process. There was a few things I would have missed. Thanks!
I found your channel by happenstance through the mercy of the algorithm just the other day. Your content is incredibly Informative and detailed. Thank you for the quality videos.
Thanks! Aside for some chip-specific ff errors that I had to hunt down (non a btt board), this saved me a TON of aggravation 🙂
Awesome! I'm glad tonsee it was helpful. Thank you for the super!
hey i am also using a non btt board and getting the error (got ff vs e5) what did you do to solve this?
@winterattack8462 You may have to set different pins. What board is it?
@@StackingLayers it is the fly adxl345
@@StackingLayers sorry to disturb you but i looked up what pins to use and found that the gpio8 needed to be changed to a gpio12 thanks for the help it seems to be working now
Used your help for my btt adxl345 (12.03.2024) and it still works ! Thank you good sir !
Holy Moly what a fantastic job, I tried with many other videos and this was the first that worked.
CHEERS
Nice to see it got you going!
Thanks for making a video on this! My S2DW is on the way for a video, and as good as the document instructions were from bigtreetech, a video beats everything. Thanks!
*edit; everything worked perfectly, thanks again!
Great video mate explained it all well. I got mine working and all sorted now. I will be honest took me a while to get the axis calibration. Could not work out what you meant at first. Thanks again
I needed this 1 week ago! :D but finally deep dive into this topic, will be helpful for proper calibration. BIG thanks!
Thank you so much for the walkthrough! This is a such helpful video to get input shaper up and running.
The best tutorial I have seen so far! Great job!
Thank you very much for the detailed guide, I got so much conflicting information and the klipper documentation is simply to huge to get an overview and to devide important stuff from the unimportant for someone who does this the first time.
Thank you.... That is a lot to take in. I am going to be setting up an accelerometer in the next few days.
Thanks for this video! It was a huge help and made it really easy to add a S2DW to my Ender 5 Klipper build :)
A thousand thanks! I was looking for videos like this that would explain to laypeople how to proceed with input shaping. Excellent! But now I have 2 questions left: 1) how to read the graphs obtained and 2, more importantly, how to set the slicer (whether cura orca or prusa) to obtain the best and fastest prints...
Honestly I'm still trying to get concrete information on the graphs. The way I understand it that the solid line it the oscillation frequency of the machine and the others show what they can achieve to dampen the peak. Like tuning down bad sounds with an band equalizer. But I can be very wrong about that. I still need to do more research on it. As for slicer settings you can do various calibration tests. There are normally options in the menus that have tests to run. There's also this tuning guide that works wonders ellis3dp.com/Print-Tuning-Guide/articles/index_tuning.html
What an amazing explanation of everything!
When I get back to repairing one of our broken Klipper printers, I will definitely upgrade to the S2DW ✌
I really like it so far. It's super easy to use.
Great Video and it helped me solve my input shaper woes!
Well made and informative!
this tutorial is gods gift to Klipper ... thank you so much xD
Thank you for your kind words! I'm glad it was helpful.
@@StackingLayers litterly about to start my first benchy with inputshaping and im porbably going to be disapointed because my bed slinger wont be able to run 2200mm/s² xD wish me luck
@NamacilHDx you can do it! That's a reasonable value.
nice vid. the actual difference in the boards is how accurate they are. The S2DW resolution is 1.6-1600Hz... V2.0 with the ADXL345 has a higher resolution from 0.1-3200Hz. It also has dev pads on the underside for soldering wires to. Both do the same functions. But the ADXL is much faster and has a far better resolution and noise rating if you compare the data on a graph. even tho the specs are better for the S2DW in that aspect. The only thing the S2DW has over the ADXL is its bit rate sensitivity of 16bits vs. 10 bit of the ADXL. Other wise both are great sensors. I use them in Gyro cams and they work flawless.
Came at the perfect time!!! Thanks man
Your welcome 😁
Great video. The S2DW chipset tends to make noisier graphs compared to the ADXL chipset in my opinion.
This video was a lifesaver. Cheers!
at 5:12 when you begin config in the terminal, are you SSH connected to the device tha'ts running klipper on your machine (IE the raspberry pi connected to your 3D printer) or is the terminal session connected to the LIS2DW's RP2040 via USB serial cable? I started running make menuconfig commands in the terminal on my klipper host for my printer and then realized I may not be following correctly
It's the klipper host. The MCUs don't have an OS to ssh in to.
@StackingLayers thanks for the reply! I headed onward following the rest of the video and I was able to get the rp2040 detected as an MCU and also successfully queried it. You rock!
@taquitobandito right on! I'm glad you got it going.
You just solved my firmware issue when using a Pico MCU. Every tutorial says to use "linux process", instead I used the 2040 process (which makes sense since the pico uses a 2040) flashed it on my pc & wholla, accelerometer query success!
Sweet! I'm glad the video was helpful.
got me up and running quickly, thank you
Excellent!
This video helped a lot. Thanks !!
You're welcome!
Your video helped me get the lis2dw connected and setup on my btt pad7 but when i run accelerometer_query i get an error that states no measurement from accelerometer or something like that. Was wonder if i could get some help
Thanks for the video. Our printers run with old klipper so I'm hoping that the BTT ADXL345 will work!
Looks like the adxl345 was added in 0.9.0 back in 2020, but the rp2040 was added in 0.10.0 2021 so 0.10 or newer for this one.
I have a question: at the beginning when you compile the firmware, have you done on the raspi with klipper connected to the printer or is another raspi? I'm little confused...
It's the one you have connected to the printer.
@@StackingLayers Thank you
Finallyyyyy!!!
Lol! This one took me too long. I had to redo it twice because of glitching videos. 🤦
I said it with thanks, I looked for a tutorial on this particular module.
Sorry if I seemed disrespectful
No worries I took no disrespect from your comment. As a matter of fact I really did laugh out loud because that is the exact exclamation I made when I finally got it ready to post. 😂
I'm happy you were able to find it helpful.
Sadly I am stuck on step one, can someone explain how to get to BIQU@BTT-CB1? the black screen at 6:30? I am also running a BTT PI4B and CB1...
Download and install PuTTY www.putty.org/
When you open that program, there is a box to entre the host or IP address. Type in the hostname or IP address that the pi4b or cb1 have. It's the same you use to get to mainsail. Then enter the user name then password. For the Cb1 it'll be biqu for both user abd password. The pi is whatever was setup, I the default is
user name: pi
and pass: raspberry
Note that the password part looks like nothing is happening when you type. This is normal. Just type the password and hit enter.
Thanks for the video, I've got it installed, but my question is do I have to change my acceleration?
Its good to stay with what the lower accel between the X and Y. Typically X has a much higher accel but since they work in unison it's best to choose the lower. This will prevent too much smoothing round corners and whatnot. But of course you can always experiment and see how it goes with higher and recommended. I've seen plenty have good success.
Hi! I have a question, wouldn't axes_map: y,z,-x ?
I suggest positive z because in the case you are mounting the S2DW, z facing at you is positive and the y axis of the printer facing at you is positive too. What do you think? Am I right or have I misunderstood the axes_map positioning?😁
Btw thank you so much for the video, it is gold.💯
On bed slinger machines, the bed moves in the opposite direction of the axis coordinates. For example positive Y motion will move the bed twords the front because that makes the nozzle position be further back. All motion is based on nozzle position. So with the Z axis on the sensor pointing towards the front of the machine would make that a -Z, to correspond to the +y direction.
If the big hole is for the nozzle, what's the big bolt for? Wont removing all of this when done, throw the calculations off?
You do not print with it on the hotend. The bolt is for temporary installation. The input shaper will not change much if at all when removing the board
This was awesome, thank you! I'm stuck at the point where we restart and the MCU is visible in Mainsail. I've followed and reviewed the instructions and everything worked up till that point. The IDs match in the cfg file, the pi sees the unit from command line so it's flashed, working, and running. It won't show up on Mainsail and the accelerometer_query doesn't work. What could go wrong that would cause that?
I had to have the printer on to see the S2DW's MCU in "System Loads" Thank you again for making this so simple!
DUDE! You are fucking amazing! Thank you so much for this this information. Nothing could've made this video any easier to follow.
Awesome!! I'm so glad it was helpful 😊
I've seen a few tutorials on the ADXL345 hooked up to a Raspberry Pi, and I saw your tutorial on the BTT modules. I was wondering: Is there a way to hook up a cheap ADXL345 module directly to the SPI of a BTT mainboard, such as the SKR1.4 or similar? Also, are there any advantages or disadvantages to using the main printer MCU instead of an extra module that would take up an additional USB slot on my Pi? Thank you!
Yes you should be able to the spi on the MCU. The only advantage the usb version has is ease of setup. These aren't really ment to be permanently attached so the usb is only occupied when running shaper calibrate, and similar tests. Once you have things tuned you can disconnect it.
this was working, nothing has changed but now getting this
Invalid adxl345 id (got ff vs e5).
This is generally indicative of connection problems
(e.g. faulty wiring) or a faulty adxl345 chip.
Was it working before? Maybe try a different usb cable
Question.....working with a Pi4, SKR Pico, and those are connected via UART. Is it possible to connect the Pi to the SKR Pico via UART and connect the S2DW via usb? I'm just a newb trying to get these running. Great video.....but I'm stuck after flashing the sensor, it never reconnects via USB. I can see it when it's in bootloader mode, just not post flash. Any recommendations would be greatly appreciated.
Yes it should still work.
how do you change the background colour? is it different than normal klipper?
Are you referring to the blue I have?
yea 40:59@@StackingLayers
You can set up themes in mainsail, but this one is the theme that BIQU made for the Hurakan printer. Here's the details for making your own edits, there are also some premade themes that you can just load up. docs.mainsail.xyz/overview/features/themes
thank you very much it looks alot better now, my adxl comes in a few weeks im exited :)@@StackingLayers
I have a Manta e3ez board and cb1 on the the way for my Ender 3 v2 that’s basically been beefed up top to bottom, will be adding this after I get up and running with klipper, how would suggest mounting the sensor to the bed for the calibration?
Just print out some sort of block, or clamp that you can screw the sensor onto. It only needs to be strong enough to stay in place for the test. It doesn't need to be a permanent fixture. I use this, cults3d.com/en/3d-model/tool/tiny-c-clamp
I just did a simple 8mm tall block that has the two 2.5mm diameter mounting holes 15.5mm apart. I also added a 2mm tall 5.9mm dia extrusion to go into the nozzle hole to make sure it stays extra sturdy. Printed with a 10mm brim. As soon as the print is done I just set the bed to stay at the same temp until the resonance testing is done.
Hi sir, is it possible run the input shaper simultaneously for both the bed and printhead with two adxl345 and a Rpi pico?
I've never tried, but I don't think you can run 2 sensors at once. It would require two different commands and Klipper would wait to finish the first one before starting the next one. Even when running the command to do both XY for a core XY system it will still do only one axis at a time
@@StackingLayers I see. Thankyou so much.
I followed your steps to set up klipper with the btt pi and skr mini e3 v3, so I already have a firmware generated and installed in my printer, do I have to create a new one? And how do I connect the btt pi with these accelerometers? I have seen videos where they use others that do not usb c, so I am lost in many things haha
This video shows how to connect the USB versions. The other non-usb versions need to have SPI set up in the armbianENV.txt, by uncommenting overlays=spidev1_2. You'll also need to setup the Linux process on the pi and define things in firmware. I haven't made a video for that method because I'm not a fan of doing it that way. These usb versions are easier in my opinion.
@@StackingLayers ohhh perfect, I will buy this version then, but a last question, do I need to recompile my firmware for one of these or is just to change the printer.cfg file and nothing else? I look for the easiest way hehe
@SebastianRamirezH it depends on what firmware is installed but there has been many updates with clipper so it's best to follow the video and update to the latest. You can of course try without updating first to see if it works.
having bed slinger i only need to calibrate x axis? or should i mount it to bed too and calibrate y axis?
Mount it to the bed too. Then run the shaper calibrate with y instead of x. You don't have to set up another instance like it shows in the docs, since you are using the same sensor.
I mean, will there be any bigger difference in print quality if I do it only for x-axis instead of x and y-axis. btw great video, all worked smooth and with no errors!
@hatray4540 you just will not get any resonance correction on Y, so there can still be ghosting from that axis.
Hi Im trying to do this for my ender 3 pro can i use the S2DW or do i need to get the ADXL345?
Both work as long as you have a newer klipper version. 0.11 and older doesn't support the lis2dw
Hi I've followed your tutorial, but I've put the sensor on my hotend s1 pro .how should I edit the axes map on lis2dw cfg
You need to look at the sensor and see which wat the XYZ marks are pointing. The Z is the center and pointing away from the board. You then see how those relate to the actual axis. For example if you see the Y is pointing to the left and it's in the direction that X axis moves on the machine that would make the first map -y. Then you see the X pointing up and it's in line with the z motion, and the z mark is pointing out to the front of the machine that would make the axis map -Y, -Z, X
who else got lost when XYZ?
Minute?
I get lost with right and left so xyz is just another dimensions for me
Yup😂 everything else was cake. If you couldve actually SEEN what he was doing instead of a puTTY screen it wouldve been fine. Instead- like every single other DIY tutorial for klipper- they failed and left a big ? At an important step😅
Hey uhm what do you need to put in the axes_map if the sensor is positioned like in a 210° to X or any other angle because else its not possible to mount?
It should be mounted so the the axis are coaxial.
@@StackingLayers ok thanks
Great help thanks. Where is the bonus script link? I see no link to any Github pages
The video link at the bottom will take you to the demo video and it's in there.
Can you do a video on Klipper Shake&Tune Module?
I get to the point where I hook up via USB C - USB A into BTT pi and the ADX doesnt show up in list. I have clicked the boot button. Does it need to be connected to the pi directly or to the motherboard of printer (i assume Pi which is what i have done). I really hope this doesn't require soldering to spi directly so any help is appreciated.
You have to hold in the boot button while plugging it into the pi. Don't let go of the boot button until the led comes on. If you are doing that, maybe try a different USB cable some are not made for data transmission. No soldering or spi wiring is needed.
@@StackingLayers Thanks for reply, i was doing so but I will try a different cable!
do we need to calibrate for y axis on the bedaswell ??
Yes. For bed slingers you need to securely attach the sensor to the bed and run SHAPER_CALIBRATE AXIS=Y
Should the axis Mapping not be y,z,-x?
Why -z?
The way I had it mounted, the +Z direction of the sensor was pointing in the -Y direction of the toolhead. So for a + Y movement with be - Z reading.
Seems to be mostly good in my case, but still can´t manage to perform the first query, tells me "Invalid adxl345 id (got 0 vs e5)". Probably defective unit I guess, thank Aliexpress for that... in any case, a further well done tutorial, thank you!
Edit: in case someone is reading this having this issue: do, as I, take a deep breath, reconsider your life choices and mental state and use the PROPER CONFIG FOR THE DEVICE... no wonder it wasn't working, I ordered the wrong unit and took the configs for the "other" one. Now it works... fml...
Video je skvělé, jenže pro V 2.0 nefunguje, hlásí chybu na MCU, je potřeba instalovat nový klipper, to co jste přeskočil. Můžete poradit jak nahrát novou verzi jaký povel se musí zadat, nebo kde hledat radu . Děkuji Mám Manta 5 ´CB1 a čekal jsem to snadnější :D
When you are in the terminal is that in Linux? Do I need to have a mouse and keyboard connected to a btt pi?
No it's using SSH, its a remote connection to the terminal. You could do it using command line, programs like puTTY, or even mobile apps like juiceSSH.
@@StackingLayers thank you!
i followed this to a t but now i get unsupported shaper type 0. Any help would be greatly appreciated
Looks like you are missing a shaper type something like mzv, ei, and so on. shaper_type: must have a type value and its best to use the one that was recommended after running the shaper calibration
what about the bed dont need to calibrate I think the video is incomplete?
It's the exact same procedure to shaper calibrate but with Y instead of X. If you have a core XY then you omit the X and Y and both tests are ran automatically.
@@StackingLayers so if i do y it will rewrite the previous x or it will keep the both values?
SHAPER_CALIBRATE AXIS=Y for Y and SHAPER_CALIBRATE AXIS=X for X it's 2 separate tests and does overwrite each other.
@@StackingLayers the video was great and very well explained but this part and the direction of sensor xyz needs a bit more clear explanation I got a little confused. but overall great job!
@RayLenses yeah the axis mapping can be a dit confusing. The way it works is, the 3 places are the real axis, X,Y, and Z, and you enter the sensor position that is parallel to each real axis. So you look at the sensor when mounted and enter in what is inline with each axis. For example, if the image on the sensor had Y pointing to the left and that is parallel to the real X axis then the first entry will be -Y. Then you see X on the sensor is pointing down (aligned with Real Z) and the Z which is the dot in the middle and point out/away from the sensor (aligned with real Y) then the full axis map would be -Y, -Z, -Y They are negative because the arrow points in the negative real motion.
Maybe I'll make a short to explain better visually.
thank you!
I have bedslinger with manta m8p with cb1 and EBB can board ( which have accelerometer) i want to add accel for bed over the usb, i did everthing like in video but after i add #serial: usb-Klipper_rp2040 everything froze and i can se only host in system loads. PS also i have BIGTREETECH TFT35 SPI over spi. What im I doing wrong?
Any ideas why the device doesn't show up in the USB device list after the lsusb command? I press the boot button and do get a green light on the device.I am using the BTT ADXL345 V2
Chaek that the usb cable you have isn't a charge only cable. Some don't have the data wires inside. Also you have to hold the boot button before plugging in and don't let go until it is plugged in and on.
same issue here, the data cable is confirmed working@@StackingLayers
EDIT: I was using a USB C to USB C. It needs to connect to the standard usb on the Pi
@facemonkeys correct you need to use the usbA ports.
@@StackingLayers this is because the usbc port is only for power input and spi, right? Or am I mistaken?
@facemonkeys there are ways to make it work for various data functions, but you'll need to edit the config.txt and perhaps other things depending on the function. You also might loose the ability to power it from usbC and have to use gpio powering which bypasses the power in protection fuse.
Followed every step- its identical- I tripple checked, saved and restarted printer cfg and I get -Klipper reports error
Section 'input shaper' is not a valid configuration section. Help please😅
I SOLVED IT- there needs to be an UNDERSCORE- between "input_shaper" I apparently missed that
Excellent video! Its content like this that makes the printing community so strong and enjoyable. I did have an issue however. Running an ender 3 pro. After querying the accelerometer I got a Invalid lis2dw id (got ff vs 44) message. "Invalid lis2dw id (got ff vs 44).
This is generally indicative of connection problems
(e.g. faulty wiring) or a faulty lis2dw chip." Do you have any advice on how to remedy this? Thanks in advance.
Maybe try a different usb cable, but you shouldn't get that message with this kind of setup. It's all wired up on the board. It might mean that a component on the board is faulty.
I had the same problem. I had another accelerometer than in the video and therefore the mapping (the part where the pins are asigned in the config - cs_pin: btt_adxl345:gpio9 for example) was different. I searched for the mapping of my specific accelerometer and got it working this way.
I am having this same issue, were you able to resolve it?
i have the same issue every look ok but when i do
ACCELEROMETER_QUERY
i get this message
Invalid lis2dw id (got ff vs 44).
12:23 PM
Invalid lis2dw id (got ff vs 44).
This is generally indicative of connection problems
(e.g. faulty wiring) or a faulty lis2dw chip.
I'm hoping your knowledgeable doing this using SPI devices. Any luck?
These are not made to connect to spi directly. The onboard sensor is spi but its controlled by an onboard MCU and the signal out to the system is usb serial.
thank you so much
Hi. Just got this device (the ADXL345 version) and I'm running through but can't flash. It says "Failed to flash to 2e8a:003: Unable to find tty device" (it does show as Boot under lsusb with that id) and make error is 255. Ideas?
I think 255 is a configuration error. Check the make menuconfig again. It should be like this,
[*] Enable extra low-level configuration optionsMicro-controller
Micro-controller Architecture (Raspberry Pi RP2040)
Bootloader offset (No bootloader)
Flash chip (W25Q080 with CLKDIV 2)
Communication interface (USB)
Thanks@@StackingLayers I double checked and it matches. Did a make clean and make again jus tin case, same error :(
Also tried to reconnect device.
I figured it out! Alternate flash method. Find the drive with fdisk -l and mount it, then just copy the uf2 file to the root of the RP2 drive.
@@WesleyKrasko its interesting that you had to go that route. Good to see that you got it going though.
Why did you only do the X axis and not the whole SHAPER_CALIBRATE?
Because I did it on a bed slinger machine so I have to move the sensor to the bed to do Y. On a coreXY you would use just SHAPER_CALIBRATE since X and Y are both on the print head motion.
The V1 is newer the V2??
Yes. What's your point?
You kept saying the V1 was the new version. Confusing
I tried flashing and it delivered an error after flashing. So I connected it to the pc as a usb drive in boot mode and manually dropping the .uf2 file into the drive and it doesn’t stay. Bad part?
@krisrobitzsch the lis2dw V1 is the newest of the 2. The adxl V2 is the second version of the adxl from Bigtreetech. The options are ADXL V1, ADXL V2, and now S2DW (lis2dw) V1.
What do you mean, it doesn't stay when dropping the file manually? It so normal for it to auto reboot, which will drop the connection, when you drop the .uf2 file in the rp2040.
@@StackingLayers oh ok. Sorry and thank you for explaining that to me.
It just doesnt work. I drop it in and it disconnects like normal but it doesn’t actually flash. I reopen it in boot mode and it’s still the original info.uf2.
And in putty it says it flashes but but shows an error after the reboot line.
So- just the ONE input shaper test? Same one you did? I thought we were supposed to do it for all axis? And why do some people stick it to their bed on their bedslinger? All that work and problems and failures to finally succeed and run a 45 second test?!😂 anyways I GREATLY appreciate your help.
You do it for x and y . In a bed slinger system the bed is typically the y-axis. It will also impart oscillation into the model. That is why you input shape on both the X and Y, to cover both directions.
I've been struggling a lot trying to flash the BTT S2DW with a BTT Pi V1.2. The error happens during make flash FLASH_DEVICE=2e8a:0003. It just fails saying this:
Loaded UF2 image with 119 pages
Found rp2040 device on USB bus 7 address 3
Flashing...
Resetting interface
Locking
Exiting XIP mode
Erasing
Flashing
Rebooting device
Command reboot failed with status 1: unknown command
Failed to flash to 2e8a:0003: Error running rp2040_flash
If the device is already in bootloader mode it can be flashed with the
following command:
make flash FLASH_DEVICE=2e8a:0003
Alternatively, one can flash rp2040 boards like the Pico by manually
entering bootloader mode(hold bootsel button during powerup), mount the
device as a usb drive, and copy klipper.uf2 to the device.
make: *** [src/rp2040/Makefile:78: flash] Error 255
I've already disabled the TFT Screen in BoardEnv.txt and tried with different USB cables and ports. The error says that I can try the alternative method by mounting the device as a USB drive, but I don't know how to do that. Any advice will be appreciated.
The alternative way is to mount it. When it's in boot mode it shows up as a usb flash drive, so if you not it then you can just copy the klipper.uf2 file to that drive and it will automatically install.
I'm curious though, have you tried to go to the next step to see if it's working? Sometimes it will throw that error but it was actually successful.
@ thanks for replying… what I did was plugging it in boot mode to my windows PC and it was recognized as a flash drive then drag and drop the uf2 file and it worked.
And yes I tried to go to the next step but, although it appears that the flashing goes well before rebooting, when i typed lsusb the device ID was still the same and it didn’t change to OpenMoko as it was expected, so I knew that the flashing process did fail.
Thanks for your help
Why is everyone using putty when windows terminal/powershell has all it needs?
I like it for the organization and appearance adjustment per instance. Also it keeps the history accessable for ease of use. I also use the serial connection a lot with it so it's just my go-to. But yeah you could do it all via CMD or PowerShell
The video starts part way through, already logged into terminal emulator with no explanation of how to get to that point. What about how to connect hardware or use ssh?
I cant for the life of me, make a uf2 file. it always compiles as .bin file
Are you selecting the RP2040? What version of klipper do you have installed?
@@StackingLayers I am! As to the version, I have the latest update of klipper
Is the make flash command not working?
@@StackingLayers it is! But when I flash it it just says "uf2 files flashed = 0"
And it doesn't work after the flash I assume. Are you doing make clean first to make sure it's starting with an empty directory?
I have to admit you completely lost me with setting up the axis. I THINK I figured it out though but definitely not my language. lol I just need a simple picture that shows if you have it mounted like "this" and your axis moves like "this" then you enter "this".🤣
Edit: Hard NOPE...this thing ain't working. All was good up until the point where it is mounted to the hotend in which case klipper restarts and errors out and it no longer shows up with ls /dev/serial/by-id/* command but the mainboard does. I've recompiled the firmware and flashed in DFU mode and I can see it in the terminal again (have to use a pc running linux mint because the CB1 decided to self immolate its RAM chips). Klipper restarts properly until I mount this thing in which case it disappears again. For something that should be very simple this process has been made quite convoluted. One more try and if not working this thing is getting tossed in the harbour and I'll go without.
Ok...weirdness here. EVERY time I physically mount the module onto the printhead it can't be found. I had to mount it first, then enter DFU and reflash, then restart the firmware and klipper and it works. NO idea why it would behave like this but it finally works. it's still going to learn to fly and then swim however.
another way to flash is simply to copy out/klipper.uf2 to the RP2040 boot drive (something like /dev/sda1)
Very true. One could also scp it to their PC and and copy it to the RP2040 boot that way too.
Anyone getting this error when trying to compile the firmware?
src/dirzctl.c: In function 'command_run_dirzctl':
src/dirzctl.c:147:59: error: 'CONFIG_CLOCK_FREQ' undeclared (first use in this function)
d->n_ticks = (uint32_t)(((double)args[2] / 1000000) * CONFIG_CLOCK_FREQ) / 2;
src/dirzctl.c:147:59: note: each undeclared identifier is reported only once for each function it appears in
make: *** [Makefile:64: out/src/dirzctl.o] Error 1
Make sure to update the klipper firmmware first to have the latest. Then make sure the firmware is set like this,
["] Enable extra low-level contiguration optronsiiicro-controller
Micro-controller Architecture (Raspberry Pi RP2040)
Bootloader offset (No bootloader)
Flash chip (W25Q080 with CLKDIV 2)
Communication interface (USB)