diff --git a/include/core/sensor/sensor_base.h b/include/core/sensor/sensor_base.h
index 653447cd77b01361e57f79e130a5d4da63390b2d..d31326fc27e724d6a3e81e34ae1a3bdd85e06494 100644
--- a/include/core/sensor/sensor_base.h
+++ b/include/core/sensor/sensor_base.h
@@ -18,6 +18,34 @@ class StateBlock;
 
 namespace wolf {
 
+
+/*
+ * Macro for defining Autoconf sensor creator.
+ *
+ * In order to use this macro, the derived sensor class, SensorClass, must have a constructor available like so:
+ *
+ *   SensorClass(const VectorXs & _extrinsics, const IntrinsicsClassPtr _intrinsics);
+ *
+ */
+#define WOLF_CREATE_SENSOR_AUTO(SensorClass, IntrinsicsClass, ExtrinsicsSize)                                       \
+static SensorBasePtr createAutoConf(const std::string& _unique_name, const ParamsServer& _server)                   \
+{                                                                                                                   \
+    Eigen::VectorXs extrinsics = _server.template getParam<Eigen::VectorXs>(_unique_name + "/extrinsic/pose");      \
+                                                                                                                    \
+    assert(extrinsics.size() == ExtrinsicsSize && "Bad extrinsics vector length.");  \
+                                                                                                                    \
+    IntrinsicsClass##Ptr params = std::make_shared<IntrinsicsClass>(_unique_name, _server);                         \
+                                                                                                                    \
+    SensorClass##Ptr sensor    = std::make_shared<SensorClass>(extrinsics, params);                                 \
+                                                                                                                    \
+    sensor    ->setName(_unique_name);                                                                              \
+                                                                                                                    \
+    return sensor;                                                                                                  \
+}
+
+
+
+
 /** \brief base struct for intrinsic sensor parameters
  *
  * Derive from this struct to create structs of sensor intrinsic parameters.