Hi, I have one of each.
The Indoor is as delivered, but the Urban is flashed up to 0.0.8 with 1.19.9. Both are feeding adafruit.io, and both seem to have issues connecting over wifi when on battery power. Both seem fine on USB power.
The Urban (with the newer code) is reporting about 3.6v on battery and around 5v on USB power. Of course, one possibly significant difference is that the wifi stays up on USB (i.e. it remains ping-able while “asleep”).
Maybe the voltage drops when we’re not looking (e.g. when the Urban PM fan is on, or when wifi is fired up)?
A related issue is that of Adafruit throttling. It would be good if the Adafruit module understood this, and tried to clear any backlog slowly, without triggering any throttling temporary banishment to the sin bin.
Hi, I found the urban is very power hungry so might need to change the frequency of readings and uploads while on battery (assuming its AA power pack). Havr you checked the logfile to see when on battery it is failing to connect?
On the Weather, mine flashes red if the wifi fails when it wakes up on battery, but will then try again later and usually succeeds without intervention (assuming you dont have the rain sensor connected up as that currently stops it from sending data). I am still experiemnting with power but in the below on the one named outdoor-urban1 you can see taking readings evey 10 miuntes and uploading evey 3 readings (evey 30 minutes) is draining the battery quickly (the yellow line in the graph at the bottom). Note the other two are on LIPO batteries.
This is generally what happens …
2022-11-07 10:30:08 [info / 114kB] > connecting to wifi network 'wifiname'
2022-11-07 10:30:10 [debug / 108kB] - connecting
2022-11-07 10:30:11 [debug / 102kB] - connecting
2022-11-07 10:30:40 [error / 94kB] ! failed to connect to wireless network wifiname
2022-11-07 10:30:40 [error / 92kB] ! reading upload failed
I am currently trying a longer connection timeout - i.e. increased to 60 from 30 seconds.
I have also added an experimental config.upload_limit to stop tickling adafruit.io’s throttling warnings and triggering limits. At the moment, I need to be careful with config.upload_frequency so that a backlog doesn’t build up even when connections are working. A better fix would be to decouple readings from uploads entirely, with wake-ups scheduled for whichever (readings or upload) is required next (and upload wake-ups only being scheduled when readings are queued for upload).
My home wifi network infrastructure consists of two Unifi U6-Lite access points. Both serve my default SSID and support both 2.4GHz and 5GHz, using “bandwidth steering” to encourage 5GHz-cable devices to do so.
When I googled “pi pico z unifi connect” I found this helpful discussion: “Pi Zero W dislikes UniFi Wifi”
I’m currently testing a 2.4GHz only SSID with a single access point and all advanced features disabled, and will report back. So far, so good.