Commercial Project


I plan to switch to NetMF for a new solution. Main factor is to have very cheap hardware (comparable to native solutions), i.e. I plan to go the STM32 route as the G120 or G400 seems to be much more expensive?

I saw several NETMF versions out there for the STM32:

GHI Cerberus Firmware
Netduino Firmware
STM Firmware
Oberon Firmware

Some of them are OpenSource and others are not. Which version of NETMF is the best way to start with a custom hardware solution? (GCC support would be fine!)

Why are vendors not merging all Firmware versions together to have a single well tested open source firmware?

Comparing a single chip to a module with processor, memory, flash, crystals, design time in not correct.

Is a single chip enough for your needs? For example, you will not be using displays? What other features do you need? Database? Wi-Fi? Usb host? Signal generator?

We used GHI’s port in one project.

Also what are the volumes that you’ll need??, for one project we have low volumes so the cost of G120 “sort of” justifies software management costs and SMT assembly costs of the STM32F chips.

Maybe in our solution a G120 is a bit of an overkill but its easily hand solderable, and NETMF has Threads and C#, main reasons over an Arduino environment.

Just wished GHI could make a cheaper G120, without the extras, just cheap SoM that can be hand soldered. :wink:

@ Darko - what is cheap in your opinion? How much memory and what features do you need?

Memory enough to run NETMF with Threading, other features none except some analog and PWM usage, but then again my use case may change, so thinking about it, for commercial use G120 is definitely the cheapest SoM you can get based on value.

If all you need is threading and pwm, we may have something for your in the near future.

In my option, for what G120 offers, it is the lowest cost option on the market, not just netmf. The best $30 you would ever spend :slight_smile:

In my project I need to implement a RS485 (Modbus RTU) and I need the possibility to have a plug and play solution to communicate with a Windows computer ( configuration and to see live data/statisitcs for troubleshooting). I thought about USB Client (HID Device), because this is really plug and play. I cannot use a solution where driver installation is necessary… Planned volume is about 200-300 in the first year

At first sight the cerb40 would be ideal, but I had to study your homepage and forums a long time to find out what features are supported and what not.

What cheapest module can you suggest with the following features

  • USB Client (HID) (as fallback I can use something like this but then I have additional costs:

  • ability to store a few bytes into the internal flash (application settings and very simple statistics) Is this supported in cerb40?

  • GPIO: about 100Hz is enough…

  • Analog In (to get temperature e.g. PT1000)

  • RS 485 (I simply could add an external RS 485 transceiver to one of the UART ports → no problem for this one

I also understand, that I get premium features, when I choose a GHI module. But I also understand that source code is not available for the public. Is there a possibility to get the sources with an special agreement. Just in case e.g. when GHI does not exist anymore or if GHI has focus on other things and does not update the SDK anymore?

I agree with Gus, the G120 offers alot for $33! I’ve used the FEZ Cobra II commercially which is based on the G120. My experience with the GHI hardware is that it is top quality and worth paying price which in my option is very competitive.

Not likely, but in any case I don’t see why that would be an issue for you, nothing is set in stone, software becomes obsolete and you move on, but in this case your hardware may become obsolete sooner as there is a “renewed focus” on NETMF from Microsoft, whatever that means we shall see.

I believe GHI will support it.

I’d suggest, since you’re talking commercial quantities and outcomes, that you contact GHI directly as well.

I think you can see GHI’s commitment to commercial customers from the existing support for their previous products, namely EM, EMX, and USBizi - while the EM and USBizi ports have not moved, they are still available to commercial customers in their last released stable form; and EMX lives on today in the latest SDK.

GHI has been growing strong for over 10 years but we love our community and will surely share all the code should we go out of business, but don’t worry we will be around for a while :slight_smile:

Also, we understand how important our commitment is to commercial customers. Just give us a call is pay us a visit. You will be very satisfied I believe.

Thanks for the answers.

Still there is something unanswered at the moment. Do you think cerb40 is enough for this:

Also how does the cerb40 compare to the discovery board (except that there is a premium netmf in the cerb40 included). Are there much hardware differences?

cerb family devices:
GPIO - tick
AnalogIn - tick
RS485 - tick (with external transceiver)

USB Client (HID) - I don’t think this is implemented on Cerb family but I would question if you have enough memory anyway
Extended Weak Reference (EWR) on Cerb family - not sure if that is implemented or not - just use an external eeprom/flash chip would be my suggestion anyway.

Discovery board - it may be great for one offs as long as you don’t need support, as I don’t think you’ll get any. There’s a lot of difference in hardware, as they have the ST-Link debugger attached and many other additional peripheral items, but in general they’re similar since they both have an STM32F4 on-board. The F429 Discovery board also has a display.

Anyway, you might like to try a Cerb family device to test things out, but personally my choice would be look at the G120 sooner rather than get part way in your project only to run out of room for code

Yes, according all informations I got now, it seems G120 has more features, but still is a lot slower and more expensive…

Also it is really difficult to find out what features are availbale and what features are not (e.g. for the cerb family).

Am I right, that cerb comes with the premium libraries?

Also I saw that there are additional classes like SIgnal Generator and Signal Capture. Are this functions blocking other netmf code, i.e. can I use SIgnalGenerator while running another thread? Or are all other thread blocking for this time?

The G120 is still pretty darn quick. We don’t really know why it runs a bit slower than the Cerb.

Yes the cerb comes with the premium libraries. But due to memory constraints doesn’t have all the features. (

Signal generator is non-blocking or blocking for higher accuracy. (
Signal capture is blocking. ( However there are other methods of reading pins such as interrupt pins etc

Note Gus’s comment.

This might be ideal for your purposes and the advantage of NETMF is that its really easy to move your project to a new chip when it comes out.

My advise would be to get one of each and try them out with your application.

I think the main reason why G120 is slower than Cerb is that G120 uses external RAM, where Cerb uses internal RAM on CPU chip, which has more bandwidth.
But you can boost the G120 RAM performance by modifying a register. The RAM (or CPU interface, not sure) runs a bit out of spec then, but all my tests ran well so far. But since I never really needed this little boost, I never let it active on a product that left the house.


If all you need is threading and pwm, we may have something for your in the near future.[/quote]

Any more details about this? I would appreciate, if you will bring something in the very low cost sector…

@ Alex111 - what does low cost mean to you?

Well - At the moment when I have to design small solutions, I took a cheap AVR and designed a board around it.

I see very great benefit, if I could switch to NetMF for this kind of solutions, but at the moment even cerb40 is too expensive to compare against the AVR solutions.

The only solution I found so far, which could competete against the price of the AVR was the STM Discovery board which is capable of running netmf, so I’m still hoping…

But maybe STM is giving the boards away as a gift to make their STM32 more popular?

Maybe NETMF is not for you then? NETMF excels at complicated things, but from what you said, it doesn’t look like you are going to do something very complicated. You may do better with a Cortex-M0 ARM chip using FreeRTOS. Will be super cheap, and still with threads…