mcp3008 ADC

How to use Rpi [python] to read [SPI MCP3008] ADC of a [water] tank level sensor?

Ask QuestionAsked 1 year, 5 months agoActive 9 months agoViewed 249 times11

Does anyone have any ideas on how I can use RPI with ADC to measure a tank level sensor which has a range of only 20 to 200 ohm.analog-to-digitalshareedit  follow  closeflagedited Feb 5 at 5:22tlfong013,37633 gold badges77 silver badges2222 bronze badgesasked Jun 13 ’19 at 7:43AussieBrad1111 bronze badge

add a comment  |  show 6 more commentsstart a bounty

1 Answer



Does anyone have any ideas on how I can use RPI with ADC to measure a tank level sensor which has a range of only 20 to 200 ohm?

Short Answer

Some months ago I played with a couple of moisture sensor / level detectors. Below is an example.

 Water Level Detection Discussion – Rpi StackExchnge

However the above sensor does not answer the OP’s question, which asks to detect resistance using ADC, not analog or digital voltage levels. So I think I need to start from a variable resistance and check out how to use ADC to measure the resistance, within a range of 20 to 200 ohms.

I very surprisingly found that all the five samples from different manufacturers have the same resistance of 0.5 ohms for each of the two resistive “legs”.

level sensor resistance

Anyway, I think I can try to use an ADC that can measure my sensor’s 0.5 ohm range, and also the OP’s 20~200 ohm range. I am thinking of starting with the cheapest, and lowest resolution ADC/DAC PCF8591. If its low resolution is not enough for 0.5 ohm range, then perhaps I will try others, such as MCP3x02/04/08. The good thing about PCF8591 is that there is cheapy module available, and programming easy, so is newbie friendly. On the other hand, MCP3x02/04/08 is big family of ADCs, from 12 bits to 18 bits (MCP3404)

level_sensor 1
level sensor 2

Long Answer

/ long answer to prune later, …

Introduction and Summary

Question Analysis

  1. I think the preliminary functional spec of the project is very good, because it is concise and precise.
  2. There are many reasons that the question is so short, but I will not list my wild guesses for now. Perhaps later.
  3. The spec includes the following key words/phrases:”Rpi, ADC, tank level sensor, 20Ω ~ 200Ω.
  4. The word “tank”, is crucial. She says “tank”, not “container”, perhaps she wants to indicate that the “tank” is deep , say, not a 5 inches deep fish “bowl” or “pond”.
  5. The phrase “20Ω ~ 200Ω” is also crucial. There are basically two types of liquid level sensors: active and inactive. Active sensors are usually 5V or 12V powered, and the sensor output is a DC voltage level. Inactive sensors don’t have any power. Usually the sensor is just a reed switch and floating magnet, or a long “resistor” whose resistance varies as the water level. Usually the resistor is far, perhaps 10ft, and up to 1,000 ft from the measuring instrument.


(1) Water Level Detection Discussion – Rpi StackExchnge

(2) AliExpress Level Sensors

(3) AliEXpress Non-contact Level Sensors

(4) AliExpress10A/250V Water Level Controller Module

(5) AliExpress Water level sensor Water drops tester

(6) AliExpress 5~24V 5mA Non-contact Induction Water Level Sensor

(7) Gig (ee, rpi, arduino) projects

(8) ph Sensor using sensor and ADCs PCF8591 and MCP3208

(9) How to use Rpi [python] to read [SPI MCP3008] ADC of a [water] tank level sensor? [Too many down votes make ext and imaged blurred]

(9a) Clear version of Ref (9)

(10) MCP3008 outputting just zero

(11) Rpi reading only zero output results from SPI 10-bit ADC MCP3008 problem

(12) How to increase sampling rate [higher resolution using MCP3208] on MCP3008 in python

(13) Interpreting voltage output on ADC with rated AC current sensor [MCP3008/MCP3208

(14) MCP3008 with photoresistor [nonlinear LDR], analog to digital, noisy readings

(15) How to use Rpi python to control PCM1802 24-bit HiFi stereo ADC and MAX4466 microphone amplifier

End of Answershareeditdeleteflagedited Feb 5 at 6:28answered Jun 14 ’19 at 1:09tlfong013,37633 gold badges77 silver badges2222 bronze badgesadd a comment

Categories: Uncategorized

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.