Hand-held remote controller for Arduino etc

This is my first Instructable so apologies for any lack of clarity, factual errors or typos! Even if you don’t build the remote controller the code at the end has examples of lots of stuff. The hand held controller described here may be used with anything that supports I2C - though you will also need SPI if you want to use the SD card slot - Arduinos support both of course. For anyone who has got this far but is not into microcontrollers, both I2C (Inter Integrated Circuit) and SPI (Serial Peripheral Interface) are ways for one device to communicate with another - they define the wires and signals to be used.”