Un par de cosas. La ecuación para calcular la capacidad del condensador pones
(tiempofincarga/3350)-0.04
pero matemáticamente debería ser el tiempo de carga dividido por la resistencia. ¿Por qué has puesto esa otra? ¿Cómo has llegado a esa ecuación? ¿Es algo que has hecho de forma empírica?
Y una última cosa. El programa es sencillo pero a la vez lo veo muy práctico. Tanto es así que podías ampliarlo para calcular valores de condensadores más pequeños. En el programa que puedas seleccionar entre la resistencia de 3K u otra de por ejemplo 100K (no sé si la impedancia de las entradas de Arduino permitiría valores más altos para la resistencia).
3350 fue a base de probar. En realidad tendría que ser 3000, que es la resistencia de carga del condensador, pero como los resultados que me daba no coincidían por el tema de las tolerancias tan altas de los condensadores, lo ajusté hasta que cuadrasen las medidas leídas. -0.04 es una lectura que me daba el programa en vacío, es decir, sin conectar ningún condensador, así que se me ocurrió rectar ese valor de 0,04uF. No se si será que los 40 nanofaradios es por algún error en el programa, es por que las pistas de la protoboard hacen de condensador o es por algún tema interno del arduino.
Con respecto a poner resistencias mucho más altas no hay problema teóricamente, pero lo tengo que probar. El programa en principio lo hice únicamente con fines educativos.
La verdad que con el arduino se puede hacer un polímetro bastante práctico y barato. Por supuesto con limitaciones.
Ni que decir tiene que se admiten mejoras al programa que hice. Si alguien ve como mejorarlo, aumentando el rango de lecturas o implementándole otras funciones, pues por supuesto bien venido sea. Eso sí, ruego que se prueba antes de colgar el código aquí y que se comente de la forma más exhaustiva posible, el código incluido o modificado.