A megközelítés nem biztos, hogy célravezető.
Ha van egy alapvetően ismeretlen minőségű, de a nagyon szűkszavú netes leírás alapján valószínűleg elég pontatlan PWM jel, akkor azt egy RC-taggal mondjuk lehet (valamennyire) simítani, de nyilván ez, belevéve az AD láb elektromos tulajdonságait (belső ellenállás, kapacitás, induktivitás) bele fog szólni a képletbe és tovább fog torzítani. Az Arduino-k A/D konvertere egyébként sem egy főnyeremény pontosság szempontjából, így az elvi 1 mm-es pontosság a gyakorlatban jó, ha 1 cm lehet, és akkor tényleg minden klappol. Nem kizárt, hogy ennél jobbat lehet csinálni, de az is benne van a pakliban, hogy ennél rosszabb lesz. Jóval rosszabb.
Ami az átalakítót illeti. Működik, már amennyire az 5 százalékos hiba mellett működhet, ezzel nyilván tovább rontod a rendszer teljes pontosságát.
Szűréssel és átlagolással nem érdemes sok esetben PWM jelet feldolgozni. Egyrészt van oltrahangos szenzor sima kvázi analóg jelfeldolgozásra kihegyezve (az impulzus válaszidejét lehet nézni, kiváló és egészen pontos arduino minták vannak rá), nem kell hozzá sem közdarab, sem világmegváltó A/D, egyedül az időre kell figyelni, de azt kódban elég egyszerű megoldani. A pontosság persze itt is a felhasznált elemektől fog függeni. Másrészt, ha már hozott anyagból kell dolgozni, akkor is több értelmét látnám egy megszakítás alapú PWM jelfeldolgozásnak (vagyis a kitöltési tényező mérésének), mint annak, hogy az egyébként is kétes minőségű jelet még tovább rontsuk mindenféle passzív elemmel, így jó eséllyel jelentősen megnövelve a zajt.
Ugyanakkor, mint minden esetben, itt is a specifikáción, pontosabban a megrendelői igényen kell legyen a hangsúly. Vagyis előre tisztázni kell, hogy 1 literes, 10 literes, 20 literes vagy 50 literes pontosság kell a tárolókhoz.