diff --git a/src/shared/sensors/analog/AnalogLoadCell.h b/src/shared/sensors/analog/AnalogLoadCell.h
index 92a6752501abd0c46ac9d29314f17ef8f399089e..53d0dc42430fc7e4f37528941039c666e15d26a2 100644
--- a/src/shared/sensors/analog/AnalogLoadCell.h
+++ b/src/shared/sensors/analog/AnalogLoadCell.h
@@ -45,6 +45,11 @@ public:
 
     bool selfTest() override { return true; };
 
+    /**
+     * @brief Sets the offset that will be removed from the measured load.
+     */
+    void setOffset(const float offset) { this->offset = offset; }
+
     AnalogLoadCellData sampleImpl() override
     {
         ADCData adcData = getVoltage();
@@ -53,14 +58,20 @@ public:
         data.loadTimestamp = adcData.voltageTimestamp;
         data.voltage       = adcData.voltage;
 
-        data.load = data.voltage / conversionCoeff;
+        if (data.voltage != 0)
+            data.load = data.voltage / conversionCoeff - offset;
+        else
+            data.load = -offset;
 
         return data;
     }
 
 private:
+    ///< Function that returns the sensor voltage.
     std::function<ADCData()> getVoltage;
+
     const float conversionCoeff;
+    float offset = 0;
 };
 
 }  // namespace Boardcore
diff --git a/src/shared/sensors/analog/pressure/AnalogPressureSensor.h b/src/shared/sensors/analog/pressure/AnalogPressureSensor.h
index a4246801f189c10507c5679990607dd085b157e3..7695aeb972f560f06e9a28450d4991596430131c 100644
--- a/src/shared/sensors/analog/pressure/AnalogPressureSensor.h
+++ b/src/shared/sensors/analog/pressure/AnalogPressureSensor.h
@@ -52,7 +52,11 @@ public:
 
     bool selfTest() override { return true; }
 
-    ///< Converts the voltage value to pressure
+    /**
+     * @brief Sets the offset that will be removed from the measured pressure.
+     */
+    void setOffset(const float offset) { this->offset = offset; }
+
     AnalogPressureData sampleImpl() override
     {
         AnalogPressureData pressure;
@@ -70,19 +74,22 @@ public:
         else if (pressure.pressure > maxPressure)
             pressure.pressure = maxPressure;
 
+        pressure.pressure -= offset;
+
         return pressure;
     }
 
 protected:
-    ///< Conversion function from volts to pascals
+    ///< Conversion function from volts to pascals.
     virtual float voltageToPressure(float voltage) = 0;
 
-    ///< Function that returns the sensor voltage
+    ///< Function that returns the sensor voltage.
     std::function<ADCData()> getVoltage;
 
     const float supplyVoltage;
     const float maxPressure;
     const float minPressure;
+    float offset = 0;
 };
 
 }  // namespace Boardcore