Networking
When wishing to use more complex peripherals than discrete buttons and lights or if working not from an Arduino but from a Raspberry Pi or a desktop computer, another way to interface with a robot controller is via its network port. Most recent robots have some networking capabilities, allowing them to either exchange data with the robot remotely or control its movements directly. By connecting a computer to the robot via its network port, it is possible to use powerful creative coding tools and frameworks such as Processing, OpenFrameworks, NodeJS or TouchDesigner to develop projects involving complex algorithmic processes, without the limitations of the robot controller or small microcontrollers.