The vending machine now provides some more feedback after money is put in.
Source code associated with my contribution is here. I haven't documented
the other components of the vending machine.
https://thomaslevine.com/scm/sudo-vending
Based on the implementation details, it appears to me that
the bill acceptor is in fact plugged into one board (Arduino Leonardo)
that is connected by serial to another board (Raspberry Pi). Why is
the former board used at all? That is, why is the bill acceptor not
plugged directly into the latter board?