Legal Removal Request This form is for reporting content posted on the AB Electronics UK forums that you believe violates your personal legal rights or applicable local laws for your country. Post: Hi Based on the problem you have described an [url=/p/65/adc-differential-pi]ADC Differential Pi[/url] may be a better option for measuring resistance. The ADC Differential Pi is basically the same circuit as the ADC Pi Plus but with the voltage dividers removed so it has a voltage range of -2.048V to +2.048V instead of the 0-5V on the ADC Pi Plus. For measuring resistance this would give you a better resolution at lower voltages and also has a higher input impedance which will improve accuracy. The ADC Differential Pi and ADC Pi Plus use the I2C bus to communicate with the Raspberry Pi. The I2C bus uses two wires for communicating and each ADC chip needs to be set with its own I2C address. If you look on the ADC Differential Pi page about halfway down on the left column it explains how to set the I2C addresses using the jumpers provided on the board. Each ADC chip can be set to one of eight I2C addresses between 0x68 and 0x6F. There are two ADC chips on each board so you can stack up to 4 ADC Differential Pi boards on a single Raspberry Pi giving you a maximum of 32 inputs. As all of the boards communicate over the same two pins that leave the rest of the GPIO pins available for other uses. To communicate with the ADC Differential Pi we have software libraries available in [url=https://github.com/abelectronicsuk/ABElectronics_Python_Libraries/tree/master/ADCDifferentialPi]Python[/url] and [url=https://github.com/abelectronicsuk/ABElectronics_C_Libraries]C[/url]. In python to set up communication with an ADC Differential Pi, you create an instance of the board and set the two I2C addresses that have been preset using the jumpers using the line plus the bit rate you want to board to sample with. [b]adc = ADCDifferentialPi(bus, 0x68, 0x69, 18)[/b] If you want to communicate with more than one board you just need to create separate instances of the adc object for each board. adc1 = ADCDifferentialPi(bus, 0x68, 0x69, 18) adc2 = ADCDifferentialPi(bus, 0x6A, 0x6B, 18) adc3 = ADCDifferentialPi(bus, 0x6C, 0x6D, 18) adc4 = ADCDifferentialPi(bus, 0x6E, 0x6F, 18) The [url=https://github.com/abelectronicsuk/ABElectronics_Python_Libraries/blob/master/ADCDifferentialPi/demos/demo_readvoltage.py]read voltage demo[/url] in the python library folder shows how to set up the ADC Differential Pi and read a voltage. To measure resistance you will need to convert that resistance into a voltage for the ADC input. The easiest way to do that will be to use a constant current source to supply a fixed current to the resistor and then measure the voltage across the resistor. You can use [url=https://www.abelectronics.co.uk/tools/ohmslaw]ohms law[/url] to calculate the resistance based on the current source and the voltage. As you have a wide range of resistances from 0.2R to 100K that complicates the circuit a bit. To get an accurate reading across the full resistance range you will need several different current source values and possibly use OpAmps to change the voltage gain before feeding it into the ADC inputs. There is quite a bit of information on google if you search for "measuring resistance using adc" so it may be worth looking around and seeing if someone else has already built a circuit you can copy. Select the country where you are claiming legal rights. Albania Algeria American Samoa Andorra Angola Anguilla Antarctica Antigua and Barbuda Argentina Aruba Australia Austria Bahamas Bahrain Bangladesh Barbados Belarus Belgium Belize Benin Bermuda Bhutan Bolivia Bosnia And Herzegovina Botswana Bouvet Island Brazil British Indian Ocean Territory British Virgin Islands Brunei Bulgaria Burkina Faso Burundi Cambodia Cameroon Canada Canary Islands Cape Verde Cayman Islands Central African Republic Chad Channel Islands Chile Christmas Island Cocos (Keeling) Islands Colombia Comoros Congo Cook Islands Costa Rica Croatia Cuba Cyprus Czech Republic Denmark Djibouti Dominica Dominican Republic East Timor Ecuador Egypt El Salvador Equatorial Guinea Estonia Ethiopia Falkland Islands (Malvinas) Faroe Islands Federated States of Micronesia Fiji Finland France French Guiana French Polynesia French Southern Territories Gabon Gambia Georgia Germany Ghana Gibraltar Greece Greenland Grenada Guadeloupe Guam Guatemala Guyana Haiti Heard Island and McDonald Islands Honduras Hong Kong Hungary Iceland India Indonesia Ireland Israel Italy Jamaica Japan Jordan Kazakhstan Kenya Kiribati Kuwait Kyrgyzstan Laos Latvia Lesotho Liechtenstein Lithuania Luxembourg Macau Macedonia Madagascar Malawi Malaysia Maldives Mali Malta Marshall Islands Martinique Mauritania Mauritius Mayotte Mexico Micronesia, Federated States Of Moldova, Republic Of Monaco Mongolia Montenegro Montserrat Morocco Mozambique Myanmar Namibia Nauru Nepal Netherlands Netherlands Antilles New Caledonia New Zealand Nicaragua Niue Norfolk Island Northern Mariana Islands Norway Oman Palau Panama Papua New Guinea Paraguay Peru Philippines Pitcairn Poland Portugal Puerto Rico Qatar Reunion Romania Russia Rwanda Samoa San Marino Sao Tome and Principe Saudi Arabia Serbia Seychelles Singapore Slovakia Slovenia Solomon Islands South Africa South Georgia and the South Sandwich Islands South Korea Spain Sri Lanka St. Helena St. Kitts and Nevis St. Lucia St. Pierre and Miquelon St. Vincent and the Grenadines Suriname Svalbard and Jan Mayen Islands Swaziland Sweden Switzerland Syria Taiwan Tajikistan Tanzania Thailand Togo Tokelau Tonga Trinidad and Tobago Tunisia Turkey Turkmenistan Turks and Caicos Islands Tuvalu U.S. Virgin Islands Uganda Ukraine United Arab Emirates United Kingdom United States United States Minor Outlying Islands Uruguay Uzbekistan Vanuatu Vatican City Venezuela Vietnam Wallis and Futuna Islands Western Sahara Yemen Yugoslavia Zambia What legal issue or problem do you wish to report? Please select Privacy / Erasure under GDPR Defamation Intellectual Property Hate Speech Other Please enter the following information so we can process your report. Contact Name: Contact Email: Details of complaint: Submit Complaint