A contraction monitoring system comprising: an electrode patch comprising at least two electrodes, including a first measurement electrode and a reference electrode; and a sensor module configured to be connected to the electrode patch, wherein the sensor module comprises: a signal acquisition module; a signal processing module; a power management module; a sensor control module: an inertial sensing module; and at least one of a memory module and a data transmission module; wherein the signal acquisition module is configured to: measure biopotential signals using the at least two electrodes when the electrodes are positioned on an abdomen of a pregnant woman; and acquire inertial sensing data with the inertial sensing module; and characterised in that the signal processing module is configured to: automatically identify the inertial sensing data that comprises one or more motion artifact signals resulting from the overall movement of the pregnant woman, movements of the abdomen induced by fetal movement, and local movement of the sensor module; input the inertial sensing data and out of band energy for the biopotential signal into an artifact filter; set a threshold for artifact detection; dynamically change the threshold in dependence on the moving baseline energy in the frequency band used for artifact detection; dynamically change the threshold in dependence on the inertial sensing data such that, when the sensor motion energy of the inertial sensing module exceeds a set minimum level, the threshold is lowered in dependence on the amount that the sensor motion energy exceeds the set minimum level; filter or exclude, with the artifact filter, one or more motion artifact signals from the biopotential signal; process the filtered biopotential signal to extract one or more electrohysterogram signals; and process the one or more electrohysterogram signals to extract one or more uterine contraction signals. an electrode patch comprising at least two electrodes, including a first measurement electrode and a reference electrode; and a sensor module configured to be connected to the electrode patch, wherein the sensor module comprises: a signal acquisition module; a signal processing module; a power management module; a sensor control module: an inertial sensing module; and at least one of a memory module and a data transmission module; wherein a signal acquisition module; a signal processing module; a power management module; a sensor control module: an inertial sensing module; and at least one of a memory module and a data transmission module; wherein an inertial sensing module; and at least one of a memory module and a data transmission module; wherein the signal acquisition module is configured to: measure biopotential signals using the at least two electrodes when the electrodes are positioned on an abdomen of a pregnant woman; and acquire inertial sensing data with the inertial sensing module; and characterised in that measure biopotential signals using the at least two electrodes when the electrodes are positioned on an abdomen of a pregnant woman; and acquire inertial sensing data with the inertial sensing module; and characterised in that the signal processing module is configured to: automatically identify the inertial sensing data that comprises one or more motion artifact signals resulting from the overall movement of the pregnant woman, movements of the abdomen induced by fetal movement, and local movement of the sensor module; input the inertial sensing data and out of band energy for the biopotential signal into an artifact filter; set a threshold for artifact detection; dynamically change the threshold in dependence on the moving baseline energy in the frequency band used for artifact detection; dynamically change the threshold in dependence on the inertial sensing data such that, when the sensor motion energy of the inertial sensing module exceeds a set minimum level, the threshold is lowered in dependence on the amount that the sensor motion energy exceeds the set minimum level; filter or exclude, with the artifact filter, one or more motion artifact signals from the biopotential signal; process the filtered biopotential signal to extract one or more electrohysterogram signals; and process the one or more electrohysterogram signals to extract one or more uterine contraction signals. automatically identify the inertial sensing data that comprises one or more motion artifact signals resulting from the overall movement of the pregnant woman, movements of the abdomen induced by fetal movement, and local movement of the sensor module; input the inertial sensing data and out of band energy for the biopotential signal into an artifact filter; set a threshold for artifact detection; dynamically change the threshold in dependence on the moving baseline energy in the frequency band used for artifact detection; dynamically change the threshold in dependence on the inertial sensing data such that, when the sensor motion energy of the inertial sensing module exceeds a set minimum level, the threshold is lowered in dependence on the amount that the sensor motion energy exceeds the set minimum level; filter or exclude, with the artifact filter, one or more motion artifact signals from the biopotential signal; process the filtered biopotential signal to extract one or more electrohysterogram signals; and process the one or more electrohysterogram signals to extract one or more uterine contraction signals.