I am using the Seeed XIAO nRF52840 kit as a solar powered Meshtastic node with LiFePo4 batteries. These batteries have a nominal voltage of 3.2V and the node is even still running at around 2.9V until it dies.
But does it run "well" with these low voltages? Maybe not...
So I added a MT3608 step up converter which gives me a steady 5V voltage now. To keep track of the real battery voltage I added a INA226 sensor which reads the voltage and current.
Unfortunately it doesn't work out of the box as mentioned here: https://github.com/meshtastic/firmware/issues/7670
The SDA/SCL pins as shown in this diagram are by default found at D4 and D5 as shown here: https://wiki.seeedstudio.com/XIAO_BLE/
Those are already in use by the LoRa hat and don't work. If you are not using the L76K GPS modules you can use the pins D6 (SDA) and D7 (SCL) instead after recompiling the firmware:
git clone https://github.com/meshtastic/firmware.git
cd firmware
git submodule update --init --recursive
# maybe checkout the latest release tag if you don't want to compile bleeding edge:
git checkout v2.7.18.fb3bf78
# to prevent hitting the flash size limit edit this file
vim variants/nrf52840/seeed_xiao_nrf52840_kit/platformio.ini
; Seeed Xiao BLE but with GPS undefined, and therefore i2c active
[env:seeed_xiao_nrf52840_kit_i2c]
extends = env:seeed_xiao_nrf52840_kit
board_level = extra
build_flags = ${env:seeed_xiao_nrf52840_kit.build_flags}
-DSEEED_XIAO_NRF52840_KIT
-UGPS_L76K
;build_unflags = -DGPS_L76K
# now compile
pio run -e seeed_xiao_nrf52840_kit_i2c
# flash this file the usual way
.pio/build/seeed_xiao_nrf52840_kit_i2c/firmware-seeed_xiao_nrf52840_kit_i2c-2.7.19.a092f6b.uf2

