diff --git a/src/libcamera/pipeline/raspberrypi/data/meson.build b/src/libcamera/pipeline/raspberrypi/data/meson.build
index 1c70433bbcbc..6aecd8ae68c8 100644
--- a/src/libcamera/pipeline/raspberrypi/data/meson.build
+++ b/src/libcamera/pipeline/raspberrypi/data/meson.build
@@ -2,6 +2,7 @@
 
 conf_files = files([
     'example.yaml',
+    'minimal_mem.yaml',
 ])
 
 install_data(conf_files,
diff --git a/src/libcamera/pipeline/raspberrypi/data/minimal_mem.yaml b/src/libcamera/pipeline/raspberrypi/data/minimal_mem.yaml
new file mode 100644
index 000000000000..5cd593025140
--- /dev/null
+++ b/src/libcamera/pipeline/raspberrypi/data/minimal_mem.yaml
@@ -0,0 +1,29 @@
+{
+        "version": 1.0,
+        "target": "bcm2835",
+
+        "pipeline_handler":
+        {
+                # The minimum number of internal buffers to be allocated for
+                # Unicam. This value must be greater than 0, but less than or
+                # equal to min_total_unicam_buffers.
+                "min_unicam_buffers": 0,
+
+                # The minimum total (internal + external) buffer count used for
+                # Unicam. The number of internal buffers allocated for Unicam is
+                # given by:
+                #
+                # internal buffer count = max(min_unicam_buffers,
+                #         min_total_unicam_buffers - external buffer count)
+                "min_total_unicam_buffers": 1,
+
+                # Override any request from the IPA to drop a number of startup
+                # frames.
+                "disable_startup_frame_drops": true,
+
+                # Always process a pending request with the last captured sensor
+                # frame.  Note that this might lead to avoidable frame drops
+                # during periods of transient heavy CPU loading.
+                "return_newest_frames": false
+        }
+}
