METER ATMOS 41 GEN 2 tested

Back in late 2024, METER Group revamped their ATMOS 41 weather station SDI-12 sensor and unveiled a GEN 2 of the same weather station. I was able to get a hold of one thanks to a client. After some initial struggle with it, I realized that I needed to update my firmware in a couple of places to handle this sensor.

First, it responds to polling faster so I have to remove one of the commands that may momentarily block SDI-12 receiving right after sending out a command. This used to be no problem at all but this new sensor responds so fast that the first few characters got garbled if I block receiving even momentarily.

Second, it has some unusually long responses in some of its non-SDI-12-compliant command responses, as long as 141 characters. This is much longer than the maximal allowed 76 characters by the standard. So I bumped up the buffer size to be able to swoop up all of its responses.

After some initial tests, I was able to confirm that the updated firmware version 1.5.11 (15B) works with this sensor. I did this in the spring but haven’t got around to post an update yet. If you need to use this sensor, you can update your firmware to 15B. The instructions and the new firmware are in the adapter’s main page.

Adapters and other modules available

I have been slowly building more SDI-12 adapters and other modules over the summer and will resume selling them on my online stores:

https://liudr.square.site

https://www.tindie.com/stores/liudr

How to break apart a panel of adapters

Since many of my customers buy multiple adapters per order and shipping cost is only going up, I have decided to ship adapters in panels of 6 for order quantities equal or greater than 6 to save on packaging and waste and hopefully save a small amount of shipping cost.

So when you receive a panel (or a partial panel) of adapters, how you go about breaking it into individual adapters? It’s easy. You first break the panel into three columns, then break out individual adapter. Finally you can remove the edge rails. Here is a video:

How to troubleshoot an SDI-12 adapter

If your SDI-12 adapter isn’t “working”, don’t panic! The adapter has been tested with an actual SDI-12 sensor so it’s supposed to work. Go through the following steps to troubleshoot the adapter. As a matter of fact, DO the following step BEFORE you put any adapter to use for the first time!

1. Remove any sensors or external power connections from the adapter. Check for any physical damages on the USB port, the board, and terminals.

2. Plug the adapter into a windows computer, if the computer recognizes the adapter with a “USB plugged in” chime, and your device manager shows a serial port just appeared, proceed. Otherwise, the adapter is either damaged or the USB port may be damaged. If it shows a message saying an unrecognized device, the USB chip is damaged. The following is a screen shot of my device manager. The serial port COM15 wasn’t there before I plugged in my adapter. Opening the property of the port shows the manufacturer as FTDI (the USB chip). This confirms this step is successful.

3. While connected to PC, use putty (available in windows app store) or tera term and connect to the serial port you observe that appeared in step 2, with 9600 baud rate and 8 bit data, 1 bit start, 1 bit stop, no parity (default settings for many terminal programs), type in zI!, which is zee-EYE-! without hitting enter. If the adapter responds, then proceed. The following screen shot is the set up screen of PuTTY. Make sure you select the connection type as Serial and type in the correct serial port name and speed.

You won’t be able to see what you typed in (no local echo unless you turn on that feature) but you will see the response from the adapter as below. Your version of firmware may be different from 1.5.9 (159) though. If there is no response, the SDI-12 interface chip may have been damaged.

4. Close PuTTY connection. Disconnect the adapter from your computer. Connect a sensor that you know works (just tested to work). Reconnect the adapter to your computer and open PuTTY again. In the terminal program, issue ?! command. If the sensor responds with its address such as 1 in the following screen shot, the adapter works. You can follow up with an identification command 1I! that is 1-EYE-! and replace 1 with the address you see on screen after ?!. You may have to connect 12V to the adapter’s power input and select to use this power input with a jumper for certain sensors. Consult with your sensor’s manual for operating voltage. If there is no response from either ?! or the identification command, the SDI-12 chip may have a damaged data pin.

Before asking for some help, please test the adapter with the above procedure and tell me what you see. Try to avoid generic descriptions such as “failed” or “not working” and describe what you did and what you observe.

Q/A UART version adapters

Q: I plan to integrate your adapters to my own controller, not a PC or raspberry pi USB port. Does your UART version adapter have all necessary resistors and no USB chip to interfere with the UART port? How do you make connection between the UART adapter and my own controller?

A: Yes, all necessary resistors are in place for the UART version of the adapter and the USB chip is not on the chip to interfere.
Here are some of the points:

  1. The adapter has a 6-pin header that is soldered underneath the adapter to avoid making jumper wires from being vertical, which takes extra space, or from going over the optional A/D header.
  2. The adapter requires 5V and GND to be supplied to it since it doesn’t have the 5V and GND from the USB connector. SDI-12 has 5V logic levels so the 5V supply.
  3. The 6-pin header has GND, TX_3V (back of board), 5V, RX, TX_5V, RST from left to right. This is where you power the adapter and connect to its serial port. RST is reset. Unless you want the option to reset the adapter, you can leave it disconnected. Reset is 5V logic.
  4. If your controller is 3.3V logic (ESP32, raspberry pi serial pins, rp2040 etc), connect your controller TX to adapter RX, then your controller RX to adapter TX_3V.
  5. If your controller is 5V logic (Arduino UNO, MEGA2560 etc), connect your controller TX to adapter RX, then your controller RX to adapter TX_5V.

New compatible sensor added and data logger demo upload resumed

With the help of SDI-12 USB adapter users, I constantly add more compatible sensors to my list. This time is a soil sensor:

EnviroPro EP100G

https://www.enviroprosoilprobes.com/

Credit EnviroPro

I will update my list of sensors at the end of the month.

