

Tiny capsule toy of Japanese arcade game cabinet that showing intro movies.
Can play many movies you want with SD card storage!
Original capsule toy Playing 15FPS movie file with sounds
Auto looping
Unlimited number of movie file with SD card storage
Selection with a tact switch
Volume setting by config.cfg
ESP32-S3-Zero
ST7789 SPI TFT LCD (240x240, 1.54inch)
SD card module
MAX98357A DAC+Amp
Tact switch
20mm speaker
lovyanGFX
SD.h
SPI.h
vector
algorithm
* ESP32-S3-Zero --> TFT LCD
cfg.pin_sclk = 13; // SCL
cfg.pin_mosi = 12; // SCA
cfg.pin_rst = 11; // RES
cfg.pin_dc = 10;
cfg.spi_mode = 3;
BLK : not necessary to connect
miso, cs, busy : set to -1
* ESP32-S3-Zero --> MAX98357A
LRC = 9
BCLK = 8
DIN = 7
GAIN -> GND
SD -> VIN
* ESP32-S3-Zero --> SD card module
SD_CS = 4
SD_MOSI = 3
SD_CLK = 2
SD_MISO = 1
* Video
ffmpeg -i input.mp4 -vf "crop=960:672:160:24,scale=240:168,setpts=0.675*PTS,fps=15" -c:v rawvideo -pix_fmt rgb565 -f rawvideo output.raw
crop=960:672:160:24 -> Video crop
scale=240:168 -> Video resize
setpts=0.675*PTS,fps=15 -> Optimize for ESP32 playback performance
* Audio
ffmpeg -i source.mp4 -vn -acodec pcm_s16le -ar 22050 -ac 1 -t 10.0 -filter:a "volume=2.0" output.wav