There is about 100mV drop in the regulator so closer to 3.4V, sawing off the branch on which you sit in slow motion…
According to the datasheet, MG24 can operate down to around VDD=2.2V, so there may be a little more leeway when using a larger capacity battery with a slower droop characteristic.
Or it can be fixed in hw by changing the divider to /4
But then there is 2 firmware versions causing issues with loading onto different hw…
XIAO_MG24 has a 1/2 attenuator under the can, but the BSP does not have a function set_analogGain() that can take advantage of this attenuator.
If there were a function set_analogGain(), compatibility problems would not occur, but currently the only way to change the gain is to use the patch.
Yes they should add that to the API
BSP 3.0.0 was released yesterday, but this issue was not resolved.
This is a real shame, as it is an essential feature for running the MG24 on battery power. The following patch is required to use the battery up to around 3.3V.
// \Arduino15\packages\SiliconLabs\hardware\silabs\3.0.0\cores\gecko\adc.cpp
// Add LINE 93
all_configs.configs[0].analogGain = iadcCfgAnalogGain0P5x;