Electronics at 100 MPH - Donat, Wolfram (Learn Raspberry Pi Programming with Python ; page 51-66 ; ISBN 9781430264248 9781430264255, 2014)