I am a professional (retired) programmer very familiar with .NET programming. I have recently done some PIC programming and I have the MikroElectronika EasyPIC 7. I am intensely intrigued by the possibility of doing imbedded programming using .NET and C#.
I have been looking at the Netduino and the FEZ Hydra. For the type of work that I think I might be getting into, I am leaning toward starting with the Netduino 2 Plus, although the FEZ Hydra appears to have a lot more memory and speed. What shys me away from the FEZ Hydra is the concept of their sockets, which seem highly tailored to manufactured boards. I like the idea of being able to prototype my own circuits with a proto board–and a protoboard that fits the Netduino exactly. It seems that the Netduino offers more of that capability, while the FEZ Hydra, as powerful as it appears to be, seems to be tailor made to using standard cables and boards that fit a certain type of socket. It seems like the FEZ Hydra approach is marketed as something called “Gadgeteering”.
So I make this initial post in the corresponding forums to hear any ideas from experienced users of both platforms.
Welcome to the forum !
Great first question too !
I would call the Gadgeteer approach a “rapid prototyping” system, as well as a “standard socket for those less electrically inclined”. Compare that to a more traditional layout of pins being exposed in headers ('duino style, like Netduino), and you can see a definite difference - you use a standard header layout, and you plug a “shield” in, vs plugging a module into a socket of a specific type.
Since you’ve been exposed to the PIC world, then I’d say you’d be fine either way. But my personal suggestion would be that you should look at the Cerberus family devices. They may not have the memory of a Hydra, but they have a great Gadgeteer mainboard (Cerberus), the “duino” style Cerbuino (bee or net models), a motorised platform in the Cerbot, and a neat little 40-pin DIP form factor in the cerb40. Plus you can even take any of those open designs, and build your own board !
In my opinion, G400 is by far the best GHI mainboard (or whatever it is). Why not just make your own G400-protoboard compatible circuit?
In concept, Gadgeteer and Arduino header styled boards are very similar.
On the Arduino, there’s a definition of what each pin is in that header row. You can access each pin with just a wire. You use the framework’s protocols to use the shields, providing the specific pins being used.
On the Gadgeteer boards, there’s a definition of what each socket type does, and what each pin is used for in the connector. You can access each pin with a breakout board and a wire. You use the framework’s protocols to use the shields, providing the specific pins being used, utilizing the Socket (not networking) object.
Both methods breakout the mCu pins. Both methods standardize the format.
Gadgeteer is cool as it breaks those 2 Arduino header rows into smaller groupings. Arduino has many shields available to it already.
As far as what mainboard would work for you, it all depends on what you intend to do with it and what your budget is.
If I get a G400 and I get the breakout board for it, does that mean that I can program all the IO ports regardless of their socket designations in out project, and I can use the Gadgeteer sockets in their way for other projects. I mean to ask, can I have it both ways, complete control of the IO ports or allowing the system to control or regulate what can be done with the various lettered sockets?
The G400 looks like a monster of a board with a lot of potential. Is there a mini-usb port on the G400 or the breakout board, or would I need to lash the USB port up before actually doing any programming?
Generally you can use all (or nearly all) Pins as digital input or output.
Some of them can alternatively be used as SPI, PWM, UART, …
By this most of the pins have 3 functions: Digital in, digital out + special.
What geadgeteer doe,s is combining 7 of these pins to get a standard Gadgeteer socket.
But you can use all of these pins also directly by creating a InputPort, OutputPort, SPI, … class with the right pins.
It does not really matter if you use a Gadgeteer project or not.
As long as the pin is not already initialized by something else (like by connecting a Gadgeteer module in designer to it, or by initializing a LCD display, you can initialize it as you wish, and connect your custom hardware to it.
I started with NETMF and the netduino and found it to be a good product. I then shifted to the Raptor (G400) as I wanted a more powerful processor and to be able to add stuff like RS232, RS485, and a variety of displays and sensors quickly, and this is quite painless with Gadgeteer. Of course, they do not have everything, but check out the Community Creations https://www.ghielectronics.com/community/creations as there are more and are being added to.
Finally, as was mentioned in previous posts there are several ways to quickly hook up your own stuff. I like the Breakout TB10 as it just needs a screwdriver to attach a wire. There is also a very inexpensive header (G Plug Module) that plugs into any socket, and I have soldered wires, or pins and sockets to it for a more compact way to add devices. See: https://www.ghielectronics.com/catalog/product/430
Neither site has instant support from the forum, but I have found GHI to be better, and that may be because they seem to have a larger user base, and are perhaps a bigger enterprise. In the case of GHI was recently a little unhappy that an issue I had did not seem to be addressed, but after a reminder or two, they responded by sending a bug fix set of code to try that they had been working on, and it worked. And they apologized for not keeping me informed. I sure can’t complain about that!