diff --git a/src/libcamera/meson.build b/src/libcamera/meson.build
index 45f63e932e4f..2e7b0c77e63c 100644
--- a/src/libcamera/meson.build
+++ b/src/libcamera/meson.build
@@ -7,8 +7,6 @@ libcamera_sources = files([
     'camera_controls.cpp',
     'camera_lens.cpp',
     'camera_manager.cpp',
-    'camera_sensor.cpp',
-    'camera_sensor_properties.cpp',
     'color_space.cpp',
     'controls.cpp',
     'control_serializer.cpp',
@@ -69,6 +67,7 @@ subdir('converter')
 subdir('ipa')
 subdir('pipeline')
 subdir('proxy')
+subdir('sensor')
 
 null_dep = dependency('', required : false)
 
diff --git a/src/libcamera/camera_sensor.cpp b/src/libcamera/sensor/camera_sensor.cpp
similarity index 100%
rename from src/libcamera/camera_sensor.cpp
rename to src/libcamera/sensor/camera_sensor.cpp
diff --git a/src/libcamera/camera_sensor_properties.cpp b/src/libcamera/sensor/camera_sensor_properties.cpp
similarity index 100%
rename from src/libcamera/camera_sensor_properties.cpp
rename to src/libcamera/sensor/camera_sensor_properties.cpp
diff --git a/src/libcamera/sensor/meson.build b/src/libcamera/sensor/meson.build
new file mode 100644
index 000000000000..bf4b131a94b1
--- /dev/null
+++ b/src/libcamera/sensor/meson.build
@@ -0,0 +1,6 @@
+# SPDX-License-Identifier: CC0-1.0
+
+libcamera_sources += files([
+    'camera_sensor.cpp',
+    'camera_sensor_properties.cpp',
+])
