Build own SDI-12 LoRa data logger ? Possible?

Hi all,

I am a LoRa newbie but an engineer by trade that has recently began exploring the things network such that I can set up an on farm sensor network at my parents farm in Australia.

I have set up a gateway and have started playing around building a basic node based on these instructions..

What I am hoping to do next is to build a more rugged node that I can use for environmental monitoring and that is compatible with SDI-12 sensors like weather stations and enviropro soil moisture probes. I am imagining that it will look something like this.

Can anyone point me in the right direction where I might find some instructions or examples of people that have built a similar style node and connected it up to the things network?

Thanks, Tim

It is possible to use SDI-12 with TTN. I have one working with soil moisture probes in the US and UK and has been working very well.

I’m not able to share schematics or code due to this being a commercial product for a client.


You can find SDI-12 libraries for the Arduino just google Arduino SDI-12 library
This addresses the interfacing your node to the SDI-12 sensors part of the puzzle. With this you can build the data logger piece.

The LoRa piece really has nothing to do with SDI-12. The logger code sends its output data to TTN, this is not an SDI-12 protocol output, instead is a series of bytes to be transferred in a LoRaWAN payload.

1 Like

Thanks, that is a useful library and it has led me to some interesting links. I guess my big question is now, which board is going to be best to build this data logger and then LoRawan payload node. I have found this board online which to me seems the most useful as it allows for inputs of 6-12 volts which I need for my planned use of an enviropro soil moisture probe.

I think I could then attach a lora bee module which I think could transmit the payload back to TTN.

Do you think this is the right approach?


Well its a good idea to go for a board based on the ATMEGA1284P, it has much more flash and RAM than the standard ATMEAG328 based boards such as Arduino UNO and Pro Mini.

You would also have a processor big enough to allow you to use SD card logging and multiple types of sensor.

I had a look at the Sodaq boards that use that micro controller but it appears (with my limited understanding) that those boards do not support higher voltage inputs. Hence why the EnviroDIY board is attractive.

Maybe there is another way to run a secondary circuit?

I followed the EnviroDIY Logger board links to the suggested buy via Amazon but sadly neither board nor starter kit ship to UK :frowning:

What sort of Engineer are you? An Electronic Engineer? Software Etc?

It is not clear what you mean by 6 to 12 volt inputs? Do you mean the power supply input voltage range or do you mean the input voltage coming from sensors? If you mean the later then note that the maximum input voltage of the I/0 pins of the processor is 5 volts.

I am a mechanical engineer, so still finding my feet in this world of electronics and telemetry!

The input voltage from the sensors is what I am talking about. As far as I am aware, the enviropro sensor output can range from 6-12 volts depending on how it is powered. This higher voltage I understand is not compatible with standard boards like the one I am currently working on, the adafruit feather m0. Hence my interest in the EnviroDIY board.

I hear there is an option to run a secondary higher voltage circuit which then steps down the voltage so it’s compatible with a 3.3/5v board but that is a bit above my capabilities at this stage.

Ok. Now I have a better picture :slight_smile:

The board does not work the way you think it does. The processor on the EnviroDIY board is power by 3.3 volts. It does not accept sensor inputs in the range of 6 to 12 volts. In this regard, the board offers no advantage over the Adafruit board. As a general rule a processor cannot accept inputs that exceed their supply voltage. There are exceptions, some I/O pins may be 5 volt tolerant. It is up to you to design the specific interface logic to go between the sensor and the processor.

The secondary higher voltage circuit also does the opposite of what you think it does. It is there to produce a 5 volt supply for sensors that require 5 volts. It is up to you to provide the interface logic from the sensor to the processor to limit the voltage to the processor to 3.3 volts or to use the 5 volt tolerant I/O pins.

I often, but not always, use off-the-shelf processor modules such as the Arduino Nano, Feather boards etc, but I design a base printed circuit board to mount them on. This base board would then hold any digital conversion logic as well as any required analog conditioning & filtering.

Another possible trap is the use of the Lora Bee module. This module has an RFM95W Lora chip on it. A typical LoRa node uses a few I/O pins to configure and control the operation of the RFM95W. You need to ensure that these I/O pins required by your node software are present on header pins on the carrier connector and that these pins are connected to the processor on pins that you have available. Just because a device has a XBee type socket, it does not necessarily mean it will work with devices that have a XBEE footprint. This may be a non issue, you will need to check the schematics of the logger board and the Lora Bee module.

1 Like

Thanks Sandgroper,

I note the below excerpt from their latest hardware update last year.


It specifically says that it can handle external voltage of 4 to 12 volts, so I am a bit confused now…

That is the input voltage from the power supply to the board which feeds into a regulator to deliver 3.3 volts to the processor. Everything I have already outlined is correct, you cannot interface this processor to sensors outputting voltage above 3.3 volts without some form of level conversion for digital signals or analog logic for analog voltages such that the actual input to the processor for analog voltages is within the range of 0 to 3.3 volts.


Thanks mate, really appreciate your input.

Sounds like I need to do some more digging and research first. Might just try to build the data logger with an air temp sensor to start with. Once I can get that communicating with ttn then I can try to sort out my higher voltage sensor.

Here are a couple things.
The SDI-12 data line on this sensor, I’ll bet, is a 5 volt signal (check this first of course). All the SDI-12 stuff I’ve interacted with has a ~12v supply, but the data line is 0-5volt. The Arduino SDI-12 library works great. The EnviroDIY folks are good, if understaffed and focused on more things than supporting their hardware…but such is the nature of the open source world.
For a dev. board, I would go with the RocketScream Ultra. I just got a couple and they’re awesome and super easy to get set up with TTN. There is even a guide for it. These boards are also built around an ARM processor, so they’re cheaper, more powerful, and can do a lot more stuff than the old ATMega’s. You can’t supply it directly with 12 volts, but you can find 5v DC/DC converters for cheap from any electronics supplier depending on your country. Something like this. Then you’ll need a level converter to convert the 5v data signal to a 3.3v data signal so you don’t damage the inputs of your dev. board/arduino thing. They’re super easy to make with a mosfet and a couple resistors here is a quick explanation.
That’s a lot of stuff, let me know if you have more questions.

1 Like

I’ve been thinking about doing a similar thing. We’re you able to figure this out? I’m also interested in how to decode the data once it gets to the gateway.

I am interesting to connect Enviropro probe or Aquacheck probe which are SDI - 12 to MyFly board. Those are soil moisture sensors. Any progres with Your work on this matter

Did you try googling this?

Thanks Sandgroper. I already find this. It is problem that at the moment they are not shipping outside USA.I am in Serbia, so I have to find somebody in USA to receive it and after that resend to me or make 10 or 20 cards, as this is open source.
Anybody have expirience with MyFly card and after that conecting it with LoRa to Things network.