Some folks from the University of Pisa have come with an interesting idea of creating a cross-platform framework for IoT. The main concept is to use a scripting language (Python in this case) and provide tools to developers so they can code once, deploy everywhere.
VIPER runs on an Arduino Due (SAM3X8E), and can even be ported into the Atmel | SMART Cortex-M7 family. As its creators reveal, code developed on an Arduino Due can also be implemented onto these new MCUs in a matter of a few two clicks. Furthermore, the suite features an Arduino and Spark Proton-compatible, plug-and-play TOI shield.
Simply attach either a Due or Photon to the shield and start playing with any of the VIPER examples found in its library. (This collection of modules includes CC3000 Wi-Fi for Spark Core and Adafruit Shield, Adafruit/Sparkfun Thermal Printer, Adafruit NeoPixel LED, RTTTL smart melody player, Streams library, as well as TCP and UDP network protocols.) Aux ports are even included, enabling the use of other sensors like Grove, ThinkerKit, Phidgets, and Adafruit NeoPixel LED strips.
Through the provided VIPER IDE you can ‘viperize’ your boards by installing on them the VIPER VM. Once viperized, a board is no longer a simple Arduino DUE or Spark Photon or UDOO — now it has a multithreaded real-time operating system running on it, as well as a virtual machine ready to execute your compiled Python 3 scripts.
VIPER supports all the most used high-level features of Python like modules, classes, multithreading, callbacks, timers and exceptions, plus custom hardware-related features like interrupts, PWM, digital I/O, etc.
The VIPER VM provides real hardware independence — you can reuse or integrate your code on different boards and do simulation and debugging on a PC.
I find the concept very interesting and I will follow the team closely for updates and news. If you want to find out more you can support VIPER through their kickstarter campaign!