The machine itself not exist already, it's a standard ATM.
it's the a function of integrating bitcoin into it that's a little tricky.
Very interesting idea. No, integrating bitcoin into it would not be tricky. In fact, it would be perfectly doable. I would take the way it currently works is that the ATM dispenses fiat bills after checking the balance of the account holder with their bank. Sometimes there's not even such a check, and the ATM dispenses money and could leave the account holders account with a negative balance, once it's synched with the bank.
As for a bitcoin ATM, an existing type of ATM could be used, but instead of talking with the bank, the system could be talking with a 'bitcoin clearing house'. This could for instance be some kind of open software system incorporating bitcoind, run by the entity administrating the open source bitcoin ATM. It need not be some big corporate 'bitcoin clearing house', but just a system run by the operator of said ATM. Using such a system, the operator could even have more ATM's, all connected to his 'bitcoin clearing house'. And there would be no direct connection with any banking entity in this system, so the ATM's could not be frozen by some arbitrary action by some overzealous official or bank employee or by some false alert issues by a monitoring program.
The issues such an operator would face:
1. Local compliance in regards to rules and regulations.
2. Theft/destruction of an ATM, following loss of money and repair/replacement costs.
Obviously, not complying with 1. makes the operator liable to confiscation of any equipment and possible fines/force from local authorities.
The risk associated with point 2. could be reduced by placing the machine in a well trafficked area (like a 7-11 store), and empty it when the shop is closed for the night.
It's a wonderful idea, and I think an ATM that could both receive and dispense money would be the best. Then the operator would either have to remove cash on a regular basis, or add cash - depending on which direction there's most pressure.
Now, the easiest starting point for creating something like this would be to have an existing ATM and associated software in source code from. Then we would already have the pieces that's talking to the ATM and doing all the functions required, so the only thing would be to create the connection where the ATM talks to the 'bitcoin clearing house' software. And perhaps it would also be required to create a network connection of sorts from the ATM, perhaps through existing local wireless network, or by incorporating a mobile network.
I would absolutely love to be a part of a project like this, and I would be able to do/participate in the software/programming part of it. It's a pitty though, that fiat bills are different in nearly all parts of the world, so perhaps there should be some kind of system in such an ATM that could 'easily' be adjusted for the local currency. I don't have any experience as to how things are done mechanically in such a system, but I'm sure there's some people that would be able to give some input to it.
But the idea is brilliant Salty, and then people wouldn't need to meet in hotel lobbies to conduct their trade!