Summary of MEMENTO is an ESP32-S3-based, CircuitPython or Arduino programmable DIY camera module
Adafruit’s MEMENTO is an ESP32-S3-based bare board camera module with an OV5640 5MP autofocus sensor and a 1.54" 240×240 color TFT. It supports CircuitPython and Arduino, saves photos to a microSD card, offers multiple camera modes (color, B/W, solarized, JPEG, GIF, stop-motion), includes LiPoly charging, accelerometer, microphone, buttons, and Stemma ports, and is aimed at rapid development using Adafruit’s PyCamera and libraries.
Parts used in the MEMENTO:
- ESP32-S3 module (dual-core 240MHz Tensilica, 8 MB Flash, 2 MB PSRAM)
- OV5640 5MP camera module with autofocus and JPEG encoder
- 1.54" 240×240 Color TFT display
- MicroSD card slot (SPI)
- Two Digital/Analog Stemma Ports (JST PH-3)
- I2C Stemma QT Port
- LIS3DH 3-axis accelerometer
- 6 user buttons via GPIO expander
- Analog microphone
- Shutter button on GPIO 0
- Reset button
- LiPoly battery charging circuitry (3.7/4.2V compatible)
- On/Off power switch
- USB Type-C port (programming, REPL, charging)
- Breakout pads for hardware UART
- 4x M3 standoffs
Adafruit’s new MEMENTO – Bare Board Camera module is powered by the ESP32-S3 and can be programmed with CircuitPython or Arduino. The module includes a camera with an OV5640 sensor which features auto-focus capabilities and the board includes a 1.54″ 240×240 Color TFT to display the images.
Previously we have covered many ESP32-based camera modules like the TinyML-CAM, the Arduino Nicla Vision, TTGO T-Camera, and many other camera modules that feature the OV5640 sensor you can check those out if interested.

Features and Specifications of the MEMENTO ESP32 Camera Module:
- Processing and Connectivity
- ESP32-S3 Module
- Dual-core 240MHz Tensilica processor
- 8 MB Flash, 2 MB PSRAM
- WiFi and BTLE capabilities
- ESP32-S3 Module
- Camera and Display
- OV5640 Camera Module
- 5MP sensor
- 72-degree view
- Autofocus
- JPEG encoder
- 1.54″ Color TFT Display with 240×240 resolution
- OV5640 Camera Module
- Storage – MicroSD card slot (SPI)
- Ports and Expansion
- Two Digital/Analog Stemma Ports – JST PH-3 connectors for A0, A1, power, and ground
- I2C Stemma QT Port for I2C sensors (3.3V power and logic)
- Sensors and Input
- LIS3DH 3-axis accelerometer to detect orientation, shaking, or movement
- 6x user Buttons connected via GPIO expander
- Analog microphone to detect loud sounds
- Shutter button integrated into GPIO 0
- Reset Button for board resetting or bootloader access
- Power Management
- LiPoly Battery charging support, compatible with 3.7/4.2V batteries
- On/Off Switch to manage power for battery use
- Programming and Debugging
- USB Type C port for programming, REPL access, and charging
- Breakout Pads for Hardware UART for advanced debugging
- Physical Specifications
- Dimensions – 63.6mm x 63.3mm x 13.0mm
- 4x M3 Standoffs for mounting or enclosure
- Weight – 29.0 grams
The camera used in the module is an OV5640 – 5MP camera sensor with a JPEG encoder built-in. It has a 72-degree field of view and an auto-focus motor. The board uses Adafruit’s PyCamera code, and after taking a photo, it saves it directly to an SD card. Therefore, inserting an SD card into the device is essential for operation.
The device offers various camera modes, including black and white, color, and solarized modes (both normal and inverted). It features a JPEG mode and a GIF mode for creating GIFs. Additionally, there’s a stop-motion mode, where you can see the previous image as a ghost-like overlay on the screen.
When it comes to programming, this board supports Arduino and CircuitPython with code examples provided on GitHub. However, Adafruit recommends CircuitPython for its faster development time and easier use, especially with Adafruit’s supporting library.
Source: MEMENTO is an ESP32-S3-based, CircuitPython or Arduino programmable DIY camera module
- What image sensor does the MEMENTO use?
The MEMENTO uses an OV5640 5MP camera sensor with autofocus and a JPEG encoder. - Does the MEMENTO require an SD card to save photos?
Yes, after taking a photo the PyCamera code saves images directly to a microSD card, so inserting an SD card is essential. - Can the MEMENTO be programmed with CircuitPython?
Yes, the MEMENTO supports CircuitPython and Adafruit recommends it for faster development and easier use with their library. - Is Arduino supported on the MEMENTO?
Yes, the board supports programming with Arduino as well as CircuitPython, with code examples available on GitHub. - What display does the MEMENTO include?
It includes a 1.54-inch color TFT display with 240×240 resolution. - What camera modes are available on the MEMENTO?
Camera modes include black and white, color, solarized (normal and inverted), JPEG mode, GIF mode, and a stop-motion mode with ghost overlay. - Does the MEMENTO include motion or orientation sensing?
Yes, it includes an LIS3DH 3-axis accelerometer to detect orientation, shaking, or movement. - How is power and battery handled on the MEMENTO?
The board supports LiPoly battery charging for 3.7/4.2V batteries and includes an on/off switch for battery power management. - What connectivity options are available on the MEMENTO?
It has WiFi and BTLE via the ESP32-S3, Stemma JST ports for sensors, a microSD slot, and a USB Type-C port for programming and charging.
