A fully functional Lego NXT Automatic Teller Machine (ATM) with change making capability. The machine is built 100% from Lego parts plus a HiTechnic IRLink and a Codatex RFID Sensor. The machine is programmed in Not eXactly C (NXC) and has the following features…

 Bill scanner can be calibrated to accept any type of banknote
 Machine accepts only the type of bill for which it is calibrated
 Tolerances for bill acceptability are adjustable directly on-brick
 Viewable histogram compares calibration and live data from bill scanner
 Functional numeric keypad uses a combination of touch and light sensors
 Entire customer database is restored from flash memory at startup
 Customer database is automatically saved after each transaction
 ATM card is retained if wrong PIN code is entered three times
 ATM card is retained after a period of inactivity
 Coin and banknote value can be configured directly on-brick
 Uses a custom created 9×13 pixel rotated text font
 NXT buttons function as selectors for menu options displayed on-screen

[via Brothers-Brick]