How would subzero temperature affect electronics in an Arduino Project?

0

I want to create a project with a custom PCB with the ATMEGA328P that can log temperature and humidity to a microSD card and transmit the date via mobile data using a SIM to an API. The project would also have an LCD display to display the real time data and also to modify a few settings via some buttons.

Now my concern is that, the equipment will be present in a container where the temperatures are -18 degree Celcius. I am concerned about how the electronics will behave at the sub zero temperatures and also how to deal with condensation taking place.

What are the precautions I need to take while designing such a project?

Where is the device to be used? What conditions? What environment? Cold country for example? What does the device do? Why do you think there will be humidity when the temperature is well below zero?

From the datasheet for the ATMEGA328P.

Check the data sheets for the other components.

Then you just need to make sure that your PCB & enclosure are tolerant.

The device will be used in shipping freezer containers. The container temperature will be around -20 degree Celcius. The country is India, so when the container is not powered and temperatures return to room temperature of around 30 degree Celcius, condensation can be a problem

So the board itself shouldn't have a problem. The LCD probably wouldn't display at such low temp but there wouldn't be anyone to look at it anyway! Use properly specified batteries for low temp (LiPo or LiSoCl). Put the whole thing in a project box with a well fitting lid with gasket, and pop in a couple of silica gel packs. Do the buttons need to be on the outside of a box? If so use ones that are sealed. SIMs don't transmit data, cellular modems do which need a SIM. Obviously the project box can't be metal and presumably the overall contained isn't either if you want a mobile data connection.

Just seen your post saying it's a shipping container - highly unlikely that you would get a reliable cellular connection to something inside such a container, much better to fix your unit outside.

Yes the data will be logged when it is in the container and will be transmitted when the equipment enclosure is brought out and and button is pressed. This will occur once every week. The enclosure will be a 3D printed case.

Will the LCD display when the equipment is brough outside or it might get spoilt due to the low temperatures?

Also the changing or charging of LiPo or LiSoCl batteries would not be practically viable, so I intended to use off the shelf AA Alkaline batteries. Should that be ok?

It will depend on the LCD - check the data sheet for "minimum storage temperature". It probably wouldn't display properly for a few minutes while it warms up.

I wouldn't advise a 3D printed case, better use a project box like this:

Also suggest that all the cellular comms is powered off except when you want to upload the data, there's no point having it searching for a network every few seconds when it's inside a screened enclosure!

Just want to say again...

Datasheet.

Datasheet.

Datasheet.

NO! Alkaline batteries are very poor at low temperature, much below freezing.

I spent quite a lot of time at one stage studying battery types for critical IoT applications needing long lifetime and low temperature, it isn't as easy as it first appears.

If you can't charge a LiPo battery while the data is being uploaded, the best option is Lithium Thionyl Chloride which are specified for this type of application - used in utility meters for example. There are also Lithium "alkaline" batteries which I think are better than standard but you will need to check how their capacity is affected by low temperature.

But the effective capacity of any battery is affected by low temperature so since your unit spends most of its life very cold you will have to be very careful about minimising the current consumption. For example I don't think on most Arduinos you can switch of the Pon LED - that would use most of your battery energy in itself if you weren't careful.

Ah, just seen that you will design a custom card, so you can avoid the LED! Good. But is the 328 the best choice for this? You could look for other processors, more likely to be ARM based, which can be supported by the Arduino IDE but have lower power consumption.

Thanks your suggestions have been very helpful. I will turn off the cellular comms pragmatically to limit power consumption. I also need to use this for containers operating between 4-10 degree Celcius in addition to the sub zero containers. Should Alkaline batteries be fine for the ones operating in 4-10 degree range?

The devices will be used at remote sites where unskilled labour will be operating them. Hence I wanted to use off the shelf batteries that can be easily bought from local stores and replaced.

This data sheet includes curves for temperature affect on capacity for LR6 batteries. You can find these via Google as well as I can. It isn't just the capacity, also allow for the voltage changing as the battery discharges and at lower temperature. You may need to include a boost converter to maintain the supply voltage at low temp as the battery discharges - that of course increases the current drawn from the battery so you need to provide excess capacity!

Even at 4-10C you'll need to think carefully about capacity and voltage.

Also look at Lithium Manganese Dioxide batteries. This is the chemistry used in button cells for example but also in AA and AAA sizes. One manufacturer is Varta. These however may not be widely available from local stores.

What you are trying to do looks easy but actually is far from it! Is your objective to have an interesting project or have a viable cold-chain monitoring solution? If the latter I am sure there are products already available that do the job and should have solved all these problems. A quick google will find them for you. If the former then it's a great challenge and good luck with your development!

I am trying to create a viable cold chain monitoring solution for our use case. There are many solutions for that but I could not find any device designed to transmit the data via comms. Also I could not find a device that can transmit data to programmable API's at a viable cost.

Thanks for the feedback

this is nothing, good cooling and mild superconductivity :joy:

Have you had a look at what is available commercially , from simple tapes that change colour if a temp is breached to tiny temperature loggers .
Maybe for inspiration or just buy one . Look at you spec , there maybe good reason why some of your needs are not available , security of data etc , getting a good seal against condensation etc
[Example](Monitoring Temperature & Humidity of Goods In Transport

How will -18C affect the crystal clock? and the clock of the comms gear. The comms gear will be at < 0 for some time after you take it out, and might have difficulty connecting if its own clock is affected by the temperature.
On condensation I think dry ice might be part of the solution, it's my understanding that dry ice displaces air in these situations. The unit will have some air inside even if it is sealed.

Standard cellular modules incorporate a VCTCXO and can attain 0.1ppm when locked to the network and have to be within 1ppm or so when powered on.

I think there are a few things you can do to find your answer. Primarily if you can find data sheeta for your components, most I've seen will give temperature ranges for what are usable temperature, when it comes to humidity I'm not sure data sheets cover that, but from what I've read before arduinos can work up to 90-95% humidity. You also want to take into consideration the wires you're using, if temperatures get too low they could crack.

You'll also want to look into batteries specific to each environment, some alkaline batteries are water based which freeze up in low temperatures to where they drain quickly.

I wonder if you should think about a different approach? Make the temperature monitor as a sealed box with no buttons or display, a low power processor, and Bluetooth LE comms. Then have an app on a smartphone that communicates over the BTLE to upload the data when it's taken out of the container and do any configuration that is needed. Data then uploaded from the phone to your API. See https://content.u-blox.com/sites/default/files/ShortRange_LineCard_UBX-14003456.pdf for some BTLE modules that have application processors built-in. This approach may allow you to use for example lithium button cells which are widely available and the power supply problems will be eased as you will not have to support cellular transmit power. Still will need careful thought around the battery choice.