The brain is a lazy thing. It falls into patterns easily, it takes mental shortcuts whereever it can. All that comes from our evolutionary history, where energy (literal energy for thinking) was limited.
Your subconscious mind handles all the everyday trivia to maintain your existence in a low energy way, and your mind is very quick to shunt things down that low energy path. That path is all our “instincts” (fight or flight, nurturing instincts, forming into groups etc etc ) and is based upon nomadic living in the savannah plains of Africa three million years ago.
If someone presents something in a way that can easily fall into one of our evolutionary shortcuts then your subconscious will run with it without you even realising.
The human brain is hardwired for an “Us vs. Them” viewpoint. As Bush once said, “You’re either with us, or you’re against us.”
Advertisers, politicians, and those that seek to influence, they know this. They don’t project any shades of grey or balance into their arguments. They attempt to “match groups” with you, and then point out that other group, over there, aren’t they terrible, we should do something about that.
So you get videos going, “Look at those shoplifters, doing wrong things! We’re glad that they’re getting their just desserts, aren’t we?”
They don’t show anything that might evoke some empathy in their target audience. You don’t want people to identify with your enemy, you want them to identify with you.
Hmm I’m not sure of the pin drive currents on the Pico, but can you power the sensors off a pin? At least then you can programmatically power cycle them if you need to.
The Pico also has a watchdog, you could set it up to give it a reboot if things don’t respond in time. It doesn’t solve the issues of course but at least it gets it back to a workable state. And if the watchdog fails, or it works but there’s still no USB serial, then that would point towards power instabilities or somesuch.
Perhaps slightly adjust your logic a little and see what it does.
Read from the sensors first, then enable and connect to wifi, send the data, then disconnect. That would reduce the maximum power draw as only one function is active at once.
Small edit: I have a MagTag ESP32 board with circuitpython that can’t read onewire devices while the wifi is active. Whether that’s because of supply instabilities when wifi is transmitting, or interrupt conflicts, or just plain poor programming in the onewire drivers or the wifi drivers, I don’t know. But reading the devices first and then connecting to wifi and sending the data afterwards works.