I’ve managed to convert the ohms readings from the gas sensors to ppm using the following algorithms.
red_in_ppm = math.pow(10, -1.25 * math.log10(red_rs/red_r0) + 0.64)
oxi_in_ppm = math.pow(10, math.log10(oxi_rs/oxi_r0) - 0.8129)
nh3_in_ppm = math.pow(10, -1.8 * math.log10(nh3_rs/nh3_r0) - 0.163)
Where each respective rs/r0 is the current reading in ohms divided by the baseline air reading in ohms. They therefore require an r0 calibration measurement to be made upon startup and after a 100 minute warmup period.
They’re embedded in the code here: https://github.com/roscoe81/enviro-monitor
That code also includes some temperature, humidity and air pressure compensation of the gas sensors.
Hope that’s of value to others on this thread.