KNOWLEDGE INSTITUTE OF TECHNOLOGY
AUTOMATED TELLER
MACHINE
ARULRAJA M
REG NO : 611223431001
(Autonomous)
• It’s a computer-based machine stands for an Automated Teller
Machine. It is a unique type of computer that makes cash withdrawal
convenient. Not only cash withdrawal, but you can also check your
account balances, deposit money, and can print a statement of your
account activities.
• The first cash dispenser machine was deployed in Japan around the
1960s. However, no one is sure about it because it was not published
anywhere at that time. The first ATM appeared in London in the year
1967. It was seen at a branch of Barclays Bank.
Introduction
Flow Chart
Flow Chart
DSP and
ARM
Processor
Keypad
Speaker
Card
Reader
Finger Print
Sensor
Receipt
Printer
Cash Dispenser
and Deposit
Machine
Display
Bank
Server
Video
Camera
Protection: Vibration Sensor,
Tilt Sensor, Temperature and
Humidity sensor
Block Diagram of ATM Hardware
Software
Authentication
Finger Print
Verification
Pin
Verification
Face
Recognition
Secure
Database
Card
Verification
Encrypted
Enhancing Financial Security: Strategies for
ATM Fraud Prevention
Software – Embedded Programming
An Overview of Programming for an Automated Teller Machine
(ATM) typically involves embedded systems programming
• Hardware Interface:
ATMs have various hardware components like card readers, cash dispensers,
receipt printers, and more. Understanding and interfacing with these
components is a critical part of the programming process. APIs (Application
Programming Interfaces) provided by the hardware manufacturers are usually
used for this purpose.
• Security:
Security is a top priority for ATMs. The programming must ensure secure
communication with the banking server, secure user authentication, and
protection against various types of attacks (e.g., card skimming, network
attacks). Encryption and secure coding practices are essential.
Software – Embedded Programming Cont.
• Transaction Handling:
Implementing transaction processing is a core part of ATM programming. This includes handling
cash withdrawals, deposits, balance inquiries, fund transfers, and other banking operations.
• User Interface:
The user interface of an ATM is typically through a touchscreen or physical keypad. Designing a
user-friendly interface is crucial for ensuring that customers can easily navigate through the
ATM functions.
• Network Communication:
• ATMs are connected to the bank's network for transaction processing. The programming
must include protocols for secure communication with the bank's servers. Common
communication protocols include ISO 8583 for financial transactions.
• Error Handling and Recovery:
• Robust error handling is crucial to deal with unexpected situations. This includes network
failures, hardware malfunctions, and other error scenarios. The system should be able to
recover gracefully from errors and maintain the integrity of transactions.
Software – Embedded Programming Cont.
• Transaction Initialization:
When a user initiates a transaction, whether it's a cash withdrawal, deposit, or
any other operation, the ATM software must initialize the transaction. This
involves capturing user inputs, verifying user identity (e.g., through PIN
authentication or card verification), and ensuring that the requested
transaction is valid.
• Communication with Banking Server:
Once the transaction is initiated, the ATM needs to communicate with the
banking server to authorize and process the transaction. This involves
establishing a secure connection using communication protocols such as ISO
8583 over a secure network, often encrypted. The ATM sends transaction
details, and the server responds with an authorization or decline.
Software – Embedded Programming Cont.
• Transaction Authorization:
The banking server evaluates the transaction details, checking factors like
account balance, transaction limits, and other security parameters. If the
transaction is deemed valid, the server sends an authorization code back to the
ATM. Otherwise, a decline code is sent, and the ATM informs the user that the
transaction cannot proceed.
• Cash Handling (for Withdrawals and Deposits):
For cash withdrawals, the ATM must dispense the correct amount of cash based
on the authorized transaction. In the case of deposits, the ATM needs to accept
and validate the deposited funds, ensuring that the correct amount is credited
to the user's account. Handling cash securely and accurately is crucial in both
scenarios.
Software – Embedded Programming Cont.
• Receipt Generation:
After a successful transaction, the ATM typically generates a receipt for the
user. The receipt includes details such as transaction amount, date and time,
account balance (for balance inquiries), and a transaction identifier. This receipt
serves as proof of the transaction and may include additional information
based on the specific operation.
• Logging and Auditing:
Every transaction must be logged for auditing and record-keeping purposes.
This log includes details such as transaction type, date and time, user
identification, and any relevant error or status codes. Logging is essential for
troubleshooting, tracking user activity, and complying with regulatory
requirements.
Software – Embedded Programming Cont.
• Error Handling and Rollback:
Robust error handling mechanisms are crucial for addressing unforeseen issues
during transaction processing. If an error occurs at any stage, the system should
be capable of rolling back the transaction to maintain data integrity. Informative
error messages should be displayed to the user to explain the issue and guide
them on the next steps.
• Timeouts and Transaction Abandonment:
Implementing timeouts is essential to prevent situations where a transaction is
left incomplete. If a user takes too long to complete a transaction, the system
should time out and revert to a safe state. Similarly, if communication with the
banking server is lost, the ATM should handle such scenarios gracefully.
Software – Embedded Programming Cont.
• Transaction Completion and Updates:
Upon successful completion of a transaction, the user's account balance needs
to be updated both on the ATM side and the banking server side. This ensures
consistency across the system and provides users with accurate information for
future transactions.
• Security Measures:
Throughout the transaction handling process, security measures such as
encryption, secure PIN entry, and secure communication protocols are critical.
Protecting sensitive user data and financial information is a primary concern in
ATM transaction handling.
Parameters Variant 1 Variant2 Variant 3
Product ID ACRT-1 DARWC-2 ACALCS-3
Specification
(Voltage, Current)
• Voltage 230V +-10%
• Current Max 5A
• Working temperature 10-50deg
Celsius
• Communication : Wi-Fi/Ethernet
• Voltage 110V +-10%
• Current Max 12A
• Working temperature 10-55deg
Celsius
• Communication : Wi-Fi/Ethernet
• Voltage 110V/230V -20/10A +-
15%
• Current Max 10A
• Working temperature 10-55deg
Celsius
• Communication : Wi-Fi/Ethernet
Embedded Processor type ARM Cortex-M4 DSP Processor &
ARM Cortex-M4
ARM Cortex-A53 with hardware
security features
Embedded software used Custom lightweight real-time
operating system (RTOS)
Windows CE Linux with custom security
enhancements
Price Moderate Moderate to High High
Advantage • Low cost and Error Free Operation
• Cost-effective for small banks or
in regions with limited financial
infrastructure. Low power
consumption.
• Supports a wide range of
banking services, including
complex transactions.
Integration with banking
systems is seamless. User-
friendly interface.
• Robust security features,
including hardware
encryption and secure boot.
Supports biometric
authentication. Ideal for high-
traffic areas and financial
institutions prioritizing
security.
Disadvantage Limited features and processing
power compared to higher-end
variants. May not support advanced
banking services.
Higher power consumption and
cost compared to basic variants.
Maintenance costs may be
higher due to the complexity of
the system.
• Higher initial cost. Advanced
security features may require
more frequent software
updates and maintenance.

