I am building a simple resistor / capacitor in series (RC) circuit to measure resistance with my Raspberry Pi A+.

## RC Design

![Enter image description here][1]

This design is similar to the one used in [this tutorial](http://raspberrypi-spy.co.uk/2012/08/reading-analogue-sensors-with-one-gpio-pin/) as suggested in [this post](http://raspberrypi.stackexchange.com/q/5167/).

This circuit works by measuring the resistance of R1 by measuring the time required to charge C1. I do understand that Python is not a great language for precision timing, but this doesn't need to be very precise. It's mostly a project to learn circuit analysis with the Raspberry Pi. My Python script I am using for this math is the following:
	
<!-- language: lang-py -->

	# Time how long it takes for C1 to charge through R1
	GPIO.setup (8, GPIO.IN);GPIO.output (10, 1)
	start = time.time ()
	while GPIO.input (8) == 0: False
	end = time.time ()
	
	# Divide duration by capacitance to get resistance
	capacitance = 0.47 * 0.000001 # 0.47 µF
	duration = end - start
	resistance = duration / capacitance
	
	resistance *= 1.85938    # <===== THE HORRIBLE MYSTERY COEFFICIENT
	
	print ('resistance =', round (resistance), 'ohms')
	
***
***

## Math Error - Mystery Coeficcient

The above setup outputs (mostly) accurate numbers for the value of R1. The problem is the unexplained coefficient ~`1.85938`. Some possible error sources I've considered include:

* Internal resistance from the GPIO itself (with the 3.3&nbsp;V, 16&nbsp;mA max output per pin),
* Problems due to inaccuracies in my components themselves (the resistors have tolerances of 5%),
* A flaw in the universe of the kind that make [`1 = 2`](Math.SE) and [never-ending chocolate](Math.SE) possible,
* or some combination of the above.

Why would RC circuits built with the GPIO be off by a factor of ~1.85938?

[1]: https://i.sstatic.net/sjDIA.png