ADXL345: Different between RPi Pico and RPi 3B

Doh, yes, you are right, these are FETs that bring a high to VIN. Brave little Pico, it survived.

Image taken from this site:

I have such a board. What they claim to be a level shifter is a tantalum capacitor with the SMD code 163N1 106C

grafik

Above image is the Adafruit board. I have marked the level shifting FETs in green

So apparently we have 4 different board types:

  • Voltage regulator + Level shifter (Example)
    • 5V tolerant
    • Only suitable with 3V3 as input together with RPi’s as they will output 5V on SDA and SCL if connected to 5V input
  • Only voltage regulator (many Chinese ADXL345 boards) (Example)
    • 5V tolerant
  • ADXL345 without voltage regulator (Example)
    • Only 3V3 input voltage
    • Potentially highest noise impact, at least on the Pico
  • I2C versions
    • I2C interface is too slow for measuring resonances
    • Not suitable

RPi3B with Adafruit ADXL

Vin

Axes noise for xy-axis accelerometer: 66.135597 (x), 74.319175 (y), 115.586080 (z)
Axes noise for xy-axis accelerometer: 64.729976 (x), 68.685450 (y), 112.779932 (z)

3V3

Axes noise for xy-axis accelerometer: 75.956035 (x), 84.278292 (y), 93.680134 (z)
Axes noise for xy-axis accelerometer: 73.335349 (x), 87.497612 (y), 94.576402 (z)

As these results seem inclusive, here a longer measurement:

  • For my RPi3B, indeed the 3V3 input of the Adafruit ADXL seems preferable
  • MEASURE_AXES_NOISE does partially not match longer term measurement, i.e. x and y axis

Verifying Test 4 vs Test 5 with Chinese Clone

  • Chinese Clone with only Vin
  • Pico 3V3 with GPIO23 high vs. Pico Vbus

MEASURE_AXES_NOISE Pico Vin

Axes noise for xy-axis accelerometer: 19.115907 (x), 21.747045 (y), 60.706260 (z)

MEASURE_AXES_NOISE Pico 3V3 GPIO23 high

Axes noise for xy-axis accelerometer: 38.335651 (x), 41.643309 (y), 77.499608 (z)

  • MEASURE_AXES_NOISE does not match longer term measurements
  • Longer term measurement does not show any real difference between Vbus and 3V3 with GPIO23 high
  • Compared to my measurements above, this Chinese clone yields yet other results
  • Raw Data of the GPIO23=1 looks a bit strange. Lots of 0 measurements for the x axis
    pico_w_chinese.zip (3.1 MB)

Verifying Test 2 vs Test 4 with Adafruit

  • Adafruit ADXL345
  • Pico 3V3 with GPIO23 high
  • Adafruit Vin vs. 3V3

MEASURE_AXES_NOISE Adafruit Vin

Axes noise for xy-axis accelerometer: 33.081588 (x), 40.508943 (y), 72.386914 (z)
Axes noise for xy-axis accelerometer: 36.807020 (x), 39.708927 (y), 67.968386 (z)

MEASURE_AXES_NOISE Adafruit 3V3

Axes noise for xy-axis accelerometer: 1962.414723 (x), 1736.280859 (y), 1429.332079 (z)
Axes noise for xy-axis accelerometer: 1971.595544 (x), 1712.454929 (y), 1414.578886 (z)

Seems to make no sense: Mostly 0 values for the x-Axis in the Adafruit 3V3 test. See raw data
adafruit_pico_3v3.zip (1.5 MB)

Overall

grafik