Development of IoT Water Dispenser Vending Machine with
Integrated Coin Change Dispensing System
An Embedded Systems Device with Manuscript
Submitted by:
Ares, Renar F.
A Final Course Requirements for CompTech 326 – Embedded
Systems
2025
Acknowledgement
ii
Abstract
The creation of an IoT-based Water Dispenser Vending
Machine with an Integrated Coin Change Dispensing System
aims to deliver an automated, efficient water dispensing
solution, particularly in areas lacking reliable water
dispensers and coin exchange services. This project
presents a smart, self-operating vending system that
integrates Internet of Things (IoT) technology, enabling
remote monitoring and control through a web interface.
The system comprises essential components such as a coin
acceptor for validating 5- and 10-peso coins, a coin
hopper to dispense change, and a water pump for precise
water delivery. The IoT functionality, facilitated by the
NodeMCU ESP8266, allows for real-time monitoring of water
usage, machine status, and operational data. The Arduino
Uno microcontroller ensures accurate coin validation,
water dispensing, and change handling. This solution
seeks to improve user convenience by automating the coin
exchange process, reducing manual interventions, and
boosting operational efficiency through remote
monitoring. By addressing the growing demand for
accessible water, the proposed system introduces an
innovative approach to vending services, driving the
modernization and automation of daily transactions in
local communities.
iii
Table of Contents
Tittle Page...............................................
Acknowledgement..........................................
Abstract................................................iii
Table of Contents........................................
List of Figure...........................................
List of Image............................................
List of Table............................................
Chapter I-Introduction....................................
Purpose and Description of the project...................
Objectives of the Project................................
CHAPTER II – TECHNICAL BACKGROUND.........................
Technicality of the project..............................
Details of the technologies to be used...................
How the project will work................................
Circuit diagram of the project...........................
CHAPTER III- METHODOLOGY.................................
Data and Process Modeling...............................
Context Diagram.........................................
Data Flow Diagram.......................................
iv
System Flow chart.......................................
Program Flowchart.......................................
System Architecture.....................................
Network Topology.....................................................................................................
Parts and Equipment Needed...........................................................................
Software specification.....................................................................................
Installation Process..........................................................................................
Users Guide.............................................
Introduction...............................................................................................................
System Overview.......................................................................................................
Hardware Setup..........................................................................................................
Software Installation and Configuration.........................................
System Operation.....................................................................................................
Safety Considerations........................................................................................
Frequently Asked Questions (FAQs).........................................................
Support and Contact Information..............................................................
REFERENCES..............................................
v
List of Figure
Figure 1. Context Diagram..............................................................................
Figure 2. Data Flow Diagram.........................................................................
Figure 3. System Flow Chart Diagram......................................................
Figure 4. Network Topology of Temperature and Humidity
Readings with Fan.................................................................................................
List of Image
Image 1. Circuit Diagram..................................................................................
Image 2. Actual Image of the device......................................................
Image 3. During the Creation of the Device......................................
Image 4. Testing the Components................................................................
Image 5. Revising Research Paper.............................................................
List of Table
Table 1. Parts and Equipment Needed...................................................................
vi
Chapter I-Introduction
Project Context
The IoT Water Dispenser Vending Machine with Integrated Coin
Change Dispensing System responds to a growing demand for
convenient water dispensing solutions in Barangay Esperanza,
Poro, Cebu. The surrounding community has issues due to a
shortage of dependable water vending machines and coin
exchange services, resulting in inefficiency and
inconvenience for customers. Residents have difficulty using
available water dispensers, which normally demand exact 1-
peso coins, because there aren't enough businesses who can
exchange currency.
This idea avoids the burden of manual currency exchanges by
integrating an automated water dispenser with coin change
capability, resulting in a more seamless user experience.
The system's incorporation of IoT technology enables real-
time monitoring of water use, sales data, and system
condition via a web interface, easing operations for the
machine owner.
This innovation increases both customer convenience and
business efficiency. As a result, this project not only
addresses an immediate need, but also prepares the community
to benefit from modern, sustainable technology that
1
streamlines day-to-day work. The completion of this project will
improve the usability and reliability of water dispensing
services in the area.
Purpose and Description of the project
The goal of this project is to design a smart, user-
friendly, and efficient IoT-based water dispenser vending
machine with an integrated coin change dispensing system.
This method is intended to address the issue of inadequate
water dispensers and a shortage of coin exchange businesses
in Barangay Esperanza, Poro, Cebu. The solution creates a
seamless and accessible water dispensing experience by
automating the currency change procedure and allowing
customers to pay with 5- and 10-peso coins. The goal of this
project is to make it easier for local inhabitants to
acquire water while also providing machine operators with an
intuitive online interface for real-time data monitoring and
management. The project's focus is on merging mechanical and
digital technology to develop a sustainable solution that is
both practical and easy to use. Finally, this system
attempts to update water dispensing services, improving both
consumer convenience and operational efficiency.
2
Objectives of the Project
General Objectives
This study aims to develop of IoT Water Dispenser Vending
Machine with Integrated Coin Change Dispensing System
this research study a line with 17th SDG goals in the
Philippines (6# Clean Water and Sanitation, 1# No
Poverty, 17# Partnerships for the Goals), while
supporting Ambisyom Natin 2040 goals of every Filipino
the future will be a great help to people. Matatag,
Maginhawa, Panatag
Specifically, it aims to;
1. develop a system that change coins such as 5 and 10-
peso coins and uses coin hopper to change coins;
2. develop a system that uses LCD to display the coin
inserted and the status of the system;
3. develop a system that uses 2 push button to trigger the
water pump and coin hopper to dispense and to press on
how much the costumer want to dispense water;
4. develop a system with real time water capacity
detection and water consumption and water sales. And
uses Web application for receiving notification and
displaying the output and value of water;
3
5. develop a system that uses Arduino Uno to manage and
utilize operations,
6. design a system that uses NodeMCU V3 ESP8266 to
interpret the bytecodes and executes the commands, and
for serial communication to the Arduino Uno the store
the data to the web application;
7. Create a Graphical User Interface GUI for monitoring
the inventory system, and;
8. determine the quality of the developed system using
ISO/IEC 25010 Systems and Software Quality Requirements
and Evaluation (SQuaRE).
4
CHAPTER II – TECHNICAL BACKGROUND
Technicality of the project
This project seeks to solve the low availability of coin-
compatible water dispensers in Barangay Esperanza, Poro,
Cebu, where inhabitants suffer difficulties due to a
shortage of retailers that can exchange 5- and 10-peso coins
into 1-peso denominations. Traditional vending machines need
exact coinage, which creates inconvenience for both
customers and operators.
This project creates an embedded IoT-based system that
combines coin change functionality with real-time monitoring
via a web application. The project's scope focuses on
developing a prototype system administered by BIT-CT 3G
students and excludes commercial deployment, other academic
levels, and unrelated departments.
It is intended for end users in the local community,
particularly those who commonly utilize coin-based vending
services. This project has the potential to make a
substantial contribution to the field of embedded systems
and IoT by providing a smart, user-friendly solution that
5
bridges the gap between mechanical vending and digital
management, increasing convenience and operational
efficiency.
Details of the technologies to be used
To ensure optimal functionality, the system makes use of
both hardware and software components. The main
microcontroller in the hardware is an Arduino Uno, which
handles inputs from push buttons and sensors while also
operating the LCD and the water pump. The NodeMCU ESP8266 is
used to send wireless data to a web server. The system
includes a coin hopper for automatic change delivery and
ultrasonic sensors to check water levels.
6
he Arduino IDE is used for microcontroller programming in
C/C++, while the online interface is constructed with HTML,
CSS, PHP, and JavaScript. Serial connectivity is established
between Arduino and NodeMCU, and HTTP protocols are utilized
to transfer data to the web application. The entire system
is powered by a 12V DC energy source, with careful voltage
regulation and current delivery to enhance energy
utilization and system stability. This architecture allows
for seamless connections between all modules.How the project
will work
The system architecture of the IoT Water Dispenser Vending
Machine is made up of two main microcontrollers that: the
Arduino Uno for local hardware control and the NodeMCU, or
ESP8266 for wireless data transfer. The Arduino handles coin
detection, water dispensing, push button inputs, and LCD
display, while the NodeMCU is the part that sends data to
the web application. The technology allows users to insert
5- or 10-peso coins, which are recognized by the coin
acceptor. Users can select the required amount of water by
pressing a button. The system then operates the water pump,
which dispenses water, while the LCD displays the exchange
of information and system status. If the amount inserted
7
exceeds the cost, the coin hopper will automatically
dispense the change.
Sensors collect real-time data such as water level,
consumption, and total sales, which the Arduino then
processes. This data is subsequently communicated to the
cloud via serial connection from the NodeMCU. The web
application gathers and shows this data for monitoring and
alerting. Serial connection protocols are used to integrate
Arduino with NodeMCU, ensuring that data flows smoothly
between the hardware and cloud systems. To improve stability
and responsiveness, challenges in syncing real-time data and
hardware responses were overcome by employing scheduled data
buffers, voltage-level shifting, and rigorous sensor input
calibration.
Circuit diagram of the project
8
Image 1. Circuit Diagram
The circuit diagram for the IoT Water Dispenser Vending
Machine incorporates various important components to ensure
the system's operation. The main controller, an Arduino Uno,
is linked to a number of peripherals, including push
buttons, an LCD screen, a coin acceptor, a coin hopper, and
a water pump. The push buttons allow users to pick the water
volume and activate the system, while the LCD shows real-
time information such as water volume, transaction details,
and system status. The coin acceptor is hooked to the
Arduino to detect entered coins, and the coin hopper is
connected for automatic change delivery.
The NodeMCU ESP8266 interfaces with the Arduino via serial
communication, allowing data such as water consumption and
sales to be wirelessly transmitted to the web application.
The system is powered by a 12V DC power supply, with each
component's voltage requirements carefully considered.
Specific parameters, such as resistor ratings, sensor
thresholds, and power ratings, are specified to guarantee
9
that all components perform properly and that the system
remains stable.
CHAPTER III- METHODOLOGY
Data and Process Modeling
Data and process modeling are both basic system design and
analysis techniques. Data modeling is the process of
defining and structuring data pieces within a system,
demonstrating how data is stored, organized, and related.
Models such as Entity Relationship Diagrams (ERDs) are
10
created to depict entities, attributes, and their
relationships, allowing for better understanding and data
consistency management.
In contrast, process modeling is concerned with a
system's actions and workflows. It depicts the sequence
of operations, inputs, and outputs, providing a visual
representation of how processes collaborate and interact
with one another. Data Flow Diagrams (DFDs) and Business
Process Model and Nation (BPMN) are often used to model
these operations.
Process and data modeling work together to help
stakeholders understand system needs, communicate more
effectively, and make sound decisions, resulting in
better and more efficient information systems.
Context Diagram
11
Figure 1. Context Diagram
The Context Diagram for the IoT Water Dispenser Vending
Machine depicts the system as a single process with multiple
external entities. The system consists of three components:
the Customer (who inputs coins and presses buttons to select
water volume), the Owner/Admin (who receives notifications
and monitors sales), and the Cloud Database (which stores
data on water levels, consumption, and earnings).
Communication is bidirectional between the system and the
NodeMCU ESP8266, which serves as a bridge to the web
application. Coin values, water choices, and system usage are all inputs, with LCD
display updates, water delivery, and coin change return as outputs. The graphic aids in
the identification of system limits and clarifies data transfers between internal processes
and the external setting. This makes it easier to define the system's scope and focus on
the most important interactions.
Data Flow Diagram
12
Figure 2. Data Flow Diagram
The Data Flow Diagram, also known as the DFD, details way
data is processed within the IoT Water Dispenser system. It
consists of various procedures, including coin validation,
water selection, change dispensing, water dispensing, and
data monitoring. When an individual inserts a coin, the Coin
Verification procedure verifies the denomination. Then,
based on user input via the push button, the Water Selection
procedure determines how much water to dispens. If
necessary, the Change Dispensing procedure activates the
coin hopper and returns the right change.
The pump is turned on simultaneously throughout the Water
Dispensing operation. Finally, the Data Monitoring module
collects and transmits water usage data to the Cloud Server
via the NodeMCU ESP8266. This DFD demonstrates how data
13
flows between users, processes, and data stores, providing a
clear picture of system functionality.
System Flow chart
Figure 3. System Flow Chart Diagram
14
The System Flowchart depicts the sequence of operations and
decision-making logic for the entire water dispenser system.
The process begins with the consumer entering a coin, which
is read and validated by the coin acceptor. A decision point
determines if the coin is legitimate and identifies the
denomination.
If a coin is approved, the system shows the balance on the
LCD. The customer then presses a button to specify how much
water to dispense. Another judgment point determines whether
the balance is sufficient for the set amount. If so, the
mechanism activates the pump and starts dispensing water.
If there is an excess balance, the coin hopper is actuated
to dispense the appropriate change. Finally, water usage and
sales data are gathered and transmitted to the cloud. This
flowchart helps you visualize the system's logic, component
interactions, and how different conditions influence system
function.
Program Flowchart
Start
// --- Initialization Phase ---
Initialize Arduino Uno
Initialize NodeMCU (ESP8266)
Initialize LCD display
Initialize Coin Acceptor
Initialize Coin Hopper
Initialize Water Pump
Initialize Push Buttons (for water selection)
15
Connect to Wi-Fi via NodeMCU
Initialize Web App communication
// --- Main Operational Loop ---
Loop Forever:
Display "Insert Coin" on LCD
// --- Coin Handling ---
IF Coin Inserted THEN
Read and validate coin
IF Coin is valid (1, 5, or 10 peso) THEN
Add coin value to balance
Display updated balance on LCD
ELSE
Reject coin
END IF
END IF
// --- User Input for Water Dispensing ---
IF Button 1 (small amount) Pressed THEN
RequiredAmount ← 1 peso
ELSE IF Button 2 (large amount) Pressed THEN
RequiredAmount ← 5 pesos
ELSE
Continue Loop
END IF
// --- Balance Verification ---
IF Balance ≥ RequiredAmount THEN
Activate Water Pump
Dispense water based on RequiredAmount
Deduct RequiredAmount from Balance
// --- Change Dispensing ---
IF Balance > 0 THEN
Calculate Change = Balance
Activate Coin Hopper
Dispense appropriate change
16
Set Balance = 0
END IF
// --- Data Transmission to Web App ---
Send water usage, balance, and sales data to Web Application via NodeMCU
// --- Display Updated Info ---
Display "Thank you!" on LCD
ELSE
Display "Insufficient Balance" on LCD
Delay for 3 seconds
END IF
End Loop Program Flowchart
The Program Flowchart depicts the internal logic and control
structure of the software programmed into the Arduino Uno.
It begins by initializing all components, including the coin
acceptor, LCD, buttons, water pump, coin hopper, and NodeMCU
for communication. Once initialized, the application begins
a loop that continuously monitors for user interaction. When
a coin is entered, its value is saved and the balance is
shown.
17
To determine the volume of water, the application waits for
the user to press the button. A conditional check determines
whether the balance is sufficient. If it is, the water pump
is operated for a predetermined length dependent on volume,
and the change is calculated. If too much money is detected,
the coin hopper dispenses change. All transaction data is
transmitted to the NodeMCU for cloud update. This flowchart
clearly depicts how each function is called and how
decisions are made, serving as a guide for understanding and
debugging the program logic.
System Architecture
Network Topology
Figure 4. Network Topology of Temperature and Humidity
Readings with Fan
18
To enable optimal communication between components, the IoT
Water Dispenser Vending Machine's network topology
incorporates a star topology into IoT architecture. The
Arduino Uno is at the heart of the system, controlling
physical components like the coin acceptor, coin hopper,
water pump, LCD display, and push buttons.
The Arduino communicates with the NodeMCU V3 ESP8266 via
serial communication (UART), allowing seamless data
transmission. The NodeMCU serves as a bridge to the web
application, utilizing Wi-Fi connectivity to transmit real-
time data such as water consumption, coin transactions, and
system status. This setup ensures that each device is
directly connected to a central hub (Arduino), enhancing
maintainability and scalability. The web application gathers
data for monitoring and notification, and users and system
administrators can access it remotely. This topology is
perfect for IoT-based vending systems, as it provides
centralized control and cloud-based data access. Growth
Parts and Equipment Needed:
Collaborate to automate water dispensing and coin exchange.
To function properly, the IoT Water Dispenser Vending
Machine with Integrated Coin Change System requires a
variety of electronic and mechanical components. The Arduino
19
Uno is the primary microcontroller, managing inputs and
outputs, while the NodeMCU ESP8266 manages IoT connectivity
for real-time monitoring. A coin acceptor validates inserted
coins, while a coin hopper provides change. The LCD display
reveals transaction details, and push buttons allow the user
to make selections. A water pump and a solenoid valve
control water flow. In addition, an ultrasonic sensor
monitors water levels, and a relay module regulates power
activation. These components
Parts and Equipment Quantity Description
1 Microcontroller that
Arduino manages input/output
Uno operations such as coin
validation, water
dispensing, and change
dispensing.
NodeMCU 1 Wi-Fi-enabled
ESP8266 microcontroller
responsible for IoT
connectivity, enabling
real-time data
transmission to the web
application.
Coin 1 Detects and validates
Acceptor inserted coins, ensuring
secure and accurate
payment processing.
Coin Hopper 1 Dispenses change for
users who insert higher-
value coins, making
transactions more
convenient.
LCD 1
Provides stable
20
electrical power to the
system components.
Web Application 1 for real-time monitoring,
(Software) transaction tracking, and
system management.
Relay Module 1 Controls high-power
components such as the
water pump and solenoid
valve, ensuring safe
operation.
Water pump 1 water pump and solenoid
valve regulate water flow.
Table 1. Parts and Equipment Needed
Software specification
The "IoT Water Dispenser Vending Machine with Integrated
Coin Change Dispensing System" will use software tools,
frameworks, and libraries to seamlessly integrate hardware
and software. The Arduino IDE for the Arduino Uno will be
used to program the microcontrollers. It supports C/C++
programming and is compatible with numerous sensors, pumps,
and coin mechanisms. PlatformIO will be used in Visual
Studio Code for the NodeMCU V3 ESP8266, facilitating code
administration, debugging, and managing Wi-Fi capabilities
more efficiently.
The project will utilize C++ on the Arduino Uno to manage
coin change, pump control, and sensor data processing. The
21
online application will be developed using JavaScript, HTML,
and CSS to ensure mobile and desktop compatibility. The
backend will use Node.js for real-time data processing and
online connectivity. Firebase will be used to store and
retrieve water use information, as well as to deliver
notifications.
Installation Process:
Here’s a more detailed breakdown of how to install the
Arduino
IDE: First, go to the Arduino Software official page
(https://www.arduino.cc/en/software). Second, choose the
version suitable for your operating system such as Windows,
macOS, Linux. For Windows, run the download .exe file and
follow the installation prompts. For macOS, open the .dmg
file and drag the Arduino IDE into your application folder.
And for Linux, extract the downloaded file and run the
install.sh script. Once the installation is complete, you
can choose to launch the Arduino IDE immediately or find it
later in the Start Menu (Windows) or applications folder
(macOS).
Fourth, open the IDE from your application or program list.
Fifth, go to Tools > Board, and select the model of your
22
Arduino board (e.g., Arduino UNO). Then install additional
libraries if needed, if your project requires specific
libraries, go to Sketch > Include Library > Manage Libraries
to install them. Lastly, you can code now such as creating a
new sketch and upload a simple code to make sure everything
is working properly.
How to download:
Choose Arduino software in the site Choose compatible software .
.
Just download for free Installation Update Arduino IDE if needed .
23
Building Circuits:
Image 2. Actual Image of the device
This image shows the wooden enclosure of the IoT Water
Dispenser Vending Machine from the front. The structure,
which has a white-painted top and a bold design, appears to
be in the assembling process. The graphic shows its
electrical components and wiring. Inside, you can see
important components such as the coin mechanism, coin
hopper, and electronic control boards, which appear to
24
comprise an Arduino and a power supply module. The wiring
configuration indicates that the system's operations, such
as coin validation, change dispensing, and water dispensing
control, are seamlessly linked.
25
Image 3. During the Creation of the Device
We started creating our device in the image above. We built
our equipment out of plywood. Everyone's attitude toward
cooperation is apparent, guaranteeing that the result we
desired is created properly. This photograph also portrays
the collaborative attitude and the hard work that goes into
creating something great.
Image 4. Testing the Components
26
As demonstrated above, we test the components as soon as
they arrive to ensure they work properly. Water pump
motors, coin acceptors, and other components are also being
studied. Even if the components and code are not yet
complete, we write code after ensuring that all of the
parts function properly.
Image 5. Revising Research Paper
27
In this image, we began to prepare the papers for our
research, ensuring that the panelists' recommendations and
comments were considered. Some of my teammates are not in
the image since they are working on their assigned jobs,
which include creating the gadget and writing the code for
it. Everyone is attempting to accomplish the work more
rapidly.
Program/Sketch
const int coinSlotPin = 2; // Coin slot signal
const int hopper5Pin = 12; // ₱5 coin hopper
const int hopper1Pin = 13; // ₱1 coin hopper
const int waterValvePin = 8; // Water valve
const int hopper5PinSensor = 11; // Coin slot signal
const int hopper1PinSensor = 10;
volatile unsigned long lastPulseTime = 0;
volatile unsigned long pulseWidth = 0;
int totalInserted = 0;
const int waterPrice = 1; // ₱1 per dispense
void setup() {
Serial.begin(9600);
pinMode(coinSlotPin, INPUT_PULLUP);
pinMode(hopper5Pin, OUTPUT);
pinMode(hopper1Pin, OUTPUT);
pinMode(hopper5PinSensor, INPUT);
pinMode(hopper1PinSensor, INPUT);
pinMode(waterValvePin, OUTPUT);
digitalWrite(hopper5Pin, LOW);
digitalWrite(hopper1Pin, LOW);
digitalWrite(waterValvePin, LOW);
attachInterrupt(digitalPinToInterrupt(coinSlotPin), detectPulse, CHANGE);
}
void loop() {
if (pulseWidth > 0) {
Serial.print("Pulse Width Detected: ");
Serial.println(pulseWidth);
int coinValue = classifyCoin(pulseWidth);
if (coinValue > 0) {
totalInserted += coinValue;
Serial.print("Coin inserted: ₱");
Serial.println(coinValue);
}
// Reset for next detection
28
}
if (totalInserted >= waterPrice) {
dispenseWater();
int change = totalInserted - waterPrice;
giveChange(change);
totalInserted = 0;
}
pulseWidth = 0;
}
void detectPulse() {
unsigned long currentTime = micros();
if (digitalRead(coinSlotPin) == LOW) {
lastPulseTime = currentTime; // Start timing
} else {
pulseWidth = currentTime - lastPulseTime; // Measure width
}
}
int classifyCoin(unsigned long width) {
Serial.println("width:");
Serial.println(width);
Serial.print("sensor 5:");
Serial.println(digitalRead(hopper5PinSensor));
Serial.print("sensor 1:");
Serial.println(digitalRead(hopper1PinSensor));
if (width > 77148) return 10; // ₱10 coin (adjust threshold)
if (width > 68092) return 5; // ₱5 coin
if (width > 10) return 1; // ₱1 coin
return 0; // Invalid
}
void dispenseWater() {
Serial.println("Dispensing Water...");
digitalWrite(waterValvePin, HIGH);
delay(5000);
digitalWrite(waterValvePin, LOW);
}
void giveChange(int change) {
Serial.print("Giving Change: ₱");
Serial.println(change);
while (change >= 5) {
Serial.println("Dispensing ₱5 coin...");
digitalWrite(hopper5Pin, HIGH);
delay(5000);
digitalWrite(hopper5Pin, LOW);
change -= 5;
}
while (change >= 1) {
Serial.println("Dispensing ₱1 coin...");
digitalWrite(hopper1Pin, HIGH);
delay(5000);
digitalWrite(hopper1Pin, LOW);
change -= 1;
}
}void setup() {
// put your setup code here, to run once:
void loop() {
// put your main code here, to run repeatedly:
29
Users Guide
Introduction:
The existing water dispensers only perform the most basic
functions, lacking innovative technology that improves user
experience and could meet their modern needs. This project
aims to bridge this gap by developing an existing dispenser
with new features such as a coin changer, a web application,
and IoT capabilities.
This proposed gadget will be implemented in the Brgy.
Esperanza, Poro, Cebu, where users can conveniently purchase
water without the need for manual transactions. The proposed
study on Coin Change Dispensing System aims to alleviate
user dissatisfaction.
System Overview:
The goal of the IoT Water Dispenser Vending Machine with
Integrated Coin Change Dispensing System is to give users
with a convenient, automated way to buy water while assuring
accurate monetary transactions. The system's integration of
IoT technology allows for real-time monitoring of water
levels and equipment status. The Arduino Uno, which controls
critical functions like as cash confirmation and water
delivery, is fundamental to the system.
30
The NodeMCU V3 ESP8266 allows for remote monitoring and
notifications by parsing bytecode commands and connecting to
a web application. The coin change system, operated by a
coin hopper, enables accurate change dispensing, reducing
transaction errors and increasing customer comfort. The
vending machine combines cutting-edge hardware and software
components to create a creative, effective, and user-
friendly solution for automated water distribution while
decreasing maintenance requirements and operating downtime.
Hardware Setup:
The Internet of Things Water Dispenser Vending Machine with
Integrated Coin Change Dispensing System is made up of
several key hardware components that work together to ensure
efficient and automated operation. The system's central
microprocessor, the Arduino Uno, controls inputs and outputs
such as coin validation and water dispense. These are
supplemented by the NodeMCU V3 ESP8266, which manages
wireless communication and connects the system to a web
application for notifications and real-time monitoring. To
ensure accurate transactions, the machine includes a coin
acceptor that identifies and validates 5 and 10-peso coins.
The coin hopper is in charge of supplying the necessary
change when a coin has been confirmed. Following a
31
successful payment, the water pump in the water distribution
system is activated, and water level sensors monitor the
water storage tank and alert the system when water is
accessible.
Software Installation and Configuration:
Here is the step-by-step and more detailed of how to install
the Arduino IDE: First, go to the Arduino Software official
page (https://www.arduino.cc/en/software). Second, choose
the version suitable for your operating system such as
Windows, macOS, Linux. For Windows, run the download .exe
file and follow the installation prompts. For macOS, open
the .dmg file and drag the Arduino IDE into your application
folder. And for Linux, extract the downloaded file and run
the install.sh script. Once the installation is complete,
you can choose to launch the Arduino IDE immediately or find
it later in the Start Menu (Windows) or applications folder
(macOS). Fourth, open the IDE from your application or
program list. Fifth, go to Tools > Board, and select the
model of your Arduino board (e.g., Arduino UNO). Then
install additional libraries if needed, if your project
requires specific libraries, go to Sketch > Include Library
> Manage Libraries to install them. Lastly, you can code now
32
such as creating a new sketch and upload a simple code to
make sure everything is working properly.
System Operation:
The IoT Water Dispenser Vending Machine with Integrated Coin
Change Dispensing System runs using embedded hardware and
IoT-enabled software, resulting in an automated and user-
friendly experience. A user inserts a 5 or 10-peso coin into
the coin acceptor, which checks the coin's validity and
sends the data to the Arduino Uno, initiating the process.
When the user hits the dispense button after accumulating
the required amount of water, the water pump will release
the appropriate volume. Water level sensors monitor the tank
to ensure that there is enough water for dispensing. If the
amount entered exceeds the required amount, the coin hopper
will automatically produce the correct change.
The system features IoT capability with the NodeMCU ESP8266,
which allows for real-time monitoring and notifications via
a web application, as well as water pouring. This ensures
that administrators can remotely check machine
functionality, coin availability, and water levels. If the
water level falls below a certain level, the system alerts
33
maintenance staff to replace the supply. The system requires
little human involvement because it is designed to be
dependable and efficient. It is a practical and efficient
solution for automated water vending because to its accurate
water dispensing, automatic coin validation, regular
monitoring, and real-time IoT updates, which ensure smooth
operation.
System Maintenance:
Monitoring your system is critical for achieving peak
performance and lifetime. To prevent filth and bacteria from
accumulating, the owner must clean the exterior and interior
surfaces on a regular basis. Wipe down surfaces with a soft,
dry cloth. Avoid applying liquids directly to electronic
components. Set a timetable for checking and installing
firmware upgrades to improve the system's operation and
security. If coin rejection fails, look for jams or
misalignment in the coin slot. If water is not distributing
properly, look for blockages in the water line or a broken
water pump. Also, if the web app isn't receiving alerts,
check your Wi-Fi connection.
The system also has limitations and constraints, such as
network reliance, which implies that the device need a
stable internet connection for mobile notifications and
34
updates. Poor connectivity can impede functionality. To
maximize performance, we recommend monitoring the device
performance data using the mobile app to detect any
abnormalities early. Also, be modest when receiving comments
from customers or users, as this can assist discover areas
for development and improve the user experience.
Safety Considerations:
When developing this type of system or equipment, safety
must be prioritized throughout the design, installation, and
operation stages. These are the most critical safety
considerations to remember. To avoid electrical fires or
short circuits, ensure that all electrical components are
properly wired in compliance with safety rules. Handling
fragile electronic components to prevent statistical
electrical injury. Furthermore, exercise caution when
assembling all parts to avoid damaging sensitive areas,
notably circuit boards and sensors. Additionally, schedule
routine maintenance to ensure that all parts are running
securely and properly. This may include an examination of
the water system, software performance, and internal
electrical connections.
35
Frequently Asked Questions (FAQs):
Support and Contact Information:
For quarries and questions, you can contact us on our email
[email protected], [email protected]. On
the other hand, you can message or call us on this phone
numbers 09309468716, 09812929843. For support, feedback, and
clarifications.
REFERENCES
[1] Chen, Mingzhong. (2017). 3. IoT (internet of things)-
based smart vending machine and vending system based
on IoT-based smart vending machine.
[2] Gu, Desheng. (2007). 4. Coin-feed water-vending
machine.
[3] James, M., Padilla. (1987). 1. Water vending system.
[4] Li, Jun. (2013). 13. Purified water liquid beverage
automatically producing and vending multimedia all-in-
one machine.
[5] Saito, Taiyu. (2016).Coin collector provided with
auxiliary coin dispenser, vending machine and coin
dispensing method.
36
[6] V.Karthika., S.Jagadeesh., Kogili.Sai, Teja., Ashwin,
Karthick. (2019). 1. Smart computerized vending
machine enhanced with iot technology.
[7] Wiedjaja, Atmadja., Hansel, Pringgiady., K., Lie.
(2023). 1. IoT Based Beverage Dispenser Machine. doi:
10.1007/978-3-031-29078-7_75
[8] Wahidul, Alam., Dhiman, Sarma., Rana, Joyti, Chakma.,
Mohammad, Jahangir, Alam., Sohrab, Hossain. (2021). 1.
Internet of things based smart vending machine using
digital payment system. Indonesian Journal of
Electrical Engineering and Informatics, doi:
10.52549/.V9I3.3133
[9] Wang, Weidi., Wan, Lingzhi., Dang, Xinbo., Yu,
Junchao. (2019). 1. Purified water vending machine
based on Internet of Things.
[10] Zuo, Zhiyu., Yi, Pengping., Dong, Weiwei., Ding,
Zhenxing. (2015). 2. Paper money and coin integrated
change machine.
[11] Aniruddha, Badodkar., Abhishek, Pindoriya., Himanshu,
Mukati., Rishabh, Darwai., Mrs., Varsha, Khule. (2024)
Smart Water Dispensing: Enhancing Convenience Through
App-Controlled Vending Machines
37
[12] (Abellan, Vivo, Juan, Pedro. (2002) Coin-operated
automatic, unbottled mineral water vending machine in
domestic form, using beakers.
[13] (Ali, Ali., Athir, Jaafar. (2020) Smart vending
machine counter using IOT
[14] (Huang, Yiping., Nong, Liping., Huang, Kun., Zhang,
Kexiang., Zhou, Runchang., Liang, Zichen. (2019)
Internet-of-Things water dispenser system with APP
identity authentication and encryption functions and
control method thereof
[15] (James, M., Padilla. (1987) Water Vending System
[16] (Jnr, Sam, B, Norris. (1970) Coin Operated Water
Vending Machine
[17] (Lin, Zongde., Xu, Shuyan., Chen, Bixia., Lin,
Xinying. (2016) Coin Change Machine
[18] (Seng, Kheau, Chung., Hoe, Tung, Yew., Aroland,
Kiring. (2024) IoT-Based Vending Machine(Matsuda,
Eiji., Kabasawa, Shigeo., Mannen, Hiroaki. (1989)
Change dispenser for vending machine
[19] (Xiufang, Zhang., Lei, Yang., Shaobo, He., Miaoqi,
Wang. (2024) Design of a Water Quality Monitoring
38
System for Self-Service Water Vending Machines Based
on Internet of Things Technology
CURRICULUM VITAE
PERSONAL INFORMATION
Name : Renar F. Ares
Address : Cabonga-an, San Francisco, Cebu
Date of Birth : February 21, 2002
Place of Birth : Cabonga-an, San Francisco, Cebu
Citizenship : Filipino
Gender : male
Civil Status : Single
EDUCATIONAL BACKGROUND
Primary : Cabonga-an Elementary
School
: Cabonga-an National High
Secondary
School
39
Undergraduate :San Francisco, Cebu
40