This application turns the Waveshare ESP32-S3 3.16" (320x820) into a simple full-screen MJPEG video player for the built-in ST7701 display.
It is designed to:
- play
.mjpegand.mjpgfiles from an SD card - run without WebConfigKit or a web UI
- show clear on-screen status messages when media is missing
- recover when the SD card is removed and reinserted
Need to convert your videos first? Use Video Conversion Studio to prepare MJPEG files for this player.
At startup, the player:
- initializes the display
- initializes the SD card
- scans the configured SD folder for MJPEG files
- plays each video full screen
If looping is enabled, it starts again from the first file after finishing the folder.
- SD-card MJPEG playback
- Plays all supported videos in one folder
- Full-screen playback on the ST7701 display
- Boot button skip to next video
- Optional shake-to-next-video using the IMU
- Centered on-screen status messages
- Automatic retry when no SD card is present
- Automatic recovery after SD reinsertion
- File types:
.mjpeg,.mjpg - Source: SD card
- Playback source folder: configurable in
app_config.h
Boot button: skip to the next video immediatelyShake gesture: skip to the next video if enabled
The main user settings are in app_config.h:
MJPEG_DIRECTORY_PATH: folder on the SD card that contains the videosMJPEG_LOOP_FOREVER: replay the folder continuously or stop after one passMJPEG_RETRY_DELAY_MS: retry delay when media is missingSHAKE_NEXT_VIDEO_ENABLED: enable or disable shake-to-next-video
The player shows clear centered messages for common situations, including:
- no SD card inserted
- SD card ready
- MJPEG folder missing
- no videos found
- playback complete
- Put
.mjpegor.mjpgfiles into the configured folder on the SD card. - Insert the SD card.
- Power the board.
- The player will start scanning and playing automatically.
- This app plays MJPEG files only.
- It scans one configured folder rather than using playlists or a file browser.
- Configuration is compile-time through
app_config.h. - There is no WebConfigKit dependency in this project.