If you’ve been wondering why my demo data logger stopped showing data, good question. I started a project and set my router SSID and password for that project, forgetting my data logger needs it too. So I recently added an ethernet connection to the logger. Data are stored on the sd card, not lost, just not uploaded to thingspeak channel. Now that the logger has resumed logger, expect to see nice sine temperature data and occasion spikes on dielectric measurement due to raining again.

This is what I see on my side with 30 days:

Spikes are rains and no more shutting down due to outdoor outlet short circuiting and triggering GFCI.

 

SDI-12 USB adapter with larger terminals

After some design and prototyping, now I have a newer version of the SDI-12 USB adapter that features larger 3.5mm terminals. The original 2.54mm terminals can accommodate 18AWG wires and the new 3.5mm terminals can accommodate 16AWG wires. I’ve never seen sensor wires that thick although you could get some really thick wires from AC adapters. The bigger terminals makes installing wires easier with the additional spacing between pins, besides they accept slightly thicker wires. The screws are also slightly bigger, making the terminals sturdier. I have to make the terminals overhang a millimeter or so to fit them on the same board edges. I’ve kept the 2.54mm terminals for the optional analog and digital input terminals on the top edge. I moved the power selector to fit the larger terminals on the left. Otherwise, the height of the terminals is the same as before and you won’t notice a difference unless you look carefully. For example, I no longer have a 3-pole terminal for the external power. Instead, I have a 2-pole terminal to save space. Here are some photos:

The new prototype held diagonally in my hand. I had the board printed in black matte instead of regular black glossy. This has made part placement and inspection easier since there is no longer a glare from the glossy surface. Besides the terminals, I also added a footprint for the transceiver and a solder jumper. Most people will not need a transceiver. I’ve tested my adapters without this added transceiver with cable up to 100ft (30m) without visible signal degradation. You only need it if you have a total data cable length significantly greater than 100ft(30m).

Here is a side view photo of the prototype:

Here are some comparisons between the current version (top) and the new prototype (bottom):

Since the spacing is no longer 2.54mm, like the pin headers, I will have to make a header for testing with SDI-12 sensors after assembly. I also need to find proper source to buy the larger terminals in quantity, and print out more than a handful of boards. It will take a while before I am ready to sell these in my stores.

I have also designed a 3.5mm version of the SDI-12 + Analog USB adapter but haven’t built a prototype yet. It should look the same as the basic adapter though.

SDI-12 USB adapter with larger terminals

I have recently received a few comments regarding the SDI-12 USB adapter’s terminals being too small. As a matter of fact, they are not big. They are 2.54mm (0.1″) pitch terminals. On the other hand, they can comfortable accept wires as thick as 18 AWG. I’ve rarely seen sensor cables having wires thicker than 20 AWG. Larger gauges are thinner so 18>20>22>24, AWG-wise. Also, if you have wire leads that are not tinned, you should twist the wire strands and tin the leads before inserting them into terminal blocks.

Still, having wider pitch makes it easier to insert the wire leads, including power and ground for the external power if you need that. So I made an update with 3.5mm (0.1385″) pitch terminals. I really like the size of the board and the mounting hole positions have not been changed since I made these square boards. I would like to keep them unchanged for past customers who may rely on the size to make more loggers. So here is an updated version board view (top) vs. current version (bottom):

The new 3.5mm pitch terminals will hang over the edge of the board a bit but fit the same board, after I moved the external power jumper a bit. To save space, I used a 2-pole terminal for the external power connector instead of 3-pole. The 3.5mm terminals can accept up t o16 AWG wires. I will print this board out during my next board order, which is probably a month from now. If you care to give me your opinion, please use the poll below, leave me a message, or write me a private email to zliudr@gmail.com. I will print this board on paper and make a mock-up to compare side-by-side with the current version. There is no reason both versions can’t coexist.

I also considered 5.07mm (0.2″) pitch terminals but they are just way too big to secure sensors with thinner wires. Let me know if you are interested in having this 3.5mm terminal version and why. If there is enough interest, I’ll make a batch or two.

I have a photo of 2.54mm vs. 3.5mm vs 5.07mm terminals:

2.54mm terminals are narrower than 3.5mm terminals. 5.07mm terminals are both wider and taller than the smaller versions. These are the most common terminal sizes on circuit boards.

 

 

Conversion table

2019 demo logger started on 6/3/2019

Last year’s demo logger data stream was very successful. It demonstrated the stability of my SDI-12 adapters for long-term data logging. It ran between June and October (Minnesota is cold) for 124 days. Except for occasional power outage at my house, the logger was running without a problem using the 1.5.0 logging script. This year I updated the logging script to 1.6.0 and have got a CCTV power bank to use as a backup power supply in case of power outage.

Here is a battery similar to mine that is sold on amazon.com:

The nice thing about this battery is that it gets charged via the 12V power barrel and discharged via the USB connector while it is charged. Most power banks can only be charged or discharged but not both. This one does them simultaneously. It is always charged to full when there is power in the AC. The USB port always has 5V power either from the AC or from its internal battery. Essentially this is a cheap Uninterruptible Power Supply. There is no surge protection except if your power strip has it. It is also very compact. I’ll embed it in an enclosure for a more complete enclosed logger later this month.

I expect to see next to zero down time due to this battery. This is also great for the raspberry pi since every time it loses power it could corrupt the SD card a little.

Here is the first day of data. We had some rain in the afternoon.

You can visit the live stream by clicking here.

Summer consulting projects

The summer is finally coming! This year we had a lot of snow and I was busy during the semesters. I anticipate to do some travel this summer and further develop my data logger solution but still I have the bulk of May to August open for consulting projects. Let me know if you need my help!