ADXL345: Different between RPi Pico and RPi 3B

Interesting. It seems that when adxl345 is connected to pico, it is just more noisy:

So, it does not appear to be a problem of communication per se (so there are no large outliers in the data). This could have something to do with the pico powerchain. It’s not very good, btw. You could try a few things:

Set GPIO23 pin on Pico high. E.g.

[mcu pico]
....

[output_pin pico_pwm]
pin: pico:gpio23

and then SET_PIN PIN=pico_pwm VALUE=1.
This may improve the stability of the 3.3V on Pico and reduce ripples in 3.3V line.

Alternatively, depending on which adxl345 board you have, you may try to connect pico 3.3v power to VIN/VCC instead of 3V3 pin. Or, if you have one of the Chinese boards that does not have logic level shifter, connect its VCC to 5V pin (VBUS pico pin, more specifically, pin 40, which comes from USB). Note that if adxl345 has that shifter (e.g. from Adafruit or SparkFun), this will fry Pico, so exercise caution.

Here it is reproducible that the first measurement fails when freshly connecting the Pico or when restarting Klipper with connected Pico

Yeah, I’m not sure why that happens. It won’t be easy to debug without an oscilloscope.