ATM BLock Diagram and its design uses development.pptx

  • 1.
    KNOWLEDGE INSTITUTE OFTECHNOLOGY AUTOMATED TELLER MACHINE ARULRAJA M REG NO : 611223431001 (Autonomous)
  • 2.
    • It’s acomputer-based machine stands for an Automated Teller Machine. It is a unique type of computer that makes cash withdrawal convenient. Not only cash withdrawal, but you can also check your account balances, deposit money, and can print a statement of your account activities. • The first cash dispenser machine was deployed in Japan around the 1960s. However, no one is sure about it because it was not published anywhere at that time. The first ATM appeared in London in the year 1967. It was seen at a branch of Barclays Bank. Introduction
  • 3.
  • 4.
  • 5.
    DSP and ARM Processor Keypad Speaker Card Reader Finger Print Sensor Receipt Printer CashDispenser and Deposit Machine Display Bank Server Video Camera Protection: Vibration Sensor, Tilt Sensor, Temperature and Humidity sensor Block Diagram of ATM Hardware
  • 6.
  • 7.
    Software – EmbeddedProgramming An Overview of Programming for an Automated Teller Machine (ATM) typically involves embedded systems programming • Hardware Interface: ATMs have various hardware components like card readers, cash dispensers, receipt printers, and more. Understanding and interfacing with these components is a critical part of the programming process. APIs (Application Programming Interfaces) provided by the hardware manufacturers are usually used for this purpose. • Security: Security is a top priority for ATMs. The programming must ensure secure communication with the banking server, secure user authentication, and protection against various types of attacks (e.g., card skimming, network attacks). Encryption and secure coding practices are essential.
  • 8.
    Software – EmbeddedProgramming Cont. • Transaction Handling: Implementing transaction processing is a core part of ATM programming. This includes handling cash withdrawals, deposits, balance inquiries, fund transfers, and other banking operations. • User Interface: The user interface of an ATM is typically through a touchscreen or physical keypad. Designing a user-friendly interface is crucial for ensuring that customers can easily navigate through the ATM functions. • Network Communication: • ATMs are connected to the bank's network for transaction processing. The programming must include protocols for secure communication with the bank's servers. Common communication protocols include ISO 8583 for financial transactions. • Error Handling and Recovery: • Robust error handling is crucial to deal with unexpected situations. This includes network failures, hardware malfunctions, and other error scenarios. The system should be able to recover gracefully from errors and maintain the integrity of transactions.
  • 9.
    Software – EmbeddedProgramming Cont. • Transaction Initialization: When a user initiates a transaction, whether it's a cash withdrawal, deposit, or any other operation, the ATM software must initialize the transaction. This involves capturing user inputs, verifying user identity (e.g., through PIN authentication or card verification), and ensuring that the requested transaction is valid. • Communication with Banking Server: Once the transaction is initiated, the ATM needs to communicate with the banking server to authorize and process the transaction. This involves establishing a secure connection using communication protocols such as ISO 8583 over a secure network, often encrypted. The ATM sends transaction details, and the server responds with an authorization or decline.
  • 10.
    Software – EmbeddedProgramming Cont. • Transaction Authorization: The banking server evaluates the transaction details, checking factors like account balance, transaction limits, and other security parameters. If the transaction is deemed valid, the server sends an authorization code back to the ATM. Otherwise, a decline code is sent, and the ATM informs the user that the transaction cannot proceed. • Cash Handling (for Withdrawals and Deposits): For cash withdrawals, the ATM must dispense the correct amount of cash based on the authorized transaction. In the case of deposits, the ATM needs to accept and validate the deposited funds, ensuring that the correct amount is credited to the user's account. Handling cash securely and accurately is crucial in both scenarios.
  • 11.
    Software – EmbeddedProgramming Cont. • Receipt Generation: After a successful transaction, the ATM typically generates a receipt for the user. The receipt includes details such as transaction amount, date and time, account balance (for balance inquiries), and a transaction identifier. This receipt serves as proof of the transaction and may include additional information based on the specific operation. • Logging and Auditing: Every transaction must be logged for auditing and record-keeping purposes. This log includes details such as transaction type, date and time, user identification, and any relevant error or status codes. Logging is essential for troubleshooting, tracking user activity, and complying with regulatory requirements.
  • 12.
    Software – EmbeddedProgramming Cont. • Error Handling and Rollback: Robust error handling mechanisms are crucial for addressing unforeseen issues during transaction processing. If an error occurs at any stage, the system should be capable of rolling back the transaction to maintain data integrity. Informative error messages should be displayed to the user to explain the issue and guide them on the next steps. • Timeouts and Transaction Abandonment: Implementing timeouts is essential to prevent situations where a transaction is left incomplete. If a user takes too long to complete a transaction, the system should time out and revert to a safe state. Similarly, if communication with the banking server is lost, the ATM should handle such scenarios gracefully.
  • 13.
    Software – EmbeddedProgramming Cont. • Transaction Completion and Updates: Upon successful completion of a transaction, the user's account balance needs to be updated both on the ATM side and the banking server side. This ensures consistency across the system and provides users with accurate information for future transactions. • Security Measures: Throughout the transaction handling process, security measures such as encryption, secure PIN entry, and secure communication protocols are critical. Protecting sensitive user data and financial information is a primary concern in ATM transaction handling.
  • 14.
    Parameters Variant 1Variant2 Variant 3 Product ID ACRT-1 DARWC-2 ACALCS-3 Specification (Voltage, Current) • Voltage 230V +-10% • Current Max 5A • Working temperature 10-50deg Celsius • Communication : Wi-Fi/Ethernet • Voltage 110V +-10% • Current Max 12A • Working temperature 10-55deg Celsius • Communication : Wi-Fi/Ethernet • Voltage 110V/230V -20/10A +- 15% • Current Max 10A • Working temperature 10-55deg Celsius • Communication : Wi-Fi/Ethernet Embedded Processor type ARM Cortex-M4 DSP Processor & ARM Cortex-M4 ARM Cortex-A53 with hardware security features Embedded software used Custom lightweight real-time operating system (RTOS) Windows CE Linux with custom security enhancements Price Moderate Moderate to High High Advantage • Low cost and Error Free Operation • Cost-effective for small banks or in regions with limited financial infrastructure. Low power consumption. • Supports a wide range of banking services, including complex transactions. Integration with banking systems is seamless. User- friendly interface. • Robust security features, including hardware encryption and secure boot. Supports biometric authentication. Ideal for high- traffic areas and financial institutions prioritizing security. Disadvantage Limited features and processing power compared to higher-end variants. May not support advanced banking services. Higher power consumption and cost compared to basic variants. Maintenance costs may be higher due to the complexity of the system. • Higher initial cost. Advanced security features may require more frequent software updates and maintenance.