Answers to 5 Common Questions about Storing Data to Memory Cards

by Carolyn Ivans | Updated: 01/04/2017 | Comments: 3

Search the Blog

Subscribe to the Blog

Set up your preferences for receiving email notifications when new blog articles are posted that match your areas of interest.

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. Please be as specific as possible.

Leave this field empty

memory cards with question mark

You may use CompactFlash or microSD memory cards for external storage of your datalogger data, but are you using your cards correctly? In this article, I’ll answer some common questions you may have about memory card usage.

Recommended for You: If you haven’t done so already, you may find it helpful to read the “Pick a Memory Card, but Not Just Any Memory Card” and “How to Store Datalogger Data to a Memory Card” blog articles.

#1 - Why do I have to push a button before removing a memory card from a datalogger, and what happens if I don’t?

When you press either the Initiate Removal button on the face of the NL116 or CFM100 modules (for CR1000 or CR3000 dataloggers) or the Eject button on the CR6 datalogger, two actions occur that are important to avoid data loss or corruption:

  1. The transfer of buffered data on the CPU to the memory card is triggered.
  2. Further writing to the memory card is suspended.

You may be interested to know that the requirement to suspend writing to a memory card before removing it from a device is not unique to dataloggers. Any device that writes to a memory card, including cameras, phones, computers, and dataloggers, should not be interrupted while accessing memory because open files are vulnerable to corruption (that is, scrambled or missing information).

If you have open files that become corrupted, your software may not be able to read the memory card. Oftentimes, your only option is to reformat the corrupted memory card, which erases all your data on the card.  

To avoid corruption or loss of data, you should only eject a memory card after the status, or activity (Act) light (LED) on the NL116, CFM100, or CR6 displays a solid green color. A solid green LED indicates that buffered data on the CPU has been transferred to the card and that writing to the card has been safely suspended.   

#2 - What happens to data on my memory card if I send a new program while the card is inserted?

To avoid data loss, you should always collect or copy data from your memory card before sending a new program to your datalogger. However, how existing data files on your card are treated depends in part on whether data are written to the card via the TableFile() or CardOut() instruction.

  • If data are written to your memory card via TableFile(), files on the card are searched at program compile time. If a .dat file with the same name as a current TableFile() is found, the number at the end of the file is incremented, and new data files continue to be written.
  • If data are written to your memory card via CardOut() and you send a new file to your datalogger via LoggerNet, LoggerNet sends a command to delete all old .dat files, and new files are written.
  • If a CardOut() program is sent from LoggerNet or DevConfig File Control, you are given the option to either preserve data if no table definitions have changed, or to delete old .dat files that are associated with the program being sent, as shown below:

Recommended for You: For more information about File Control, watch these videos: "Connect | Manage Storage Devices with File Control" and "Connect | Manage Files with File Control."

#3 - What happens if I swap in a memory card that has old data on it?

The answer depends on three things:

  1. How data are written to your memory card
  2. Whether the old data on your card have the same table definitions as the current program
  3. Whether the Delete CardOut Data Files if CardOut Data Table Mismatch setting is enabled on your datalogger

If data are written to your memory card via the TableFile() instruction, new files are written to the newly inserted card—as long as there is space available on the card.

If data are written to your memory card via the CardOut() instruction, and the card you inserted has old files that were created by the same program (that is, the old files have the same table definitions as the currently compiled program), new data are appended to the old files.

If the files on your memory card are from a different program or a different datalogger (that is, they have different table definitions), a card error occurs when you insert the card into your datalogger. In this case, the status or activity LED turns orange, and no new files are written to your memory card. To resume data storage to your card, delete the old files or edit the program to rename the new files.

The following fields are included in the check of table definitions:

  • Model type
  • Serial #
  • Station Name
  • Program name
  • All table field information

To avoid the issue of no new files being written to a memory card if the table definitions do not match, you can enable the Delete CardOut Data Files if CardOut Data Table Mismatch setting in your datalogger by setting it to 1. This setting is found in the datalogger Settings Editor under the Advanced tab:

Advanced tab of the Settings Editor

