SOLVED Missing Steps - Cant Print SpreadCycle StealthChop tuning help
fulg last edited by fulg
This time there was one interesting variation, instead of a "thump" one of the two motors decided to stop working altogether, so I was suddenly printing diagonally. Then the console in DWC was flooded with "short to ground" errors:
Interestingly this was a different motor than the one that is always skipping (in my build drivers 5 and 6 are the A and B of CoreXY). Perhaps I could move A and B to another set of drivers.
I grabbed an
M122dump when this happened in case it's useful:
=== Diagnostics === RepRapFirmware for Duet 3 Mini 5+ version 3.3beta2 running on Duet 3 Mini5plus Ethernet (standalone mode) Board ID: NY57W-W096U-D65J0-40KMU-NP03Z-ZKK2Z Used output buffers: 3 of 40 (14 max) === RTOS === Static ram: 99720 Dynamic ram: 108484 of which 176 recycled Never used RAM 32468, free system stack 119 words Tasks: NETWORK(ready,207) ETHERNET(notifyWait,550) HEAT(delaying,293) CanReceiv(notifyWait,943) CanSender(notifyWait,358) CanClock(delaying,340) TMC(notifyWait,100) MAIN(running,314) IDLE(ready,20) AIN(delaying,260) Owned mutexes: === Platform === Last reset 01:37:52 ago, cause: software Last software reset at 2021-04-07 16:20, reason: User, GCodes spinning, available RAM 35540, slot 0 Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00000000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a Error status: 0x00 Aux0 errors 0,0,0 Aux1 errors 0,0,0 Supply voltage: min 0.0, current 23.9, max 24.2, under voltage events: 0, over voltage events: 0, power good: yes Heap OK, handles allocated/used 99/2, heap memory allocated/used/recyclable 2048/82/0, gc cycles 0 Driver 0: position 99200, standstill, SG min/max 0/72, read errors 0, write errors 1, ifcnt 40, reads 15989, writes 18, timeouts 274, DMA errors 0, failedOp 0x41 Driver 1: position 0, standstill, SG min/max 0/100, read errors 0, write errors 1, ifcnt 41, reads 16253, writes 19, timeouts 9, DMA errors 0, failedOp 0x71 Driver 2: position 5114, standstill, SG min/max 0/50, read errors 0, write errors 1, ifcnt 41, reads 15966, writes 19, timeouts 296, DMA errors 0, failedOp 0x71 Driver 3: position 0, standstill, SG min/max 0/60, read errors 0, write errors 1, ifcnt 41, reads 16198, writes 19, timeouts 64, DMA errors 0, failedOp 0x6f Driver 4: position 0, standstill, SG min/max 0/48, read errors 0, write errors 1, ifcnt 35, reads 16267, writes 13, timeouts 1, DMA errors 0, failedOp 0x06 Driver 5: position 0, standstill, SG min/max 0/510, read errors 0, write errors 1, ifcnt 43, reads 16203, writes 19, timeouts 59, DMA errors 0, failedOp 0x6a Driver 6: position 0, short-to-ground, standstill, SG min/max 0/510, read errors 0, write errors 1, ifcnt 42, reads 16258, writes 19, timeouts 4, DMA errors 0, failedOp 0x01 Date/time: 2021-04-07 17:58:10 Cache data hit count 4294967295 Slowest loop: 125.41ms; fastest: 0.08ms === Storage === Free file entries: 9 SD card 0 detected, interface speed: 22.5MBytes/sec SD card longest read time 100.7ms, write time 30.0ms, max retries 0 === Move === DMs created 83, maxWait 4423638ms, bed compensation in use: mesh, comp offset 0.000 === MainDDARing === Scheduled moves 25385, completed moves 25385, hiccups 0, stepErrors 0, LaErrors 0, Underruns [3, 1369, 0], CDDA state -1 === AuxDDARing === Scheduled moves 0, completed moves 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === Heat === Bed heaters = 0 -1, chamberHeaters = -1 -1 Heater 0 is on, I-accum = 0.3 Heater 1 is on, I-accum = 0.4 === GCodes === Segments left: 0 Movement lock held by null HTTP is idle in state(s) 0 Telnet is idle in state(s) 0 File is doing "G1 X136.015 Y157.355 E0.04029" in state(s) 0 USB is idle in state(s) 0 Aux is idle in state(s) 0 Trigger is idle in state(s) 0 Queue is idle in state(s) 0 LCD is idle in state(s) 0 SBC is idle in state(s) 0 Daemon is idle in state(s) 0 Aux2 is idle in state(s) 0 Autopause is idle in state(s) 0 Code queue is empty. === CAN === Messages queued 52892, send timeouts 52889, received 0, lost 0, longest wait 0ms for reply type 0, peak Tx sync delay 0, free buffers 17 (min 17) Last cancelled message type 30 dest 127 === Network === Slowest loop: 179.42ms; fastest: 0.03ms Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0), 0 sessions HTTP sessions: 1 of 8 - Ethernet - State: active Error counts: 0 0 0 0 0 Socket states: 5 2 2 2 2 2 0 0
When I restarted the Mini5+ (via Emergency Stop in DWC) the errors stopped and I restarted the print again, this time the usual skipping happened during the very first travel move of the print so I did not have to wait long.
I have yet to find a particular mode that works. My board is being exchanged via warranty due to an unrelated issue (SD card problems) so I guess we'll see if switching to another board helps; I doubt it will but it's one more data point.
Standalone config, sbc config is above.
; General preferences G90 ; Send absolute coordinates... M83 ; ...but relative extruder moves ; Network M550 P"Duet Caribou 420" ; Set machine name M552 S1 ; Enable network ;*** Access point is configured manually via M587 ;M586 P0 S1 ; Enable HTTP ;M586 P1 S0 ; Disable FTP ;M586 P2 S0 ; Disable Telnet M575 P1 S1 B57600 ; Panel Due ; Drive Mappings M569 P0.0 S0 V0 ; Drive 0: X Axis M569 P0.1 S0 V0 ; Drive 1: Y Axis M569 P0.2 S0 V0 ; Drive 2: Z Axis M569 P0.3 S0 V0 ; Drive 3: E Axis M569 P0.4 S0 V0 ; Drive 4: E1 used for Z1 ; Motor remapping for dual Z and axis Limits M584 X0 Y1 Z2:4 E3 ; two Z motors connected to driver outputs Z and E1 M671 X-37:287 Y0:0 S4 ; leadscrews at left (connected to Z) and right (connected to E1) of X axis ; Micrpstepping and Speed M350 X32 Y32 E16 Z16 I1 ; Configure microstepping with interpolation M92 X200.00 Y200.00 Z400.00 E830.00 ; Set steps per mm ; Speeds, Acceleration and Jerk M566 X240.00 Y240.00 Z25.00 E600.00 P1 ; Set maximum instantaneous speed changes (mm/min) M203 X7500.00 Y7500.00 Z720.00 E1200.00 ; Set maximum speeds (mm/min) M201 X1500.00 Y1500.00 Z1200.00 E4000.00 ; Set accelerations (mm/s^2) ; Motor currents M906 X700.00 Y700.00 Z700.00 E700.00 I20 ; Set motor currents (mA) and motor idle factor in percent X,Y,Z=1000/1.414 E=1400/1.414 M84 S30 ; Set idle timeout ; Printer geometry M208 X0:250 Y-4:215 Z-0.5:410 ; Axis Limits M564 H0 ; allow unhomed movement ; Endstops for each Axis M574 X1 S3 ; Set endstops controlled by motor load detection M574 Y1 S3 ; Set endstops controlled by motor load detection ; Stallgaurd Sensitivy M915 X S-2 F0 H200 R0 ; Set X axis Sensitivity M915 Y S-1 F0 H200 R0 ; Set y axis Sensitivity ; Input Shaper ;M593 F58.5 P4 S0.2 ; Input Shaping 3.3/3.4 ;M593 F54.26 ; Z-Probe Super PINDA M574 Z1 S2 ; Set endstops controlled by probe M558 P5 C"^io3.in" I1 H1 F500 T4800 A30 S0.004 ; Mesh Grid M557 X24:221 Y10:195 P8 ; Define mesh grid for probing ; Sheets ;G31 P1000 X23 Y5 Z1.730 ; Satin Sheet G31 P1000 X23 Y5 Z1.91 ; Textured Sheet ;G31 P1000 X23 Y5 Z1.445 ; PEI Sheet ;G31 P1000 X23 Y5 Z1.445 ; PEI Sheet 0.6 nozzle -10 offset ; Heatbed Heaters and Thermistor Bed M308 S0 P"temp0" Y"thermistor" T100000 B4725 C7.060000e-8 ; Set thermistor + ADC parameters for heater 0 Bed M950 H0 C"out0" T0 Q10 ; Creates Bed Heater Qnn PWM frequency in Hz. Valid range: 0-65535, default: 500. (optional) 10hz stopped clicking M307 H0 R0.273 C345.3 D10.89 S1.00 V23.8 ; PID 3.2 M140 H0 ; Bed uses Heater 0 M143 H0 S120 ; Set temperature limit for heater 0 to 120C Bed ; HotEnd Heaters and Thermistor HotEnd M308 S1 P"temp1" Y"thermistor" T500000 B4725 C1.19622e-7 ; define E0 temperature sensor e3d M950 H1 C"out1" T1 ; Create HotEnd Heater M307 H1 R2.383 C178.5:130.6 D5.32 S1.00 V23.9 ; PID M143 H1 S285 ; Set temperature limit for heater 1 to 285C HotEnd M302 S185 R185 ; Fans M950 F1 C"out5" Q250 ; Creates HOTEND Fan M106 P1 T45 S235 H1 ; HOTEND Fan Settings M950 F0 C"out6" Q100 ; Creates PARTS COOLING FAN M106 P0 H-1 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned off PARTS COOLING FAN ; Tools M563 P0 D0 H1 F0 ; Define tool 0 G10 P0 X0 Y0 Z0 ; Set tool 0 axis offsets G10 P0 R0 S0 ; Set initial tool 0 active and standby temperatures to 0C ; StealthCop calibration M17 G4 P150 G1 X1 Y1 Z1 G4 S2 M84 ; disable motors ; Filament Sensor Logic M98 P"0:/macros/02_Functions/StartupFilamentSensorCheck" ; Runout Sensor Logic: Startup with filament = runout sensor active Startup without filament = autoload active
@droftarts Here is my config.g.
; Configuration file for Duet3 Mini5+ with Mini2+ expansion (firmware version 3.2.2 or newer) ; executed by the firmware on start-up ; General preferences M111 S0 ; Debugging off G21 ; Work in millimetres G90 ; Send absolute coordinates... M83 ; ...but relative extruder moves M669 K1 ; Select CoreXY mode M564 S1 H1 ; Forbid axis movements when not homed M918 P2 R6 C30 E-4 F200000 ; Fysetc 12864 display ; Network M550 PVoron V2.015 ; Set machine name M552 S1 ; Enable network M586 P0 S1 ; Enable HTTP (for DWC) M586 P1 S1 ; Enable FTP (for remote backups) M586 P2 S0 ; Disable Telnet ; --- Z Drive map --- ; _______ ; | 1 | 2 | ; | ----- | ; | 0 | 3 | ; ------- ; front ; ; (looking at the printer from the top) ; Drive directions M569 P0 S1 ; Z0 M569 P1 S0 ; Z1 M569 P2 S1 ; Z2 M569 P3 S0 ; Z3 M569 P4 S0 ; Extruder M569 P5 S1 ; A M569 P6 S0 ; B TODO I wired one of them backwards of course :( ; Motor mapping and steps per mm M584 X5 Y6 Z0:1:2:3 E4 M350 X16 Y16 Z16 E16 I1 ; Use 1/16 microstepping with interpolation everywhere ;M92 X80 Y80 Z400 ; Set XYZ steps per mm (1.8deg motors) M92 X160 Y160 Z800 ; Set XYZ steps per mm (0.9deg motors) M92 E406 ; Set Extruder steps per mm ; Drive currents M906 X1500 Y1500 Z1200 E600 ; XYZ and E current M906 I30 ; Idle current percentage M84 S120 ; Idle timeout ; Accelerations and speed M98 P"/macros/print_scripts/speed_printing.g" ; Axis travel limits M208 X-9 Y0 Z0 S1 ; Set axis minima M208 X312 Y325 Z275 S0 ; Set axis maxima ; Endstops M574 X2 S1 P"^!io1.in" ; Xmax endstop on hall effect board M574 Y2 S1 P"^!io2.in" ; Ymax endstop on hall effect board M574 Z0 P"nil" ; No Z endstop ; Z probes M558 K0 P8 C"^io6.in" T18000 F120 H5 A5 S0.01 R0.2 G31 K0 P500 X0 Y25 Z2.0 ; Don't really care about inductive probe Z offset M558 K1 P8 C"^io5.in" T18000 F60 H2 A10 S0.005 R0.2 G31 K1 P500 X0 Y0 Z-0.07 ; Z switch offset (if positive, greater value = lower nozzle. if negative, more negative = higher nozzle) ; Bed leveling M671 X-65:-65:365:365 Y0:395:395:0 S20 ; Define Z belts locations (Front_Left, Back_Left, Back_Right, Front_Right) M557 X25:275 Y25:275 S25 ; Define bed mesh grid (inductive probe, positions include the Y offset!) ; Bed heater (dual thermistor setup) M308 S0 P"temp0" Y"thermistor" T100000 B3950 A"Bed Heater" ; configure sensor 0 as thermistor on pin temp0 (heater sensor) M308 S2 P"temp1" Y"thermistor" T100000 B3950 A"Bed Plate" ; configure sensor 2 as thermistor on pin temp1 (mic6 sensor) M950 H0 C"out0" T2 Q10 ; create bed heater output on out0 and map it to sensor 2 (mic6 sensor). Set PWM frequency to 10Hz M140 P0 H0 ; Mark heater H0 as bed heater (for DWC) M143 H0 P1 T0 A2 S115 C0 ; Regulate (A2) bed heater (H0) to have pad sensor (T0) below 115°C. Use Heater monitor 1 for it M143 H0 P2 T0 A1 S125 C0 ; Shut off (A1) bed heater (H0) if pad sensor (T0) exceeds 125°C. Use Heater monitor 2 for it M143 H0 S110 ; Set bed heater max temperature to 110°C, use implict monitor 0 which is implicitly configured for heater fault M307 H0 B0 S0.6 ; disable bang-bang mode and set PWM to 60% to avoid warping ; Hotend heater M308 S1 A"Hotend" P"temp2" Y"pt1000" ; Hotend is 2-wire PT1000 on pin temp2 M950 H1 C"out1" T1 ; Hotend heater is connected to out1 M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit M143 H1 S350 ; Set temperature limit for heater 1 to 350C ; MCU sensors ;M308 S3 Y"mcu-temp" A"MCU" ;M308 S4 Y"drivers" A"Duet Drivers" ;M308 S5 Y"drivers-duex" A"Duex Drivers" ; Todo: Chamber temperature sensor via io port (needs RRF3.3b1+) ;M308 S10 P"io4.out+io4.in" Y"dht21" A"Chamber Temp[C]" ; Set DHT21 for chamber temp ; Fans M950 F0 C"out3" Q250 ; Create fan 0 (hotend) on pin out3 and set its frequency M106 P0 S1 H1 T50 C"Hotend" ; Configure fan 0: Thermostatic control is turned on, based on sensor #1 M950 F1 C"out4" Q250 ; Create fan 1 (cooling) on pin out4 and set its frequency M106 P1 S0 H-1 C"Cooling" ; Configure fan 1: Thermostatic control is turned off M950 F2 C"out5" Q30 ; Create fan 2 (electronics bay) on pin out5 and set its frequency ;M106 P2 S0.25 H1 T50 C"Bay" ; Run the fans at 25% if the hotend is over 50C M106 P2 S0 H-1 C"Bay" ; (temporary manual setup) M950 F3 C"out6" Q30 ; Create fan 3 (chamber) on pin out6 and set its frequency M106 P3 S1 H2 T50 C"Chamber" ; Configure fan 3: Thermostatic control is turned on, based on sensor #2 (mic6 temp) ;M106 P3 S0 H-1 C"Chamber" ; (temporary manual setup) ; LEDs M950 F4 C"out2" ; Create fan 4 (top leds) on pin out2 M106 P4 S255 B0 H-1 C"Top Lights" ; Tools M563 P0 D0 H1 F1 ; Define tool 0 using fan 1 for M106 G10 P0 X0 Y0 Z0 ; Set tool 0 axis offsets G10 P0 R0 S0 ; Set initial tool 0 active and standby temperatures to 0C ; Misc ;M572 D0 S0.075 ; Pressure Advance M572 D0 S0.01 ; Pressure Advance M592 D0 A0.015 B0.0012 L0.2 ; Non-linear extrusion M376 H10 ; Fade mesh out compensation over 10mm Z ; DAA tuning (you will need to change this for your slicer) ;M593 F26.6 ; Cura 4.5 stock profile @ 40mm/s outer printing speed M593 F42.5 ; PrusaSlicer @ 40mm/s outer perimeter M80 ; turn on PSU & mains voltage ; set default LCD color M150 X2 R100 U80 B255 P250 S3 M501 ; load config-override.g T0 ; select tool 0
I've also attached my complete config + macros and a sample gcode file here: https://www.dropbox.com/sh/wte9u7omvpuif29/AABRm7ewZEVrzH9UWG4pw3mta?dl=0
; Drives M569 P0.0 S1 V0 ; physical drive 0.0 goes forwards M569 P0.1 S0 V0 ; physical drive 0.1 goes forwards M569 P0.2 S1 V0 ; physical drive 0.2 goes forwards M569 P0.3 S0 V0 ; physical drive 0.3 goes forwards M569 P0.4 S1 V0 ; physical drive 0.3 goes forwards M584 X0.0 Y0.1 Z0.2:0.4 E0.3 ; set drive mapping M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation M92 X80.00 Y80.00 Z800.00 E743.50 ; set steps per mm M566 X100.00 Y100.00 Z12.00 E300.00 ; set maximum instantaneous speed changes (mm/min) M203 X18000.00 Y18000.00 Z600.00 E3600.00 ; set maximum speeds (mm/min) M201 X2000.00 Y2000.00 Z20.00 E600.00 ; set accelerations (mm/s^2) M906 X1000 Y1000 Z800 E450 I30 ; set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout
I ran a quick test of 100 iterations at full speed (F18000 or 300mm/s) going from X0 Y0 to X200 to Y200 and back. No problems. I then printed (air print, no nozzle or bed heating, no extrusion, but all motors moving) @carcamerarig gcode file, which is a cube and a cylinder. Travel moves are at 80mm/s, where I think you were seeing the problem, but these were okay for me, too.
One thing I've noticed; both of you have your M566 (max instantaneous speed change/jerk) set very low on X and Y. I usually have mine set at the default from the configuration tool, which I regard as pretty conservative, which is:
M566 X900.00 Y900.00 Z12.00 E300.00(ignore Z and E)
M566 X100 Y100 Z30 E4000
M566 X240.00 Y240.00 Z25.00 E600.00 P1
The effect of this is that it may slow down on curves. The sinusoidal fill seemed slow on the air print, but otherwise shouldn't particularly matter.
My only other current observation is that I have a v0.5 Mini 5+. What are your board versions?
I'll should have a little time over the coming days to run some more tests, to try and get it to skip. Any suggestions welcome!
Not sure on board version I have a Board ID: Z9NZN-A296U-D65J0-40KM4-LY03Z-ZPQPD can you tell from that? Purchased direct from Roland in Jan 21.
In my SBC setup I was at M566 X600 Y600 Ill try at 900 now and report back but I fear it will make it worse...
@droftarts Can you give me your AirPrint gcode file?
@droftarts Can you give me your AirPrint gcode file?
Sorry, away from machine now. I just commented out the heater commands in the Gcode file, sent M302 P1 to allow cold extrusion, and unloaded filament. It just fits on my 200x200 bed!
Not sure on board version
It’s printed on the back of the PCB.
@droftarts My Mini5+ was a v1.0. I say "was" because it is no longer in my hands, I sent it back for warranty exchange for an unrelated problem. I am getting a replacement in a few days.
The speeds are quite low in order to try and work around this issue, my usual speeds were 6x higher (
M566 X600 Y600 Z60 E8000). I saw it with print speeds of 40mm/s and travel speeds of 100mm/s and those very slow instant speeds. Similarly my motor currents are higher than what I usually run.
I see that you are running 1.8° motors (80 steps/mm!), as far as I know everyone affected here is running 0.9° motors.
I see that you are running 1.8° motors
Yes, you’re quite right, I wanted to get a baseline, though @carcamerarig reported the same issue with 1.8 motors. I’ll swap X and Y for 0.9 motors the first chance I have. I don’t have any LDO motors yet, so will have to be Wantai and E3D. Thanks for the info!
Yep its worse with a higher jerk level but at least you can hear it on the videos now as its been difficult to show/hear with the fans running... It literally shakes everything in and on my cabinet.
While setup on SBC mode I found out one or more of the bigger bangs broke my Y motor holder (cracked it), its replaced now with a spare I had but it can't be good for the printer or the bearings...
@droftarts I can still send mine to you, I thought as we discussed my issue is not unique to the 0.9's to rule those out?
@carcamerarig I am hearing the same bang on my machine when printing as your first video, then there is a rather large layer shift, ruining the print in progress.
I thought you also had 0.9° motors since that was brought up earlier in the thread (sorry for assuming!). So I won't bother installing my old 1.8° motors, maintenance is never fun but it's worse if you do it for no good reason.
I still have my old Duet2+Duex5 boards, those worked great on the same printer!
@droftarts My motors are from OMC StepperOnline, 17HM19-2004S, running at 24V of course. I have some LDO 0.9° HT steppers on hand now but I have not yet installed them.
@fulg I’m using a 12V PSU, so will need to swap that for 24V. Thanks for reminding me!
@fulg Correct I was running the LDO 0.9's when I set up the duet for the 1st time, I changed them to the 0.9's from the 1.8's that shipped with the machine with the promise of higher resolution, ive switched back to the original 1.8's to test if its unique to the motors as other have success with the 1.8's. Mine issue is happening on both 0.9 and 1.8.
SputnikOC3d last edited by
Any type of an update on this issue ? TMC have any input and perhaps narrow down the testing options ?
@sputnikoc3d unfortunately, due to Easter holidays and me being a parent, I haven’t made any progress. If you can share your settings that trigger the problem, that would be helpful.
When I get the chance, one of the first things I’m going to look at is using low jerk settings with high acceleration. To my mind, this is a bad combination. @carcamerarig @fulg do you still get bangs if you set X and Y jerk and acceleration to:
M566 X900.00 Y900.00 M201 X500.00 Y500.00
(This is the default from the configuration tool.)
@droftarts those videos I just posted were at the default Jerk settings, I darent go any higher in fear of breaking printed parts again.
@droftarts can you get me a 6hc, duet 2 sent out or something I can use in the meantime. It’s turned the printer into a paper weight...
@droftarts I only set low jerk to try and work around this issue. If you are somehow saying that low jerk and high accel could cause this, IMO this means RRF is broken (at least on Mini5+) because while it may not be ideal, this always worked before with previous Duet boards.
One thing that was suggested to me (outside of this forum) is that I am not doing
G4 P100before moving motors the first time, reading the docs this seems to say that the required stealthChop/spreadCycle calibration of the TMC2209 will not occur. I would have expected RRF to do this implicitly, but perhaps it does and I am misunderstanding.
There are several fixes that have been made recently that specifically target the Duet3 mini, maybe 3.3b3 will help resolve this.
Argo last edited by
Low jerk and medium to high acceleration is basically the standard setup for cartesian and Core XY printers. Also input shaper do not like high jerk values to function properly. Klipper limits "Jerk" (they use a different name for it) to 5 mm/s when using input shapers. This should not cause any trouble.
StealthChop initialization or calibration.
This is what I put into my config.g (bottom part):
; StealthCop calibration
G1 X1 Y1 Z1
M84 ; disable motors
I'm using 1.8 LDO motors with my Mini 5+. No bonging, no issues. Prints 24/7 at the moment.
With 0.9 LDOs I needed more current and could not print as fast but never had any "bang" issues during movement.
Imo the issue with vibrations and noise that TMC2209 + 0.9 motors are having is a different chapter / issue.
The question I'm beginning to ask myself: Can a hardware issue on the Mini5+ cause the "bang" issue?
I can reproduce those little hiccups (bangs) by enabling hybrid mode (V parameter) and set the threshold setting at a too high speed (like 100+ mm/s). The switch from StealthChop to SpreadCycle is then causing a "bang" sound which then also often leads to layer shifts.
BUT I checked the config of @carcamerarig (which is basically mine) which does not use hybrid mode (V0) so we can rule that out.
So maybe it's a hardware issue / problem with the board itself?