Finally with SystemModeler 4.01 the ModelPlug utility has been added. I have the goal to apply the methodology of "Design by Modelling" to Design, Simulate and Optimize a certain design I have in mind. With ModelPlug and the Firmata protocol finally Wolfram is reacting to a market segment need that has been addressed so far i.e. by Maple and MapleSim, as well as Matlab and Simulink. Embed real hw based external systems in the process of design and simulation. This is key to verify i.e. the quality of models against data being generated in real external systems.
As well as it is that Wolfram is finally presenting a method to address this need, different from what I was suggested to look into from technical support feedback to my questions, this first release is a typical 0.x version. Let me try to express why!
Probably motivated by their activities with RaspBerry Pi and Mathematica, Wolfram has chosen Arduino and refers specifically to Uno being the recommended version of the Arduino. Lets face it. Dominating microcontroller architecture out in the embedded marketplace are those using the ARM Cortex Mx license. Wolfram chooses an exotic board using a Freescale ARM based controller, apparently a ARM Cortex M4 to address this architecture. A user that did port that implementation of the protocol Firmata to an LPC800 controller has to write his own patches, both for the PC and for his board and clearly identified the weaknesses coming from choosing with Firmata a protocol that is based on its MIDI origin, limited not only by the number of PWMs that can be supported, but also by limiting the rate of update to 10 ms, improving to 1 ms if a faster controller is used. Also the amount of data to be transferred is very limited.
So knowing that Wolfram is at its best when it comes to supply a powerful mathematical tool, the concept of promoting Mathematica and the Wolfram Language to run natively, see Raspberry Pi. The embedded world is different! A proper implementation of linking SystemModeler with the concept/tool ModelPlug has to support powerful communication means like WIFI/Bluetooth, Ethernet to link the PC to the external hardware so that huge volumes of data can be fed into SystemModeler and Mathematica. The impact of Wolframs design resources would be better spend to implement a generic support for ARM Cortex M controllers taking advantage of the CMSIS library that all licencees of ARM Cortex M controller have to make available for their ICs. Finally also the protocol chosen, Firmata is much less than a good choice! There are protocols out there in the market that are much better suited for the task of making a protocol.
Finally Wolfram needs to invest, as all in the market do, to generate good documentation in writing and paper or PDF, tutorials with videos and to be specific about what versions they use, which functions are supported and equally important which ones not or not completely. Allow me to take Firmata protocol as an example. Wolfram nowhere I have been able to find specifies which version of firmata is supported. They only speak about "standardFirmata"! Goto to Firmata.org and you will see there are a couple of those. Adding to Wolfram tools the option to simulate and verify against real hardware, the domain of SystemModeler and now finally ModelPlug, This already being addressed by the 2 suppliers mentioned above and others and the expectations and needs of the clients in this marketplace are used to standards Wolfram is still missing by miles.
Just to point out. I have decided to go the way with Mathematica and SystemModeler/ModelPlug because of the great reputation Wolfram has acquired thanks to Mathematica. SystemModeler and its combination with Modelica opens the path to catch up against competitors and finally coming out with ModelPlug confirms that i am jumping on a waggon with great potential, but still just beginning to mature. Not least important is the fact that I hate to use stolen licenses based on cracks and Wolfram, different from their competitors, offers licenses for non commercial use and tolerable price tags!
I would like to see in this thread users who share my interest in SystemModeler linked to external hardware and software and together contribute to have Wolfram go a good path!