The Delete CardOut Data Files if CardOut Data Table Mismatch setting was added in OS 28 and later operating systems (for the CR1000/CR3000) and in OS 4 and later (for the CR6). With this setting enabled, your files with table definitions that don’t match the current running program are deleted from the memory card, and new files are written to your card.

Warning: Use caution when enabling the Delete CardOut Data Files if CardOut Data Table Mismatch setting to prevent the unintentional loss of data. (By default, this setting is NOT enabled.)

#4 - Why do I need to use CardConvert software to read my memory card’s data files directly from the card?

For both CardOut() and TableFile Option 64, data are written to your memory card in a binary format (TOB3) with a name consisting of the datalogger's Station Name, the DataTable name, and a .dat extension (stationname.tablename.dat). (A datalogger always has a Station Name. If a specific name is not assigned, the default name is the serial number of the datalogger.) The file is also assigned a date based on the time the program was compiled in the datalogger. To become human-readable, these binary files must be converted to ASCII (TOA5) using the CardConvert software (included in LoggerNet, PC400, PC200W, and other software).

Recommended for You: For more information on TableFile Option 64, read the “How to Store Datalogger Data to a Memory Card” blog article.

#5 - How can I tell if my memory card is OK?

There are two methods to check on the well-being of your memory card while it is active in the datalogger, explained below.

Check the LED

If you have physical access to your datalogger, check the status of the LED. The different colors and flashing status mean different things:

  • If the LED is flashing red, the card is being accessed—written to or read from. Do not remove the card.
  • If the LED is solid green, it is OK to remove the card.
  • If the LED is solid orange, there is an error.
  • If the LED is flashing orange, the memory card has been removed for a long enough duration that the CPU memory has wrapped, and the data are being overwritten without being stored to the card.

Recommended for You: For more information on filling up memory space, read the “How to Know when Your Datalogger Memory Is Getting Full” blog article.

Check the CardStatus

Check the CardStatus in the datalogger Status Table often. The status should be Card OK with no errors reported, as shown in the image below:

Status Table tab with CardStatus

If any errors are reported, collect data from your memory card as soon as possible. The card may need to be formatted or replaced if it is damaged.

Tip: It is advisable to collect data as often as possible to avoid data loss from any unexpected events such as power loss, hardware or software malfunctions, or natural disasters.

Recommended for You: For more information about using Station Status to check the CardStatus, review the "Status Table Summary" slide with accompanying video.


I hope this article has answered your questions regarding storing your data to CompactFlash and microSD memory cards. If you have any memory card questions that I didn’t cover here, post them below.

Share This Article

About the Author

carolyn ivans Carolyn Ivans is a member of the Hardware Support Group at Campbell Scientific, Inc., focusing on testing new operating systems for dataloggers, peripherals, and new devices. She has a doctorate in Ecology, Evolution, and Conservation Biology from the University of Nevada, Reno and enjoys testing products as an end-user. When Carolyn is not busy testing products, she enjoys long walks and bike riding with her family.

View all articles by this author.


JanE | 02/20/2017 at 01:49 AM


I have the impression that as long as a file is open on CRD (with FileOpen) it is not shown in File control (Connect Screen). Only after a FileClose it shows.

Cheers, Jan

Carolyn | 02/21/2017 at 08:07 AM

Hi, Jan,

Both CardOut and Tablefile option 64 preallocate memory for card files. This means that as soon as the instruction executes in the CRBasic program, the file will show up in File Control. A difference is that with CardOut, the file will remain open for writing as long as the program is running. For Tablefile option 64, a file is closed each time the time interval or number of records specified in the Tablefile instruction is met and then a new file is opened.


Carolyn | 02/21/2017 at 08:28 AM

Hi, Jan,

I should have added that Tablefile option 64 is the only option of Tablefile that preallocates memory (i.e. behaves the same as CardOut). Other options of Tablefile (such as option 8, ACSII) do not preallocate memory for the files written and hence will not appear in File Control before the first file is written. 


Please log in or register to comment.

We're active on Social Media!
Stay informed with our latest updates by following us on these platforms: