The Wolfram Language provides native support for connecting to Arduino Uno devices and for reading and writing data to shields and extensions.
DeviceOpen — open a connection over a serial port
DeviceRead — read from any digital or analog pin
DeviceWrite — write to any digital or analog pin
DeviceConfigure — upload code for a function in raw or SymbolicC form
DeviceExecute — execute a function on the Arduino or specify its scheduling