Arduino is the official name for an open-source micro-controller hardware technology developed in Italy. The boards (manufactured, kits or do-it-yourself plans) are available fairly cheaply and there are sensor, motor, communication and other hardware add-ons available. They have been adapted for many purposes. See the handout from an Arduino training course from http://www.sparkfun.com for some great references.
Tcl/Tk seems ideally-suited as a programming languages for this technology as the interface to deliver code and i/o to the microcontroller boards. What a great new future for tcl as a Tool Command Language for actual tools as well as software tools. (But wait! According to Linuxcnc.org , Tcl/Tk was used for the interface to early CNC equipment at NIST . It is still used as an interface to EMC2 in a software called Axis .)
Arduino is the not the only type of hardware out there. An incomplete overview of the landscape:
To do: separate this list into self-contained computers and micro-controllers.
The "buy it here" links are not intended to promote any particular product or reseller but attempt to show links to show real examples available from all over the web. Please add others for more diversity.
There are a few projects noted around the web:
2014-05-18: My son wanted the Arduino map function in Tcl. The C code is provided in the documentation, so porting it is a breeze. Note that the calculation uses integer math: this is as specified.
proc map {x inMin inMax outMin outMax} { expr {($x - $inMin) * ($outMax - $outMin) / ($inMax - $inMin) + $outMin} }