Which Arduino should I buy for my design idea ?

Hello :)

I decided to become an Arduino user and would like suggestions on how to choose which Arduino model I should buy which I can learn further to develop my design idea below

I live in a block of apartments and I do not have easy access to the roof top to monitor my water tank level. I already designed an electronic circuit that checks my water tank level. The design includes also controls that automatically switches on and off a water pump to fill up the water tank when it reaches pre-determined levels. In my design there is also monitoring circuitry that when I leave my apartment can be enabled manually and checks if there is any water leakage from the water outlets or if water is being stolen. The sensing circuitry I designed also allows for false triggering since the wind can effect the water level inside the tank by creating ripples. Such false triggering is counted up to a certain limit and is reset every 2 minutes. However, if water is leaking from a defective seal in the plumbing system or water is being stolen from the water tank and the trigger limit is exceeded during those 2 minutes, my circuit then triggers the home alarm and I receive an SMS on my mobile phone indicating that a zone has been triggered. Besides, when an alarm is triggered, the control circuitry to switch on the pump is disabled. In case of water leakage, this feature will avoid flooding and associated costs. I can use different methods of sensing with my circuit design such as a multi-turn potentiometer with pulley and float, I can use the ADXL335 accelerometer, or I can also use a pressure sensor such as the MPX2010. Whichever method of sensors I will be using, kindly note that the distance of cabling between the sensor and the Arduino / control circuitry is about 15 metres apart.

All of the above has been designed on a simulator software and I admit that the circuit complexity is not so easy. Before deciding to go any further with my circuit hardware comprising op-amps, counters, and logic gates, I would like to evaluate whether it is less costly and less complex to achieve the same results with Arduino or not.

Thank you for your time ! :)

The Arduino solution will have less components (simpler circuit - less things that go wrong) and you can easily change the “logic” by rewriting the program.

My personal favorite for the water level would be the same arrangement as in a toilet - an arm with a float - and a simple potentiometer. (as always . water and electroincs do not mix - you need to think twice & thrice about keeping the water away from wires) It might be a softish plastic rod and use a force/bend sensor rather than the rotary motion of a potetionemeter (No moving parts - more reliable)

The connection to the house alarm : is it just an external circuit switch you open/close (which the house system sees as “Water Problem!”) or does the Arduino have to do complex communication (WiFI/BlueTooth…)? In the simple case an Uno should be ample.

Someone in the General Electronics forum may have an opinion how to run a signal for 15m - usually this is a current loop if sending an analog value, and any old twisted pair if sending a serial/digital information.

Hello Msquare

Thanks for your much valued reply. I shall wait a bit to see what other experienced users like your good-selves might suggest for my question

With regards to communication after alarm triggering, it’s just a matter of sending an output from the Arduino to energise a small 5 volt relay whose contacts trigger the home alarm just as any other zone sensor device

In case of which method of sensing to use for the water level, the column of water I need to measure is approximately 90 cm and the tank’s width is only 60 cm. The distance between the maximum water level when the tank is full and the top cover of the tank is just 5 cm. The flex sensor you mentioned is a good idea but I won’t be able to have a full scale reading of the water levels. Besides, the flex sensor is also a delicate and a bit costly device compared to other type of sensors

I shall try asking in the General Electronics forum here as you suggested

Thank you once again for your replies :slight_smile:

This is a pretty big project. Yes, get an arduino MEGA 2560 R3 for this job. For water level sensing, you can also mount a sonic ranger on the lid of your tank cover to let the sonic ranger face down. Water will reflect is sonic pulse and you get distance from water surface to the tank lid. If someone removes the lid then the reading will be like 6 meters. If distance is an issue (15 m), do it wirelessly then. I don't know your budget, if you have enough money, have a tank unit with arduino and xbee radio for wireless communication with an apartment unit with another arduino and xbee radio. This way the wires are gone. You do need a solar charger and battery for the tank unit, if there is no power outlet there.

I use a lot of xbee products to build data loggers. They are nice.

Once you have the basics laid out, it is time to create a list of I/O’s

Analog inputs Water level

Digital output Pump on/off Alarm on/off

So far, this is a very minimal project. any of the basic units could work.

To use shields, the UNO form factor. If you do not need shields, then a mini could work (requires a USB connector board)

water level, leakage, etc are all software. saves a LOT of external parts.

display and data logging with real time clock and such would all be options. please note that a data logging shield is easier to do if you do not plan to make your own boards. The cost of the shields are darn close to the cost of the parts in many cases.

This is a pretty big project. Yes, get an arduino MEGA 2560 R3 for this job.

So far, this is a very minimal project. any of the basic units could work.

Start with a piece of paper or Excel.

  • How many analog inputs
  • How many digital inputs
  • How many digital outputs
  • How many digital outputs requiring drivers (relays, FETs, etc.)
  • What kind of display? How many outputs are required?
  • How many voltages? 5V, 3.3V, others?

Then you have an idea of whether you are talking about an UNO or a Mega. Personally, if I do not know what I really want to do, I design on a Mega and par-down later to a 328 (mini, UNO, naked board) if possible. The UNO only has 2K of SRAM and the Mega2560 has 8K and that along can be a show-stopper if you need large arrays in SRAM. Static Arrays can be placed in flash for look-up tables with just a small performance hit... they require space in the "code' area.

read this: https://learn.adafruit.com/memories-of-an-arduino/arduino-memories

Whatever you do, please consider a authentic Arduino as your first one because it is far easier to get help from this forum as most folks have a UNO or a Mega2560. When you go off and get a one-off or a two-off product, the pinouts do not always match up and some strange issues may occur. It's your choice, but you have now been warned.