I have a FEZ Domino at home (Arduino shield compatible), and am quite satisfied with it. It is not so much faster than an Arduino but it support multithreading and that makes life a real bit easier. Blink without delay is just another thread. OK with multithreading comes a lot of synchronization thingies, but .NET support those well. Also interesting to know is that the whole range of tinyclr is code compatible.
If I have to buy a .NETish -uino again it will be the Panda II as it has many additional features on board. The Domino is just too similar.
Back to your question: if you do .NETify your book you should have a look at these too (at least the Panda II)
I don't think a significant portion of arduino folks will need the computing power of netduino. Arduino is simple to use and has lots of experienced users to support it, besides already easy to use.
Multithreading is nice but not necessary in most fan projects. If I'd like to make a decent panel with flashy display and touch screen graphic UI, I may need something better, maybe a netduino.
Maybe multithreading is never necessary, but it is very educative to see how the same problem can be solved in Arduino's blink without delay way versus multithreading.
Yeah, I kinda like the limiting factor of Arduino.
It's definitely nice to figure out an elegant way to do something relatively complicated, past blinking leds or simple square wave tones.
Today I started learning how to use the internal timers.
Using a timer configured for PWM and a simple LPF, I was able to get a square wave tone fading in and out in 8bit resolution!
Another point to check: is .net available for Mac OS X and Linux?
I choose Arduino because the IDE was Mac OS X compatible, with no installation hassle.
Basically this.
I love the way that Arduino is multiplatform. .NET is just another Microsoft product, making it unuseable on anything other than Windows.
I try to stay away from Windows when it comes to personal use and hobby as much as possible.
Ofcourse the computing power of the other systems is awesome, multithreading is intresting to play with, but 1: I don't need it, and 2: I don't want to trade in my Mac
Thanks, never heard of these projects. I wonder how long they will last, and if they will become succesfull at all.
Problem is that big M usually kills developpers like this off, or buys them out.
We'll see if anything comes out of it.
BUT! Are there tools for the .netduino on other platforms? Not from what I could find.
At least they both have quite a proven record, I used sharpdevelop 5-6 years ago for a project - so I did not need to invest in Visual studio. It was more than stable enough to develop the desktop application. First releases are from 2000 or 2001 (it uses the MS C# commandline compiler). I have never used mono so no opinion, but its first release was in 2004 or 2005 (?)
I have a netduino and a FEZ Panda. I implemented code to use a spectrum shield in both environments. Overall the development environment is easy enough to work in, particularly if you have experience in the .NET world - which I do.
The issue I had was pin speed and the complexity of the native underlying environment. Once you want to do something not provided by the higher level layer you have to dig into native implementations which was mind blowing for my little pea brain. I tried to use it to bit bang some shift register like code but the only way I was going to get the speed I needed was to implement at the native level or SPI, which didn't work for the chips I was using at the time. After a week or so of pretty frustrating attempts to make them work, I put both the netduino and FEZ on the shelf and just used multiple Arduino units to accomplish the task I was under the gun to accomplish.
That said, the netduino and FEZ communities were helpful and I am sure they movement will continue with one if not both of these groups. Eventually there will be a market. I personally prefer the FEZ products and they appear to scale up amazingly well.
If you do a book, you may have to change the name since most consider MS evil and it may rub them the wrong way I would go for it if I were you.
I think a translation from Arduino to NETduino would be a great thing to have
.NET supports C++ as language so porting code from Arduino to NETduino is not 100% difficult. You need to define the main as it is defined in Arduino core
main()
{
setup();
while(1) loop();
}
and a part of the code will compile. More work will be the hardware IO, registers, in theory one only need to rewrite the HW abstraction layer once to be able to compile the libraries. But then still one would have a single thread .exe and miss the added value/posibilities of multithreading of the .NET platform. Still the result could be good enough for many sketches.
Personally I believe more in reuse at design and architecture level than at code level. The current trend of Model Driven Design which replaces coding more and more is a very powerfull one. See for example - http://www.verum.com/ - I don't expect it comes to Arduino soon, but I like to be proven wrong on this one