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
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)