While I have a great fondness for developing and prototyping my electroncis projects on the Arduino platform, and I always will love the Arduino and Atmel microcontrollers, there is new favorite in my toolkit now as well. The TinkerForge system.
The TinkerForge system is a set of pre-built electronics boards that are built in such a way that you can stack the boards (known as bricks), attach accessories (known as bricklets), and have your prototype and and running quickly. Unlike systems, such as the Arduino or Launchpad, the TinkerForge has to be attached to a computer and the computer does all of the work. With an easy set of application programming interfaces (APIs) available in C/C++, C#, Java, PHP, and Ruby, the system is easy to interface and program over USB in a snap. I am usually a C/C++ programmer as a preference but I decided to take the time to learn something new with the TinkerForge so I have been working on rapid prototyping in Python. TinkerForge won the 2012 CHIP award for Product of the Yearwhere the two years prior had been won by Panasonic and Lufthansa.
The heart of the TinkerForge system is the Master Brick. The Master Brick runs on an Atmel ATSAM3S4C microcontroller so I am sticking with my love of Atmel controllers — they’re everywhere! The Master Brick provides the USB interface and main communications portal between the computer and the stack. In addition to USB, you can also utilize Master Extensions that provide alternate communications interfaces. There is an RS485 interface available and, when I got my kit, a sub 1GHz radio interface known as a Chibi Extension. For various reasons, the TinkerForge team has informed me that they have stopped producing this extension but are working on an 802.11 interface in its place. The really neat thing about the way they have implemented the Master Extensions is that they are seamless to the user. Once they are configured it doesn’t matter if your stack is separated across the interface or all on the same physical stack, talking to all of the components on the stack works with the same code interface.
Additional bricks provide more functionality. Three of the additional bricks provide interfaces to motors and servos. One is a pure DC motor driving brick that provides up 25 V and 5 A. One provides the ability to drive a stepper motor up to 38 V and 2.5 A per stepper phase. Finally, there is a Servo Brick capable of driving up to seven servos up to a maximum of 3 A. For all of these devices, there is an independent DC power input should you need to use the power ranges above the standard USB 5V and (generally) less than an Amp power supplied over USB. There is also a debugging module that allows you to pull JTAG and serial console debugging information.
More info here.