I have been running WeeWX on a Pi3B+ for quite a while with few problems. I decided to reclaim it for other projects and put my Pi0W in its place. I have the serial logger with Davis cabling to their RJ11/RS-232 adapter which is plugged into a Keyspan USA-19hs serial adapter.
Although I could use [wee_device --current] successfully (and other similar commands), the main program was not successful.
Oct 9 15:42:02 pi3 weewx[1707] INFO __main__: retrying...
Oct 9 15:42:03 pi3 weewx[1707] INFO __main__: Using configuration file /etc/weewx/weewx.conf
Oct 9 15:42:03 pi3 weewx[1707] INFO __main__: Debug is 0
Oct 9 15:42:03 pi3 weewx[1707] INFO weewx.engine: Loading station type Vantage (weewx.drivers.vantage)
Oct 9 15:42:03 pi3 weewx[1707] INFO weewx.engine: StdConvert target unit is 0x1
Oct 9 15:42:04 pi3 weewx[1707] INFO weewx.engine: Archive will use data binding wx_binding
Oct 9 15:42:04 pi3 weewx[1707] INFO weewx.engine: Record generation will be attempted in 'hardware'
Oct 9 15:42:04 pi3 weewx[1707] INFO weewx.engine: Using archive interval of 60 seconds (specified by hardware)
Oct 9 15:42:04 pi3 weewx[1707] INFO __main__: Starting up weewx version 4.5.1
Oct 9 15:42:04 pi3 weewx[1707] INFO weewx.engine: Clock error is 0.73 seconds (positive is fast)
Oct 9 15:42:04 pi3 weewx[1707] INFO weewx.engine: Using binding 'wx_binding' to database 'weewx'
Oct 9 15:42:04 pi3 weewx[1707] INFO weewx.manager: Starting backfill of daily summaries
Oct 9 15:42:04 pi3 weewx[1707] INFO weewx.manager: Daily summaries up to date
Oct 9 15:42:09 pi3 weewx[1707] ERROR weewx.drivers.vantage: DMPAFT try #1; error: Timeout in get_data_with_crc16
Oct 9 15:42:14 pi3 weewx[1707] ERROR weewx.drivers.vantage: DMPAFT try #2; error: Timeout in get_data_with_crc16
Oct 9 15:42:19 pi3 weewx[1707] ERROR weewx.drivers.vantage: DMPAFT try #3; error: Timeout in get_data_with_crc16
Oct 9 15:42:24 pi3 weewx[1707] ERROR weewx.drivers.vantage: DMPAFT try #4; error: Timeout in get_data_with_crc16
Oct 9 15:42:24 pi3 weewx[1707] ERROR weewx.drivers.vantage: DMPAFT max tries (4) exceeded.
Oct 9 15:42:24 pi3 weewx[1707] INFO weewx.engine: Main loop exiting. Shutting engine down.
Oct 9 15:42:25 pi3 weewx[1707] CRITICAL __main__: Caught WeeWxIOError: Max tries exceeded while getting archive data.
Oct 9 15:42:25 pi3 weewx[1707] CRITICAL __main__: **** Waiting 60 seconds then retrying...
I updated everything, including WeeWX, but still couldn't get it to work. I swapped out my USB cable for one with ferrite cores on both ends and a different Davis cable. I also moved it from my console to Envoy. I turned on debugging.
Oct 9 19:23:58 pi3 weewx[999] INFO __main__: Initializing weewx version 4.8.0
Oct 9 19:23:58 pi3 weewx[999] INFO __main__: Using Python 3.7.3 (default, Jan 22 2021, 20:04:44) #012[GCC 8.3.0]
Oct 9 19:23:58 pi3 weewx[999] INFO __main__: Platform Linux-5.10.103+-armv6l-with-debian-10.13
Oct 9 19:23:58 pi3 weewx[999] INFO __main__: Locale is 'C.UTF-8'
Oct 9 19:23:58 pi3 weewx[999] INFO __main__: Using configuration file /etc/weewx/weewx.conf
Oct 9 19:23:58 pi3 weewx[999] INFO __main__: Debug is 1
Oct 9 19:23:58 pi3 weewx[999] INFO __main__: PID file is /var/run/weewx.pid
Oct 9 19:23:59 pi3 weewx[1003] DEBUG __main__: Initializing engine
Oct 9 19:23:59 pi3 weewx[1003] INFO weewx.engine: Loading station type Vantage (weewx.drivers.vantage)
Oct 9 19:23:59 pi3 weewx[1003] DEBUG weewx.drivers.vantage: Driver version is 3.2.3
Oct 9 19:23:59 pi3 weewx[1003] DEBUG weewx.drivers.vantage: Option loop_request=1
Oct 9 19:23:59 pi3 weewx[989]: Starting weewx weather system: weewx.
Oct 9 19:23:59 pi3 weewx[1003] DEBUG weewx.drivers.vantage: Opened up serial port /dev/ttyUSB0; baud 19200; timeout 8.00
Oct 9 19:23:59 pi3 weewx[1003] DEBUG weewx.drivers.vantage: Gentle wake up of console successful
Oct 9 19:23:59 pi3 weewx[1003] DEBUG weewx.drivers.vantage: Hardware type is 16
Oct 9 19:23:59 pi3 weewx[1003] DEBUG weewx.drivers.vantage: ISS ID is 1
Oct 9 19:23:59 pi3 weewx[1003] DEBUG weewx.drivers.vantage: Hardware name: Vantage Pro2
Oct 9 19:23:59 pi3 weewx[1003] DEBUG weewx.engine: Loading service weewx.engine.StdTimeSynch
Oct 9 19:23:59 pi3 weewx[1003] DEBUG weewx.engine: Finished loading service weewx.engine.StdTimeSynch
Oct 9 19:23:59 pi3 weewx[1003] DEBUG weewx.engine: Loading service weewx.engine.StdConvert
Oct 9 19:23:59 pi3 weewx[1003] INFO weewx.engine: StdConvert target unit is 0x1
Oct 9 19:23:59 pi3 weewx[1003] DEBUG weewx.engine: Finished loading service weewx.engine.StdConvert
Oct 9 19:23:59 pi3 weewx[1003] DEBUG weewx.engine: Loading service weewx.engine.StdCalibrate
Oct 9 19:23:59 pi3 weewx[1003] DEBUG weewx.engine: Finished loading service weewx.engine.StdCalibrate
Oct 9 19:23:59 pi3 weewx[1003] DEBUG weewx.engine: Loading service weewx.engine.StdQC
Oct 9 19:23:59 pi3 weewx[1003] DEBUG weewx.engine: Finished loading service weewx.engine.StdQC
Oct 9 19:23:59 pi3 weewx[1003] DEBUG weewx.engine: Loading service weewx.wxservices.StdWXCalculate
Oct 9 19:23:59 pi3 weewx[1003] INFO weewx.wxservices: StdWXCalculate will use data binding wx_binding
Oct 9 19:24:00 pi3 weewx[1003] DEBUG weewx.manager: Daily summary version is 1.0
Oct 9 19:24:00 pi3 weewx[1003] DEBUG weewx.engine: Finished loading service weewx.wxservices.StdWXCalculate
Oct 9 19:24:00 pi3 weewx[1003] DEBUG weewx.engine: Loading service weewx.wxxtypes.StdWXXTypes
Oct 9 19:24:00 pi3 weewx[1003] DEBUG weewx.engine: Finished loading service weewx.wxxtypes.StdWXXTypes
Oct 9 19:24:00 pi3 weewx[1003] DEBUG weewx.engine: Loading service weewx.wxxtypes.StdPressureCooker
Oct 9 19:24:00 pi3 weewx[1003] DEBUG weewx.engine: Finished loading service weewx.wxxtypes.StdPressureCooker
Oct 9 19:24:00 pi3 weewx[1003] DEBUG weewx.engine: Loading service weewx.wxxtypes.StdRainRater
Oct 9 19:24:00 pi3 weewx[1003] DEBUG weewx.engine: Finished loading service weewx.wxxtypes.StdRainRater
Oct 9 19:24:00 pi3 weewx[1003] DEBUG weewx.engine: Loading service weewx.wxxtypes.StdDelta
Oct 9 19:24:00 pi3 weewx[1003] DEBUG weewx.engine: Finished loading service weewx.wxxtypes.StdDelta
Oct 9 19:24:00 pi3 weewx[1003] DEBUG weewx.engine: Loading service weewx.engine.StdArchive
Oct 9 19:24:00 pi3 weewx[1003] INFO weewx.engine: Archive will use data binding wx_binding
Oct 9 19:24:00 pi3 weewx[1003] INFO weewx.engine: Record generation will be attempted in 'hardware'
Oct 9 19:24:00 pi3 weewx[1003] INFO weewx.engine: Using archive interval of 60 seconds (specified by hardware)
Oct 9 19:24:00 pi3 weewx[1003] DEBUG weewx.engine: Use LOOP data in hi/low calculations: 1
Oct 9 19:24:00 pi3 weewx[1003] DEBUG weewx.engine: Finished loading service weewx.engine.StdArchive
Oct 9 19:24:00 pi3 weewx[1003] INFO __main__: Starting up weewx version 4.8.0
Oct 9 19:24:00 pi3 weewx[1003] DEBUG weewx.drivers.vantage: Gentle wake up of console successful
Oct 9 19:24:00 pi3 weewx[1003] INFO weewx.engine: Clock error is 0.67 seconds (positive is fast)
Oct 9 19:24:00 pi3 weewx[1003] INFO weewx.engine: Using binding 'wx_binding' to database 'weewx'
Oct 9 19:24:00 pi3 weewx[1003] INFO weewx.manager: Starting backfill of daily summaries
Oct 9 19:24:00 pi3 weewx[1003] INFO weewx.manager: Daily summaries up to date
Oct 9 19:24:00 pi3 weewx[1003] DEBUG weewx.drivers.vantage: Getting archive packets since 2022-10-08 16:45:00 CDT (1665265500)
Oct 9 19:24:00 pi3 weewx[1003] DEBUG weewx.drivers.vantage: Gentle wake up of console successful
Oct 9 19:24:00 pi3 weewx[1003] DEBUG weewx.drivers.vantage: Retrieving 23 page(s); starting index= 0
Oct 9 19:24:08 pi3 weewx[1003] DEBUG weewx.drivers.vantage: Get_data_with_crc16; try #1 failed: Expected to read 267 chars; got 238 instead
Oct 9 19:24:08 pi3 weewx[1003] DEBUG weewx.drivers.vantage: Timeout in get_data_with_crc16
Oct 9 19:24:08 pi3 weewx[1003] ERROR weewx.drivers.vantage: DMPAFT try #1; error: Timeout in get_data_with_crc16
Oct 9 19:24:08 pi3 weewx[1003] DEBUG weewx.drivers.vantage: Getting archive packets since 2022-10-08 16:45:00 CDT (1665265500)
Oct 9 19:24:08 pi3 weewx[1003] DEBUG weewx.drivers.vantage: Gentle wake up of console successful
Oct 9 19:24:08 pi3 weewx[1003] DEBUG weewx.drivers.vantage: Retrieving 23 page(s); starting index= 0
Oct 9 19:24:16 pi3 weewx[1003] DEBUG weewx.drivers.vantage: Get_data_with_crc16; try #1 failed: Expected to read 267 chars; got 240 instead
Oct 9 19:24:16 pi3 weewx[1003] DEBUG weewx.drivers.vantage: Timeout in get_data_with_crc16
Oct 9 19:24:16 pi3 weewx[1003] ERROR weewx.drivers.vantage: DMPAFT try #2; error: Timeout in get_data_with_crc16
Oct 9 19:24:16 pi3 weewx[1003] DEBUG weewx.drivers.vantage: Getting archive packets since 2022-10-08 16:45:00 CDT (1665265500)
Oct 9 19:24:16 pi3 weewx[1003] DEBUG weewx.drivers.vantage: Gentle wake up of console successful
Oct 9 19:24:16 pi3 weewx[1003] DEBUG weewx.drivers.vantage: Retrieving 23 page(s); starting index= 0
Oct 9 19:24:24 pi3 weewx[1003] DEBUG weewx.drivers.vantage: Get_data_with_crc16; try #1 failed: Expected to read 267 chars; got 241 instead
Oct 9 19:24:24 pi3 weewx[1003] DEBUG weewx.drivers.vantage: Timeout in get_data_with_crc16
Oct 9 19:24:24 pi3 weewx[1003] ERROR weewx.drivers.vantage: DMPAFT try #3; error: Timeout in get_data_with_crc16
Oct 9 19:24:24 pi3 weewx[1003] DEBUG weewx.drivers.vantage: Getting archive packets since 2022-10-08 16:45:00 CDT (1665265500)
Oct 9 19:24:24 pi3 weewx[1003] DEBUG weewx.drivers.vantage: Gentle wake up of console successful
Oct 9 19:24:25 pi3 weewx[1003] DEBUG weewx.drivers.vantage: Retrieving 23 page(s); starting index= 0
Oct 9 19:24:33 pi3 weewx[1003] DEBUG weewx.drivers.vantage: Get_data_with_crc16; try #1 failed: Expected to read 267 chars; got 228 instead
Oct 9 19:24:33 pi3 weewx[1003] DEBUG weewx.drivers.vantage: Timeout in get_data_with_crc16
Oct 9 19:24:33 pi3 weewx[1003] ERROR weewx.drivers.vantage: DMPAFT try #4; error: Timeout in get_data_with_crc16
Oct 9 19:24:33 pi3 weewx[1003] ERROR weewx.drivers.vantage: DMPAFT max tries (4) exceeded.
After far too many hours (7+), I finally decided to revert to the Pi3B+ and was rather surprised to see it working correctly.
It appears that others are successful with the Pi Zero W so I'm wondering if someone can help me get mine working.
Thanks.