I'm getting started with .NETMF and was wondering, what is the cheapest .NETMF board could be developed for, assuming it only has an ethernet jack and lwIP stack for TCP & UDP support? The code running on the board would be pretty small, just serving a small static website over tcp.

Is it possible to make it under $5? $10?

  • \$\begingroup\$ Netduino+ is about $60 retail single unit. Get the list of chips on the schematic that you need and look it up. \$\endgroup\$ – kenny Feb 9 '12 at 22:57
  • 1
    \$\begingroup\$ I don't know what a ".NETMF" is, or a "lwIP stack". However, for low cost and small internet connectivity I like the PIC 18F67J60. Given a 3.3V power supply, all you need is a crystal, a few caps, the ethernet transformer, and the RJ45 jack. \$\endgroup\$ – Olin Lathrop Feb 9 '12 at 23:55
  • 1
    \$\begingroup\$ @darron I'm not fixated on .NETMF. I just don't want to jump into arduino/embedded scene without getting an idea of what's it like. As I mentioned in my earlier reply, I really like the fact that I'd be able to set breakpoints and debug code on the controller plus many other features the platform offers. Once I get the hang of it, then I'll look at arduino. \$\endgroup\$ – tunafish24 Feb 10 '12 at 1:31
  • 1
    \$\begingroup\$ @kenny: Yes, you need the crystal. The clock accuracy ethernet requires exceeds what internal R-C oscillators can do on microcontrollers I am aware of. \$\endgroup\$ – Olin Lathrop Feb 10 '12 at 16:04
  • 1
    \$\begingroup\$ @darron: The MSP430 is a nice microcontroller line too, but let's not jump there for the wrong reasons. The Microchip MPLAB IDE is free, works well, and comes with assembler, librarian, and linker. No, you don't have to buy a compiler. First, you don't need to use a high level language at all. My network stack for the 18F is written in assembler, for example. Second, I think all the compilers have free versions that only have some of the optimizations turned off. That's plenty fine for hobbyists. \$\endgroup\$ – Olin Lathrop Feb 10 '12 at 16:08

What's important to understand is that the .NET MicroFramework is a memory-managed run-time environment. To simplify the explanation, it is basically a program that implements a virtual machine. The benefit of this is that the code that you write at the application level runs on this virtual machine and gets to use all kinds of dynamic objects that can grow and shrink in size and disappear when you don't use them anymore - and all this happens nicely behind the scenes.

.NET MF stack

This diagram represents all the components required to make this happen. The C# code that you write is at the application level and is "Managed" which runs in the "virtual machine". Everything below that is "Native" - which runs on the actual hardware. At some point someone had to port the framework onto a particular piece of hardware for you - this is done at the HAL (Hardware abstraction layer) which they had to write.

So as you can see, all these components can add up to a very large code size (Flash), a lot of RAM at run-time, and a lot more CPU cycles than it would take to run a natively compiled C program.

This is why .NET MF devices require a lot of resources and why an ARM7 is actually not overkill if you want decent performance and enough room for your C# application.

Here is a netduino forum post talking a bit more about this.

To answer your question of what might be the cheapest way to get a .NET MF board with ethernet, it would probably be to copy the netduino+ design, except with only the components you need and to use their .NET MF port - which they've put a lot of effort in to but have made accessible from what I understand.

  • \$\begingroup\$ Thanks! Excellent answer, just what I wanted to know. Since .NETMF is open-source now, I guess custimizing it/trimming down is the best way to reduce size/cost on this platform. \$\endgroup\$ – tunafish24 Feb 10 '12 at 18:20
  • 1
    \$\begingroup\$ @tunafish24, yes, in fact, this is exactly what the makers of the netduino have done. They left certain things out of their port in order to conserve resources. IMO .NET MF isn't exactly cost effective, just nice for rapid prototyping. \$\endgroup\$ – Jon L Feb 10 '12 at 19:21

Setting aside the .NETMF for a second, you are essentially asking for a single board computer with Ethernet. Cost is directly related to the number of units you plan to produce. Cellphones are so cheap because they are made in the millions. If you only make one or two of something it can be orders of magnitude more expensive.

As was pointed out in the comments, the Netduino plus at $60 retail quantity one is certainly an upper bound on cost.

The Rasberry PI at $35 retail (model with Ethernet), while not supporting .NETMF, does have an ARM processor with sufficient memory so in theory at least one could port the .NETMF to this device.

As to 5-10 dollars, that is extremely ambitious, you would need extremely high volumes. Of course remember Moore's law (costs drop in half roughly every 18 months) so if you wait long enough you may see a $10 board running the .NETMF.

  • 1
    \$\begingroup\$ By the time the $60 Netduino+ has dropped to $10 (about three years, with the added bonus of inflation + interest on the $10), the .NETMF will be a 6 GB image that requires a 4.8 GHz 64-core processor! \$\endgroup\$ – Kevin Vermeer Feb 10 '12 at 17:35
  • \$\begingroup\$ @KevinVermeer, Its about 2 years later. And your prediction was incorrect :) Unfortunately, even on the price, because its stuck at the same price. \$\endgroup\$ – Piotr Kula Apr 29 '14 at 15:57
  • \$\begingroup\$ @ppumkin While we are a long way from $10, there is the TI TM4C1294 Connected Launchpad (EK-TM4C1294XL) with Ethernet at $19 delivered. One would need to port the .NET MF to this ARM board, which should be possible in theory. \$\endgroup\$ – JonnyBoats Apr 29 '14 at 18:48
  • \$\begingroup\$ Ahh, wow. Very nice specs compared to the latest Netduino Plus 2! How would one go porting to this. The firmware needs to be ported, correct? I have worked with CC2533 firmware, not very pleasant if you don't know 8086 :( \$\endgroup\$ – Piotr Kula Apr 29 '14 at 19:10
  • \$\begingroup\$ mountaineer.org/netmf-for-stm32 - Somebody already did it, for a measly 25k a year support contract :) But its possible :) \$\endgroup\$ – Piotr Kula Apr 29 '14 at 19:15

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.