How to Know when Your Data Logger Memory Is Getting Full

by Janet Albers | Updated: 09/15/2016 | Comments: 2

Search the Blog

Blog Languages

Français (French)

Subscribe to the Blog

Get an email when a new article is posted. Choose the topics that interest you most.

Area / Application

Product Category


Corporate / News

Enter your email address:

Suggest an Article

Is there a topic you would like to learn more about? Let us know.

Leave this field empty

It’s common for our customers to wonder when their data logger memory is going to be full, what will happen to their data when the memory is full, and what they should do about it. After all, your data is specific to your application and not reproducible, so you don’t want your data overwritten before you’ve had a chance to save it to your computer and use it. In this brief article, I’ll outline what you need to know about how the memory of your Campbell Scientific data logger works.

What does it mean to fill the memory of your data logger?

It’s important for you to know that your Campbell Scientific data logger doesn’t become full and then stop storing new data. Rather, by default, your data logger's final-data memory (that is, memory for stored data) is organized as ring memory. Each data table is its own ring memory. When the ring is full, oldest data are overwritten by newest data. So, you can think of filling the memory of your data logger as determining the point in time when any new data you store will overwrite any old data you have.

Note: Look for the FillStop instruction in your data logger program to determine if your table will fill and stop instead of ringing.

What factors determine how quickly your data logger memory will fill up?

How much time passes before your data logger memory fills up depends on the following:

  • The number of records allocated to a table
  • The number of values being written to the data table each time a record is written
  • The data types of those values
  • The conditions that determine whether new data is added to a data table (such as how frequently data is written to the table)
  • The amount of memory available in your data logger

How do you calculate how soon your data logger memory will be full?

If you have a newer data logger, such as the CR6, you can easily determine the time limit by loading the program and letting the data logger make the calculation. You can find this information in the program details.

Recommended for You: For help finding the Table Fill Times tab, review the “Tips and Tricks: Details, Details, Details!” newsletter article.

Starting with OS 28, you can also find helpful information in the DataTableInfo table where each data table in the program is assigned a field called DataFillDays.

Alternatively, click the Station Status button in your data logger support software (LoggerNet, PC400, or PC200W), and view the Table Fill Times tab.


Note: Table Fill Times statistics cannot be calculated for a CR200(X)-series datalogger.

Writing Data Based on Other Conditions

For data tables that store data based on some condition other than time, it’s not possible for your data logger to estimate how often the condition will occur. Your data logger assumes the worst-case scenario, which is that data will be written to conditional tables for every scan. The result is that the DataFillDays field may show a conditional table filling in minutes or hours, but the reality may be that the condition that triggers your data storage is rare and the table will never be filled.

Tip: Define the table size for your conditional data tables by setting a specific number of records rather than allowing your data logger to auto-allocate table size. Reserve the use of auto-allocation for data tables that store data based only on time.

Recommended for You: For more information about how the DataEvent() instruction is used to store data based on an event rather than a time interval, read the “Tips and Tricks: DataEvent()” newsletter article.

Array-Based Data Logger

If you have an older array-based data logger, you can estimate the time to fill the memory by dividing 62,000 by the number of values stored per day.  For example, the array 106,239,1400,22.47,22.81,73,10.61 contains 7 data points. If this is being stored every hour, 168 data points (24 hours * 7 data points) would be stored per day. Therefore, 62,000 data points /168 data points per day ≈ 369 days. You may have arrays being stored at several time intervals. 

How often should you collect data?

Don’t wait to collect data until your new data is about to overwrite your oldest data. Collect your data as often as you can afford to lose it. Instrumentation in the field is subject to conditions outside of your control. Collecting and reviewing your data is the best way to ensure your system is functioning as designed.


After reading this article, I hope you understand what happens to your data in terms of your data logger memory filling up. Your data is invaluable to you, and it’s important to copy it from the data logger to your computer before it is overwritten.

Recommended for You: Need additional help? Review the “Collect Data” tutorial or the "Table Fill Times" segment of the "Connect Window Tutorial." 

If you have any questions or comments about the memory of your data logger, post them below.

Share This Article

Related Content

About the Author

janet albers Janet Albers is a Senior Technical Writer. She'll share tips, simplify concepts, and guide you to a successful project. She's been at Campbell Scientific, Inc. longer than the CR1000, but not quite as long as the CR10X. After work hours, Janet enjoys the outdoors with her boys and dogs.

View all articles by this author.


SebastienLisah | 01/13/2017 at 03:45 AM


existe t'il une méthode pour calculer en combien de temps la mémoire d'une CR216 sera pleine?


jra | 02/23/2017 at 01:04 PM


         Is there a method to calculate how long the memory of a CR216 will be full?

Not directly. In the Connect window, the Station Status has a Table Fill Times tab for the CR200-series. There you can see the number of records or rows of data in each table. You will need to look at the datalogger program to see how often each record is written, typically that is with the DataInterval() instruction.  From that you can calculate how much time each table has. 

If a Table has 300 rows allocated to it and you're writing one row each day, that gives you 300 days of storage. 

I hope that helps.



Please log in or register to comment.