No se como has seguido y si tuviste exito con este proyecto, pero te puedo decir que estoy trabajando este proyecto y pude armar un sensor de nivel (bastante rudimentario) que trabaja con una precision de 1 cm de columna de agua de precision.
Tuve que filtrar la medicion tanto en forma analogica como digital para obtener una medicion precisa.
Respecto al protocolo, lo implemente en CAN y la verdad trabaja OK, aunque el proyecto esta en el 60% del desarrollo (me falta implementarle menues y demas) ya esta calculando la cantidad de litros de agua en un tanque dandole al micro el area calculada.
Voy a implementar una funcion que permita ingresarle el diametro o las medidas de sus lados, para que el micro calcule el area, de modo que pueda adaptarse bien a diferentes formas de tanques.