Micro Sd card question

New here with an Ender 3 V2.

Can the micro SD cards be removed while the machine is on, hot swap or should the printer be turned off to prevent a problem.

It can be done, i havent had any issues, so long as it isn’t printing at that moment.

Also welcome to the forum :slight_smile:

1 Like

Welcome! :slight_smile:

You can remove the sd card at any time, except when you’re printing. :wink: If you remove the card while printing, the print will stop and you’ll loose your print. that’s it.

3 Likes

I have only been printing for a couple of months, so many questions to come.

1 Like

hi @Loosenut welcome to the forum, we welcome all and any questions. If you have a question and ask it 10 other people had the same question and never asked it.

1 Like

My previous version of marlin had a main menu option to release and attach media. I was in the habit of always releasing it before physically removing the card.
Last night I did a build of the latest marlin using all of my settings from the previous version and somehow the menu item to release media is no longer there.
After a quick search it looks like marlin is smart enough to call the release media functions automatically after the card is pulled and knows when one is inserted. For the most part it seems the old release media option was somewhat redundant in most cases. So long story short, like everyone else said, pulling the card out should be fine.

The fundamental problem with SD cards is the relatively slow write cycles. Modern cards are much better in that regard than their older counterparts, but it must be remembered that the card reader/writer (not just the card itself) must be capable of writing at those higher speeds in order to take full advantage of them.

This gets us to printer controller boards and their SD card slots. There’s really not a lot of incentive here for the the controller manufacturers to put high-speed components on them.

On a 3D printer, the SD card is almost exclusively used to read files. On my Ender 5Pro, for example, there is one file on the SD card (EEPROM.DAT) that is created by the printer and that file is only 4KB which takes only a second or so to write.

As for reading, keep in mind that while your GCode files may be 14MB in size, the machine reads it over the course of 20 hours. SD Card speed is definitely not an issue.

It’s also important to note that 3D printers are not multi-tasking machines. Nothing else needs to happen when an EEPROM.DAT is being written to, so timing doesn’t matter.

Compare that to your desktop (laptop) computer. People are used to, or at least want, snappy response times from their computers. In this case the several seconds/minutes it takes to save, say, a movie to an SD card would be intolerable if it locked the machine up while the file was being written, so, to free up the computer, the file is actually written to a buffer in the computer’s RAM in a millisecond freeing up the user to get on with other things, while the operating system slowly writes out the contents of the buffer to the SD card. For small numbers of small files, this is almost instantaneous, but for larger numbers of files, or in cases where the computer has other, larger processing tasks in progress for other reasons, the SD card can be given a lower priority.
This is why, on a multi-tasking computer, it’s important to eject the card. That forces the operating system to finish writing the contents of the buffer to the card and to notify you when it’s finished and, thus, safe to eject the card.
On a printer, given the tiny files sizes and the single-tasking nature of the printer controller, writing to the SD card will be the only task it’s handling when it does and the writing will be fairly quick since there isn’t much to write in the first place. Hence, by the time you pull the card out, the write cycle is likely already finished.
Putting an eject card function in Marlin was probably never really necessary in the first place unless earlier versions of Marlin were leaving files open, as would be the case if it kept a log file, for example.

1 Like

@LEGOManiac very well said.