Shop OBEX P1 Docs P2 Docs Learn Events
Propeller vs NETduino — Parallax Forums

Propeller vs NETduino

I happened to know NETduino which uses .NETFramework. So, NETduino can use multi threading programming while its processor is AVR made?

http://www.netduino.com/hardware/


Can someone please comapre Netduino and propeller because I wonder if still propeller has advantage over it.

Thanks!

Comments

  • There's a big difference between multi-threaded programming (NETduino) and multi-processing (Propeller). The AVR processor used is a single processor. It can do only one thing at a time. With careful programming it can be made to look like it's doing several things at the same time. [When one thread has to wait for something it can transfer control to some other thread.] The Propeller has 8 independent processors each of which can be executing code at the same time. Often some of the processors are used to create software I/O devices like UARTs or PWM or video generators so not all 8 may be available for "user threads". The Propeller can do ADC and DAC with a couple of passive external parts (resistors and capacitors)
  • Duane DegnDuane Degn Posts: 10,588
    edited 2015-08-29 22:34
    I don't think the microcontroller (STMicro STM32F4) on the Netduinos is made by AVR.


  • Buck RogersBuck Rogers Posts: 2,185
    edited 2015-08-30 03:24
    Correct. The first series of Netduinos were using Atmel designed ARM processors, not the AVR ones which were also Atmel processors.

    Currently I'm using the first generation ones here. I haven't bought any of the later ones. Those need the later release of Dot Net Microframework and Visual Studio 2015 to make it work.

    But basically the both of you are right on all six thrusters.
  • A 168MHz cortex M4 is a pretty serious MCU. If I'm not mistaken, it has hardware support for floating point math, CRC generation, external memory, USB support, DSP, Ethernet, etc, etc. it's a higher horsepower chip than a Prop, but it is still a single hardware thread.
  • JasonDorie wrote: »
    A 168MHz cortex M4 is a pretty serious MCU. If I'm not mistaken, it has hardware support for floating point math, CRC generation, external memory, USB support, DSP, Ethernet, etc, etc. it's a higher horsepower chip than a Prop, but it is still a single hardware thread.

    Last I heard yes you're right.
  • LeonLeon Posts: 7,620
    ST has this very cheap (about £10) evaluation kit for the STM32F4:

    http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/PF252419?sc=internet/evalboard/product/252419.jsp

    Add-on boards with Ethernet etc. and graphics are available.
  • LoopyBytelooseLoopyByteloose Posts: 12,537
    edited 2015-08-30 10:00
    One might say that the NETduino is a microcomputer, while the Propeller 1 is a microcontroller.

    It is on a whole different scale, not an easy device for a new learner to master. I really wonder what the goal of owning one might be. I use a conventional computer with greater speed if I desire those kind of services with the added advantages of larger storage and a good keyboard and monitor.

    In someways, being cheap can be a distraction. You just keep buying another platform with another huge learning curve and start all over.

    Why not try to discover if you really need what it has to offer rather than just buy more and more on specs? Each and every Arduino board demands its own support and I am not sure that every board is well supported.
  • Heater.Heater. Posts: 21,230
    @hylee101001,

    As far as I know the netduino can only be programmed from a Windows computer. As such it is totally non-functional for non-Windows users.

    I guess it's designed to attract users of C#. That's rather limiting. If I want to program an STM32F4, like my ten dollar dev kit, I will do it in C++. Or use the Espruino JavaScript engine if speed is not an issue.

    A netduino board is four to six times the price of a STM32F4 Discovery dev board which is basically the same as far as I can see. (The Discovery board may be better, it has a 3 axis gyro on it). I could not justify paying four times the price for the privilege of having use Windows.

    For that kind of money a Raspberry Pi is a better deal. You can run C# on that if you like.

    Comparing a netduino's STM32F4 to a Propeller is like comparing chalk and cheese. They are very different and suite very different applications.

    As always you have to know what you want to do and select the device that suites.


  • LoopyBytelooseLoopyByteloose Posts: 12,537
    edited 2015-08-31 08:42
    Supposedly Leonardo DaVinci said, "Small spaces discipline the mind."

    I tend to feel strongly that having too much on too big a plate in front of you, the whole learning process gets bogged down and falls apart. Tracking down errors and bugs may easily become overwhelming.

    NETduino simply is a .net focus -- which is MS software. If you desire .net, it might be of use.

    The cliches come ringing through...
    "More is less, and less is more." Mies Van der Roh
    "Small is beautiful."

    With the Propeller, people have developed a wide variety entire programing languages, and been richly creative. There are a few projects, such as 3D CNC machining that have found it too small. But the solution are likely to be changing to 64 i/o and 512KB of Hubram, but a jump to a complete SoC device. But I don't thing the world must use .net.

    Is it "What is it you want to learn?" versus "What is it you want to own?" Alternatively, one could collect vintage cars and never drive any of them.

    Supporting each and every board from a teacher's standpoint is also a huge distraction to getting much done.
  • jmgjmg Posts: 15,173
    Leon wrote: »
    ST have some nice Eval Boards, and one that appeals for Graphics
    is the STM32F746G-DISCO, which includes a large 4.3″ touch screen for $48

    Specs
    * 216MHz ARM Cortex-M7 STM32F746 in 216 BGA
    * 480×272 touch screen (capacitive) LCD connected to LTDC port of MCU

  • LeonLeon Posts: 7,620
    edited 2015-08-31 08:02
    I've got one of those new M7 boards, it is very nice. They are available from Farnell and RS.
  • LoopyBytelooseLoopyByteloose Posts: 12,537
    edited 2015-08-31 08:38
    Ummm. In all honesty, I was a bit confused as to what exactly a NETduino is. I was thinking it was a complete SoC with video, keyboard, and mouse support. It really is a variation of the Arduino form factor with MS focus.

    I will revise my previous posts comments as they are misleading and distracting.

    http://www.netduino.com/

    Yep.. nice boards with lots of resources. I still prefer Propellers and am working with the P1V now for more resources via the BeMicroCV and CVA9 FPGAs.. lots to learn.

    NETduino seems to be a Microsoft .net learning environment.... this is something I completely avoid.

    The problem is this...
    A. Arduino seems to have 26 products now. I only need to focus on one device to learn. I will never buy all of them even if I buy a few.

    https://www.arduino.cc/en/Main/Products

    B. NETduino seems to be an outside series of 3 products - none a complete workstation. And use of .net with Microsoft OS seems a must.

    C. More platforms don't always enhance the learning process. One does have to learn the basics before being able to easily migrate from one piece of hardware to another. Start with what offers the best learning experience and stay with it until you have an obvious need for some other platform.

    ++++++++++
    Looking at the projects at the NETduino site, I don't seen anything that can't be done easily with a Propeller 1. So why do I need more resources, and .net to do these things?
  • So far as I can see, all of you are right.

    I do run Linux here, both Intel and ARM. And Windows on this laptop and sometimes on the same computer who also runs Linux. That's the one for working on the newer Netduino boards and incidentally for some other ideas.....

    However there are some astonishing efforts going on to get the boards to work using Mono. I never got past being able to make the Mono code build properly, so I stopped.
  • Heater.Heater. Posts: 21,230
    Loopy,

    "Small spaces discipline the mind."

    I like it.

    It's open to interpretation of course. What do we mean by "small" and "spaces" and "small spaces"

    I might interpret it as "Working within constraints disciplines the mind"

    The constraint here seems to be: There is an ocean of programmers out there who know and love C#, how can we make a micro-controller system for them and allow them to play with the real world interfacing, robots, IoT, whatever ?

    We see a similar situation with Javascript on the STM32F4 (Espruino) or Python on the STM32F4 (MicroPython)

    All ways to get people stuck in small conceptual spaces attracted to micro-controllers.

    Even though, to us old hands, 100s of K of code and interpreters etc is a crazy huge thing for simple jobs on a micro. Not small at all.





  • LoopyBytelooseLoopyByteloose Posts: 12,537
    edited 2015-09-11 06:43
    Okay, I will attempt to clarify without the Da Vinci quotation.

    Small well chosen projects on smaller platforms offer less distractions to getting started in programs than attempting start out with something much larger with vast resource and having multi-layers of abstraction.

    IOW, the stand-alone microcontroller with a simple cross-compiler is adequate enought to teach the fundamentals of programming in a clear manner.

    When one starts out with a complete Windows or Linux OS and tries to achieve the same progress, the over-burden of teaching the OS at the same time can simply make the presentation bog down.

    There is a tendency for the new learner to buy too much and learn less, being overwhelmed by a large array of topics and thousands of pages of documentation (most of which is merely technical reference for experienced professionals).

    It is NOT the hardware that matters, it is the syllabus and curriculum. Smallness keep beginners on track to acquiring clarity about the fundamentals.

    So when I see hardware that promotes another layer atop an OS, such as the NETduino; I just want to ignore it. Linux, Windows, and OSx are more than enough.
  • It looks like Netduino is targeted at educators and hobbyists, the same sort of audience the BasicStamp targets. Certainly not commercial developers or those who need performance. If you do, C# isn't the language of choice.

  • rod1963 wrote: »
    It looks like Netduino is targeted at educators and hobbyists, the same sort of audience the BasicStamp targets. Certainly not commercial developers or those who need performance. If you do, C# isn't the language of choice.

    Partially true. There are more Netduinos going into commercial projects then there are the Ard**** ones. There are also more of that Pi guy going in as well.

    And the Netduino also supports Basic, Visual Basic in fact.
  • Heater.Heater. Posts: 21,230
    The name of the game here is enabling people who are proficient in "PC" style programming and languages to be able to do something in the tiny world of embedded systems and interact with the real world.

    We can see this in such cases as:

    Espruino - Javascript for the STM32F4, an appeal to WEb developers.

    MicroPython - Python for the STM32F4, an appeal to, well, I don't know, whatever people use Python.

    Netduino - C# and other .NET language an appeal to Windows developers.

    Previously we have seen pushed for Java on small embedded systems. Are they still around?

    Old hands at embedded systems, use to their traditional C++, C and assembler and messing around with interrupts are horrified: "What? Those languages are interpreted and huge and slow and don't suite embedded at at all"

    Which of course is totally missing the point. These modern MCU's are small, fast, huge (32 bit and loads of memory) and cheap. If such systems with bloated inefficient languages allow millions of people to get things done easily then they will be a hit.

    I have begun to realize that this is what IoT, the Internet of Things, actually means.
  • Heater. wrote: »
    The name of the game here is enabling people who are proficient in "PC" style programming and languages to be able to do something in the tiny world of embedded systems and interact with the real world.

    We can see this in such cases as:

    Espruino - Javascript for the STM32F4, an appeal to WEb developers.

    MicroPython - Python for the STM32F4, an appeal to, well, I don't know, whatever people use Python.

    Netduino - C# and other .NET language an appeal to Windows developers.

    Previously we have seen pushed for Java on small embedded systems. Are they still around?

    Old hands at embedded systems, use to their traditional C++, C and assembler and messing around with interrupts are horrified: "What? Those languages are interpreted and huge and slow and don't suite embedded at at all"

    Which of course is totally missing the point. These modern MCU's are small, fast, huge (32 bit and loads of memory) and cheap. If such systems with bloated inefficient languages allow millions of people to get things done easily then they will be a hit.

    I have begun to realize that this is what IoT, the Internet of Things, actually means.

    I can't really add to that, but I will anyway. Heater, you're right.
  • Heater.Heater. Posts: 21,230
    If I'm right we can try to extrapolate from that a bit and arrive at the conclusion that soon the old guard of assembler and C/C++ embedded systems programmers, messing around with interrupts and counting cycles and bytes on their dev boards, will soon be gone the way of the dodo. Replaced by a billion programmers who work at a higher level of abstraction using easier to use languages and systems.

    Of course hard core C/C++ nerds will still be needed to create those systems, but they will be the few who provide the Python, JS, C# whatever run times for everyone else.

    Much like the world still needs hardcore nerds who understand machine instructions and assembler programming, but they are generally the guys writing the compilers.

  • And you are still right.
Sign In or Register to comment.