I agree, that's probably the best solution.
you need to add Rref+Vref into the differential equation, (Rref is internal resistance of the Vref source, you can find the equation for the OP opamp setup somewhere in the net) and start from there... possibly Rg is a multiturn trimpot to balance the equation...
I don't see any need for that. It's all simple arithmetic. Run through the formulas on the PDF. For educational purposes (he's decided to do something else) take Simon's figures.
V
OUTfs = 0.5V
V
OUTzs = 0V
V
INfs = 0.25
V
INzs = -0.25V
V
REF = 5V Use the 5V regulated rail, which has a very low impedance.
m = (V
OUTfs - V
OUTzs)/(V
INfs - V
INzs) = (0.5 - 0)/(0.25 - -0.25) = 1
b = V
OUTzs - m×V
INzs = 0 - 1×-0.25 = 0.25
Both m & b are positive so see section 3.
R1 = 10k
R2 = (V
REF×R1×m)/b = (5×10k×1)/0.25 = 200k
Rf = 10k
Rg = (R2×Rf)/(m×(R1+R2) - R2) = (200k×10k)/(1×(10k+200k)-200k) = 2000k/(210k-200k) = 200k
Personally, as this would be interfacing with an MCU, I'd increase the output scale to 5V and add a potential divider to the 5V reference, as the input impedance can be higher whilst still using convenient resistor values.
Notice that R2 is now 820k, rather than the expected 1M because the output impedance of the potential divider is 180k: 820k + 180k = 1M