pdf-icon

Arduino Quick Start

2. Devices & Examples

Fire MicroSD Card

M5Fire MicroSD Card related APIs and example program.

Example

Compilation Requirements

  • M5Stack Board Manager version >= 2.1.4
  • Board selection = M5PaperS3
  • M5Unified library version >= 0.2.5
  • M5GFX library version >= 0.2.7
cpp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
#include <Arduino.h>
#include <SPI.h>
#include <SD.h>
#include <M5Unified.h>
#include <M5GFX.h>
#define SD_SPI_CS_PIN 4
#define SD_SPI_SCK_PIN 18
#define SD_SPI_MOSI_PIN 23
#define SD_SPI_MISO_PIN 19
void setup() {
M5.begin();
M5.Display.setTextFont(&fonts::Orbitron_Light_24);
M5.Display.setTextSize(1);
// SD Card Initialization
SPI.begin(SD_SPI_SCK_PIN, SD_SPI_MISO_PIN, SD_SPI_MOSI_PIN, SD_SPI_CS_PIN);
if (!SD.begin(SD_SPI_CS_PIN, SPI, 25000000)) {
// Print a message if SD card initialization failed or if the SD card does not exist.
M5.Display.print("\n SD card not detected\n");
while (1)
;
} else {
M5.Display.print("\n SD card detected\n");
}
delay(1000);
// Write TXT file
M5.Display.print("\n SD card write test...\n");
auto file = SD.open("/WriteTest.txt", FILE_WRITE, true);
if (file) {
file.print("Hello, world! \nSD card write success! \n");
file.close();
M5.Display.print(" SD card write success\n");
} else {
M5.Display.print(" Failed to create TXT file\n");
}
delay(1000);
M5.Display.print("\n SD card read test...\n");
if (SD.open("/TestPicture01.png", FILE_READ, false)) {
M5.Display.print(" PNG file 01 detected\n");
} else {
M5.Display.print(" PNG file 01 not detected\n");
}
if (SD.open("/TestPicture02.png", FILE_READ, false)) {
M5.Display.print(" PNG file 02 detected\n");
} else {
M5.Display.print(" PNG file 02 not detected\n");
}
}
void loop() {
// Read PNG file and draw picture
M5.Display.drawPngFile(SD, "/TestPicture01_320_240.png");
delay(1000);
M5.Display.drawPngFile(SD, "/TestPicture02_320_240.png");
delay(1000);
}

Prepare a MicroSD card, format it to FAT32, and place two 320*240 resolution PNG images in the root directory, named TestPicture01.pngTestPicture02.pngimages in the root directory, named Sample Image 1 and Sample Image 2. (If the resolution of the images is not 320*240, the program will decide the display method based on presets, which may cause display issues.)

Insert this SD card into the Fire, ensuring the SD card's contacts face the same direction as the Fire's screen. Copy the code above into Arduino IDE, then compile and upload it to the Fire.

This program will create a text file WriteTest.txt on the SD card and write a string into it, then loop and display the two PNG images from the SD card.

API

Fire MicroSD card section uses the built-in Arduino SD library and the drawPngFile function from the M5GFX library. For more related APIs, refer to the documents below:

On This Page