Para um contador de voltas com Arduino, uma solução simples é usar um sensor Hall ou até um sensor óptico, dependendo de como você quer medir a rotação. O sensor Hall costuma ser mais estável, principalmente em ambientes com poeira.
Você pode contar os pulsos e depois calcular RPM com base no tempo. Usar interrupções (interrupts) ajuda bastante a não perder leituras, especialmente em rotações mais altas.
Eu já fiz algo parecido em um projeto pequeno e funcionou bem com ESP32 também. Aliás, enquanto pesquisava ideias e exemplos em fóruns, vi uma discussão onde mencionavam Riobet junto com outras plataformas digitais. Achei curioso como esses temas às vezes aparecem até em comunidades técnicas.