The Cyberman's head started as a second-hand voice changing unit from eBay. I've fitted a battery pack and a Raspberry Pi B+, and an Arduino Nano to control the lights.
Fibre-optic cables run down through the piping at the back of the head, and I can individually control each light though RGB Neopixels. Also running down the back is an HDMI extension cable and an Ethernet cable, so I can plug it in wherever I am.
There is a Logitech C130 webcam in the eye which will take photos and upload them, and is the microphone for the voice recognition.
Controlling the unit are extensions I've made to the Jasper project (http://jasperproject.github.io/), and I've bought a better software voice synthesizer from Cepstral, so you can understand its responses.
It understands the standard Jasper command set, but I've also extended its email capabilities, and add a new 'party' mode.
Also on board with the Pi is a WiFi adapter, a Bluetooth dongle (for iBeacon and other purposes) and the Logitech unified receiver so I can use my wireless keyboard and mouse with it as well.