@vogelrnws I had been looking at porting it to another processor and been using it and digging into the code. I’ve looked at some of the RP2040, but I’m cautious about its ability to go into low power – but haven’t looked at it in depth.
The SDI-12 lib uses a software based UART – running at 1200Baud, so 1200Baud is pretty slow and it does handle it. It needs to have a timer generated to be able to look for the changes in the data stream.
Unfortunately, IMHO, I’ve found it to be quite fragile. Also the software timing has made debugging fragile. In 2021 I had also found it worked with some Insitu LT500 sensors and not others. I tried to put a “test station” together, against a traceable SDI-12 test setup using https://www.vegetronix.com/Products/SDI-12 and it failed on the basic physical test.
So I’m thinking about how to 1) +5V buffer possibly this solution https://github.com/EnviroDIY/Arduino-SDI-12/issues/87
2) hardware timing. Possibly emulate the UART with with either DMA or Timer/Capture.
So maybe the hardware interface could be done with a simple 4 wire Seeed plugin with an off-board buffer and boost to +12V, and software modified.
So just IMHO a heads up on some of the possible issues to consider.