Tendrías que poner un ejemplo de datos recibidos.
Por lo que entiendo, lo que quieren es que detectes un peso "estable", que mientras el peso está cambiando no lo tengas en cuenta.
Dependiendo de la velocidsad de lectura, lo que podrías hacer es quedarte con la última 10 lecturas, por ejemplo (o con las últimas 50, dependiendo de la velocidad de lectura). Y con esa lista de lecturas, hacer una función que te devuelve si el valor de la lista es estable.
Por ejemplo:
- Si recibes: 5,6,5,6,5,5,5,5,5,6 => Estable (teniendo en cuenta % ede error)
- Si recibes: 5,8,4,5,1,4,5,6,7,9 => No estable