Flash memory is an electronic non-volatile computer memory storage medium that can be electrically erased and reprogrammed. The two main types of flash memory, NOR flash and NAND flash, are named for the NOR and NAND logic gates. Both use the same cell design, consisting of floating gate MOSFETs. Simply put, SD cards are usually larger than standard memory cards like Micro SD card. Specifically, the SD card is available in a size of 24 mm x 32 mm x 2.1 mm, and the memory cards like TF card comes at a size of 15 mm x 11 mm x 1 mm. Hence it is wrong to refer to the memory card of mobile phones as SD cards. GR/9484745. Here is a list of commands I found to be common among these SPI NAND flashes. I don't know the details of SD card commands but was able to tell that these are NOT SD card commands. These NAND SPI flashes all claim their commands are compatible with NOR SPI flashes, which I think is what WROVER is using for program storage. Most of recent (newer than 0.6.9) Linux OS images contain a script called rock64_write_spi_flash.sh, which is found in /usr/local/sbin directory. To run the script you will first need to flash a Linux OS image to a micro SD card (to learn how to flash OS images to micro SD please following steps outlined in Section 3). The library code you use to write, writes to a default 512 bytes (DOSFAT) buffer that gets written at burst speed to the controller in the SD card that changes the flash bits a block at a time. I look at the ATmega1284P as more more suited to SD use. 16K RAM, 4K EEPROM, 128K flash, 32 IO pins, DIP not expensive even at Mouser (vs eBay or AliX From my experience, typical SD card current consumption is ~30mA in SPI mode and ~100mA in 4-bit SD mode. My advice would be to include the first figure with a 2x or 3x safety margin (that is, 60 or 90 mA) in your device power budget, and make sure that the rest of your circuit never consumes more than 500-60 = 440mA or 500-90 = 410mA I will try to answer your questions clearly: - You are indeed limited to 8MHz speed on the normal SPI peripherals. However, the nRF5340 does boast a fourth SPI peripheral with support of 32MHz speeds. - From what I can see this is true. Non of our devices supports 4-bit SD Card interfacing, so I believe this would be difficult to utilize anyway. SD performance varies by the make and model of the SD card. For these tests, I was using a SanDisk Ultra Plus 16GB microSD. The SPI SD tests used the same microSD in a SD carrier on a SD card breakout board (on a breadboard with jumpers to pyboard). The pyboard SPI SD driver (sdcard.py) uses a baudrate of 100000 hz for initial configuration 2. The pull-up resistors are only there to ensure the idle state (the host will set them to high-Z when the interface is not in use.) When the SPI / SDIO interface is active, these are driven by push-pull drivers on the host (SCK, SSn and MOSI) and on the SD card (MISO.) It is helpful to avoid stubs on these pull-up lines to improve signal Currently on the board the USB port is connected to the internal MCU, which in turn is connected via SPI to the flash chip. The internal MCU is the master on the SPI bus. But the SPI bus does not support multiple masters on one bus. So just connecting the external MCU to the SPI lines as master would not work. I see 2 possible ways to go here: fh60LMc.