Introduction: Water ATM Using Intel Edison

Picture of Water ATM Using Intel Edison

In this project, we will see how to make a device which will exchange money for water.

This project is supported by BAL-IoTLAB(

For this we are gonna use:

1. Intel Edison with Arduino base board - as the main processor : 2. Water Pump,

3. Flow meter (YF-S402),(2190 pulses/ltr) :

4. Pipe,

5. Coin Acceptor :

6. Relay Module :

For configuring Coin Acceptor:

Step 1: Edison Setup

Picture of Edison Setup

First you need to have Yocto OS on Intel-Edison(I havnt tried this on Ubilinux),

Here is how you can flash Edison with Yocto OS: 1.Download and Unzip Yocto Image file from : 2.Then download and double unzip dfutils from : 3.Now copy all the contents in the extracted folder of dfutils/win32-mingw32 to the extracted folder of yoctoImage/ and paste it. 4.Run flashall.bat and follow the instructions on the screen.

After you are done with flashing yocto on Edison, now 1.Connect to Edison via Serial terminal, by connecting the Serial on Edison to your PC. 2.Then start a Serial session using Putty(windows), or Screen(linux). 3.Now execute "vi /etc/opkg/base-feeds.conf" 4.then add : src/gz all src/gz edison src/gz core2-32 These lines into base-feeds.conf 5.Now execute "opkg update" 6.Then you can download most of the software like 'git', 'nano', 'tmux', 'upm', 'mraa' etc. 7.If you are not planning to use any external storage on Edison, then please dont execute 'opkg upgrade', as it drinks up all the space on Edison.

Step 2: Connections and Programming


1.The Signal line from the Coin Acceptor should be connected to Rx Pin on the Edison's Arduino extension board.(Baud rate on the Edison and the coin acceptor should be the same, in here I have used 9600 on both the sides of communication.)

2.Relay signal pin has to be connected to the pumpPin(3) on the Arduino extension board.

3.Flow Meter Signal is being read on signalPin(2) of the Arduino extension board.

4.One end of the pump's wire is placed in souce of water and the other end can be set to where ever you need the water to be pumped.

**If you are taking the supply for relay from Edison board itself, please make sure that the adaptor current rating is greater than 12V 1A.

Working: First when we insert a coin into the coin acceptor, it will detect the type of coin and if it is accepted then it will send a signal on the serial line, which is connected to Intel Edison's Rx pin of the Arduino extension board. After Edison has got a signal, it will detect which coin is inserted i.e., if a coin of type C1 was detected by the Coin Acceptor it will send a signal as 00111111, so if C1 was configured for a Re.1 coin then Edison will detect it as a Re.1. Since the power required for the operation of the motor cannot be supplied by the Edison board, we are using a relay module, which is controlled by the Edison. Now after detecting the coin Edison will TurnON the pump and start Monitoring Flow Sensor, when a flow of 100ml is detected then Edison will TurnOFF the pump. Similarly if a Re.2 coin is detected pump is TurnedON for 200ml of water flow.


DIY Hacks and How Tos (author)2016-05-29

Great idea. Though I would probably fill it with soda.