Netduino

Replacement:DEV-11663. The Netduino has been replaced with the updated Netduino 2, which is faster and has more code space.

The Netduino is an open source electronics platform using the .NET Micro Framework. It features a 32-bit microcontroller and a rich development environment. The Netduino combines 20 GPIOs with SPI, I2C, 2 UARTs, 4 PWMs, and 6 ADC channels.

Check out the getting started guide for more information on how to get started with the Netduino.

  • Atmel 32-bit microcontroller
  • 48Mhz, ARM7
  • 14 Digital I/O Pins
  • 6 Analog Inputs
  • Arduino Shield Compatible

Comments

Looking for answers to technical questions?

We welcome your comments and suggestions below. However, if you are looking for solutions to technical questions please see our Technical Assistance page.

  • i182will / about 14 years ago / 4

    I got one of these and it is awesome. Programming in Visual Studio is so much easier then Arduino's program. Get one and try it, you'll love it.

  • Prelawson241 / about 12 years ago / 2

    You can program microcontrollers in C#?! Why was I not told about this before I bought an Arduino?! Totally taking lunch into work next week and using the extra money to grab one of these! My mind is already blowing up. An extra server, some threaded rods, a printer, Physical and virtual SharePoint document libraries, yes....

  • ChrisWalker / about 14 years ago / 2

    Mitch, WilliamK:
    A few features which are available exclusively with Netduino:
    100% Open source: Netduino hardware is creative commons (CC-BY) licensed. Netduino's software (firmware, SDK, everything) is Apache 2.0 open source. It ships with open source firmware, not proprietary firmware.
    I2C: Netduino has I2C pins in the same location as the Arduino. 5V and 3.3V compatible and no integrated pull-up resistors--just like Arduino. Many Arduino shields use I2C, so this was an important design goal for us.
    ICSP: Netduino has a 6-pin mounting area for an ICSP header. The Arduino Ethernet shields, Arduino XBee shield, and other shields require this header.
    RESET: The RESET pin header is bi-directional and can by disabled in software. This means, for instance, that you don't need to bend the RESET pin on Ethernet shields for reliable operation.
    SW1: The pushbutton acts as a reset button by default, but can also be used as a GPIO input.
    Chris
    Secret Labs LLC

    • ChrisWalker / about 14 years ago / 2

      [continued]
      AREF: Netduino offers both an internal AREF and an external AREF--just like Arduino.
      POWER: Netduino offers 8mA per digital pin (16mA on 3 of them). Other boards may be limited to ~4mA per pin.
      Netduino is a premium quality board. It's 4-layer, ENIG (gold immersion), etc. Each board goes through 4 sets of tests (PCB electrical, power-up, component testing, visual inspection). The MicroUSB connector is a reinforced through-hole component. We like to overengineer things so that they "just work."
      A few other notes:
      * You can easily expand the Netduino using a GPIO expansion shield--for 120+ more pins.
      * The SAM7X processor on the Netduino has 32KB more RAM than the NXP chips. We've been very conservative in our "available RAM" estimates. If you like to build your own firmware you can remove optional features and free up more RAM as well.
      We'd love to welcome you into the Netduino community. We love open source and we're all about celebrating your accomplishments. I can't wait to see what you build.
      Chris
      Secret Labs LLC

  • Mitch5 / about 14 years ago / 2

    This looks really awesome.. I'd love to see a comparison between this and the Fez Panda. They sound to me like they're essentially the same thing.. Can someone give me a rundown of which has what strengths/weaknesses?

  • drwho9437 / about 14 years ago / 2

    I would say the plus version of this is going to be rather comprehensive for 80% of hobby applications, the price currently looks like 60 dollars for Ethernet (lwIP), SD card (Fat FS from MS), with C# ease of programming. It is going to be rather robust for most uses I would think.
    The one item I don't like about this concept is that although it is open source, the transition for hobbyist to a bare metal design will be much harder. From a business prospective that is good, you won't just stop using these boards and put an AVR in a breadboard... From a development of skills prospective it isn't as good. This approach represents the throw more horse power at the problem that has come to define most designs today.

    • bigjeff5 / about 13 years ago / 1

      That's certainly true, but on the other hand there are many more advanced projects that these devices are much better suited for than an AVR.
      For example, RepRap and DIY CNC mills - you have to make a lot of compromises to get them to work with an AVR, and are very difficult. Using a high-level language like C# and the greater processing power of the ARM makes this project even more accessible to the hobbyist. You get to do bigger projects faster, at the expense of being further away from the bare metal.
      And what's wrong with throwing more power at it when I can get a chip that's three times as powerful for three times the price?
      And just FYI, the reason these are almost the same price as the arduino is because the arduino requires a $15 FTDI chip for USB to RS232, whereas these have USB capabilities built in to the chip (and ethernet too, btw, just not exposed on this board). $5 ATMEGA + $15 FTDI = $20 AT91SAM7X512, minus a lot of features. All the savings in the DIY board is in the FTDI chip.

    • drwho9437 / about 14 years ago / 1

      Let me also add that the margin on this design is way lower than Arduino... The uC is about 20 dollars in units of 1. This basically makes hobbyist knock offs harder to undercut them. (10 bucks for 1000).
      I should also like to remark that the use of ARM7TDMI is interesting, I feel like M3 has superseded it completely...

  • I bought one a few weeks back. Loving it. Being able to program in C# is great (especially since that's my background... I'm a software guy).
    I'm looking to pick up a second one soon... and many of the Arduino shield are compatible. You just may need to port some drivers. The folks at the Netduino forums are a great help... with porting, Netduino questions... etc.
    http://forums.netduino.com/

  • Greggie / about 14 years ago / 2

    Also - it's really "14 dedicated digital IO and 6 analog/optional digital pins". You can have up to 20 digital pins since the analogs function as both. They just don't put out much power (2mA I believe).

  • Racine / about 14 years ago / 2

    Damn, great news ... I'm waiting about it since 6 months ^^ !! Sparkfun please ? You confirm that it's compatible with all of the arduino shield ? Specially Wifly shield ? Screw shield ? Proto shield ? I've bought them here, and I don't want a bad surprise if I buy it.
    Thx in advance for you reply Sparkfun

    • Greggie / about 14 years ago / 1

      Check out the netduino forums (http://forums.netduino.com) - there's a thread about confirmed compatible shields. I can absolutely confirm that the proto shield and screw shields work (I use them). I think someone was using/trying a wifly shield but you'd have to check the forums there. The netduino is pin compatible with the Arduino so the vast majority of shields will work. About the only problem I have is with the GPS and Cellular shields when they are switch to UART vs DLINE. Which is weird since UART should just move to pins D0/D1 (which is a UART on the netduino as well). They work fine in DLINE though.

  • Chris S / about 14 years ago / 2

    Fancy seeing this here! I love my Netduino, it's a great little board!

  • Greggie / about 14 years ago / 2

    Love love love this thing - and the secret labs guys are fantastic.

  • Member #376534 / about 12 years ago / 1

    Does anyone know if I can power my netduino via an FTDI cable? Namely, the TTL-232R-3V3. I'd prefer not to use a separate power supply or micro USB.

    Thanks

  • Roteg / about 13 years ago / 1

    I am looking for a development board which can do the following:
    I want to build an ignition curve tester. Inputs are 2 digital signals (1 from rpm sensor and 1 from ignition spark). Max. rpm is 20.000 rpm. I need to be able to time the difference between the 2 signals and calculate and output the pre-ignition angle from this. It would be nice to output the rpm and pre-ignition angle to a software program that shows the information. I prefer to connect by USB.
    Since I do not have a lot of programming experience I would need a user friendly development system.
    What do you guys recommend?
    Thanks for any help.

  • LittleBlinkyThing / about 13 years ago / 1

    Hooray for .NET!!!

  • whosthat / about 13 years ago / 1

    Too bad SparkFun is out of these. :'( They've got them here though:http://www.amazon.com/gp/product/B003XT25TY I've been working with Arduino's and I'm excited to start programming one of these things in C# instead of C.

  • acetate / about 13 years ago / 1

    This little board is awesome. This is my first experience with a micro controller and they can't make it much easier than this. Secret Labs has done a great job with the product, communication, and forums. The best part is that Secret Labs listens to the customers for feedback and you can watch as they incorporate the feedback into their frequent firmware releases.
    .NET Micro Framework (NETMF) is a breeze to use, even if you are new to development. Just step through the Secret Labs tutorials, get yourself some fun sensors and start a project. Folks that hate MSFT will complain, there is no stopping that. Just try the free Visual Studio and judge for yourself. Intellisense, breakpoints, threading, FUN!
    Also if you ever see a Netduino Plus in stock, just buy it. They sell out faster than anything. Check the Netduino forums for handy little web server library for the Netduino Plus.

  • Bonzo / about 13 years ago / 1

    Any idea when this will get back in stock?
    If it's not too long, I'll wait...

  • ThiSel / about 13 years ago / 1

    Is Netduino Plus coming in soon?

    • ChrisWalker / about 13 years ago / 1

      ThiSel: Netduino Plus just arrived at SparkFun.
      http://www.sparkfun.com/products/10186

  • Member #158684 / about 13 years ago / 1

    When we can expect to have it back in stock?

  • Mitch5 / about 14 years ago / 1

    Thanks Chris, I really appreciate you taking the time. It looks like Netduino is blowing Arduino out of the water as far as raw power goes. The clock speed is pretty significantly less than the Panda (24MHz difference is nothing to scoff at considering that's 1.5 Arduinos!), but it looks like they're really comparable. Another great system that I'm going to have to buy and play with a bit!

  • WilliamK / about 14 years ago / 1

    Mitch: This looks really awesome.. I'd love to see a comparison between this and the Fez Panda. They sound to me like they're essentially the same thing.. Can someone give me a rundown of which has what strengths/weaknesses?
    I was wondering the same thing. From the looks of it, Panda is a bit faster, just a bit more flash and ram and has more I/Os, right?

    • williams / about 13 years ago / 1

      I have not tried this board yet. It looks good. I have the domino and panda. I normally want/need every bit of the extra ram and flash.

  • Daniel.cltn / about 14 years ago / 1

    How come there are only 4 PWM outputs? The arduino has 6!

    • ChrisWalker / about 14 years ago / 1

      Daniel.cltn: How come there are only 4 PWM outputs? The arduino has 6!
      The Atmel ARM chip only has 4 PWM, but they are all 16-bit hardware PWMs.
      The good news is that Netduino has a 48MHz+ processor (4x the bits and 2-3x the speed as an AVR) so we should be able to support software PWM on 1-2 more pins.
      A Netduino community member (sweetlilmre) has already built a native code "bitbanger" driver--which could be joined with an interrupt and partly reused for software PWM. More to come.
      Chris
      Secret Labs LLC

  • joshl / about 14 years ago / 1

    To come to the Arduino's defense a little bit...
    A huge plus with the Arduino, for me, is being able to remove the chip from the board and deploy the little bugger as a standalone unit. $5 later I have a new chip in and the Arduino is ready for my next project.
    With this unit, whether you use 2 I/O's or 60, the whole thing goes and is gone with the project.
    I suppose each has their place.

    • Tox / about 14 years ago / 1

      You have a point there joshi. However, the kits we do use are, by heart, meant for prototyping. In the case of the Netduino, it is not comparable (or a competition) with the Arduino in my opinion. It is totally a new world. Arduinos are meant for the people who are not into programming (ie, designers or hobbyists) however the Netduino caters to a specific bunch of people (and there are a lot) who already have a strong foundation in programming .Net. Also, I think the standard 'workflow' if I would put it into context on how to use these development boards will be: 1) think of an idea; 2) conceptualize the design; 3) prototype the design using the dev boards; 4) test the design; 5) contact a manufacturer; 6) let the manufacturer check the program and decide on what we would need (ie, RAM size, components needed); 7) design the actual product with less components (does not mean that the MCU is the same, can be cheaper); 8) produce the circuit board; 9) test the circuit board; 10) tada! the final product!

      • Tox / about 14 years ago / 1

        To continue...
        Some people I know say that using .Net is like eating Pringles - once you pop, you can't stop. :) Meaning once you've coded in .Net, the world now means .Net because the IDE is beautiful.
        But still Arduino code is a lot easier to grasp for beginning microcontroller programming.

  • smartroad / about 14 years ago / 1

    One other thing I just thought about. Does the Netduino run like the Arduino (ie program compiled on PC then uploaded to board) or is it like the FEZ and interprets the code on board?

    • bigjeff5 / about 13 years ago / 1

      It's compiled into bytecode, and the bytecode is interpreted on-board. It's sort of half-way between a native compiled and interpreted language.
      The FEZ is exactly the same. .NET is more like Java than Python or Perl (or any other scripting language), if that helps. The C of the arduino gives it inherently better response times even though it's overall processing power is several times less than the netduino or Fez.
      I.e. arduino will flip the LED on quicker, but the netduino will handle your complex calculations quicker and be able able to send a twitter update while it does so.

      • godefroi / about 13 years ago / 1

        Note: only the .NET MICRO framework is like that. The Compact framework and the full-on framework always JIT compile to native code.
        Because .NETMF is Apache-licensed, someone ought to implement a JIT for it...

  • Tox / about 14 years ago / 1

    I ordered this and from the Netduino website it says there that the packaging is a "pouch" and on another website it is on a blue box. May I know which one will you ship?
    Also, from the site there is a Netduino Plus on beta (http://www.netduino.com/netduinoplus/specs.htm). It has a built in micro SD Card reader as one of the added features. Would you also be offering this on your shop?

  • FLAKElabs / about 14 years ago / 1

    What I would like to see is maybe a like an ISA card profile on the back of the board.. where as many IO pins are simply brought out.. I can tag a wire onto the end.. or maybe just a crap load of holes on the back of the card so i can solder in a full header.

    • bigjeff5 / about 13 years ago / 1

      I like the way FEZ did it with the Panda, for the most part. They put the extra IO as solder holes just inside the headers and along the back.
      Putting them along the back was probably not the best idea, though, because they had to move the ICSP to do it and it is now not completely pin compatible with all arduino shields (i.e. the Ethernet Shield). I personally think it would be worth losing 3 of the 60 io pins to maintain compatibility, but that's just me.

  • TheTrustedOne / about 14 years ago / 1

    Mega version anyone?, extend the board, keep the standard form factor up front, and all the other free pins in the back :)

    • Greggie / about 14 years ago / 1

      A bunch of us have been pestering Secret Labs for something like this. We want "more" - faster processor, more IO pins, etc, etc, etc. They are announcing a new product (well, it's basically out of the bag now on their forums) called the "Netduino+" which is the same form factor but includes onboard ethernet and an onboard microSD reader. For $70. Pretty dang nice but some of us still want more power, more speed, more IO. Greedy little buggers that we are.

      • Greggie / about 14 years ago / 1

        Woops - my bad - the netduino+ is actually $60 ($59.99 retail actually). Sorry!

  • ChrisWalker / about 14 years ago / 1

    smartroad: <iIs there no way to add a second line of pins outside the Arduino-type layer to utilise all the available hardware and power of the device?
    Hi smartroad... Thanks for the great feedback.
    [We're using the extra onboard pins for something else...stay tuned for this weekend's announcement at MakerFaire NY]
    That said, there are a number of inexpensive shields which offer up 60-120+ more GPIOs via I2C. If you'd like, we can spend a few hours and make an open source driver for one of them...
    And if you'd like more GPIOs directly on the board, please let us know. We want to build really great open source electronics platforms--and your feedback is critical.
    Chris
    Secret Labs LLC

    • smartroad / about 14 years ago / 1

      Hay Chris,
      I read what i put again, didn't mean to sound like I was whining! Adding extra io via boards is great but I hate using extra hardware when the original has all that I need ;)
      Can't get to the MakerFaire but will be watching your site with anticipation now :D

  • smartroad / about 14 years ago / 1

    My only comment about this, why the Arduino form factor? I get that it makes it able to use loads of shields, but that processor has, what, 60 I/O lines? Is there no way to add a second line of pins outside the Arduino-type layer to utilise all the available hardware and power of the device?
    To me it is like getting a V8 car but only using 4 cylinders :lol:
    Please don't get me wrong, this is something I would love to use (and probably will!) given its power over a standard Ardi. Yet just frustrated (as I am with the Ardi's) at the lack of IOs for some of my projects! :)

    • bigjeff5 / about 13 years ago / 1

      Shields.
      It's compatible with 80% of the shields on the market right out of the box, and that's a big deal for any modular electronics platform.
      A better way of looking at it is "why would they make it incompatible with the hundreds of third party shields on the market when they don't have to?"

      • but like it is said above, why couldn't you add the extra I/O pins outside of the standard Arduino pins

  • coopersnout / about 14 years ago / 1

    Wow, bang-for-your-buck-wise, this practically kills the Arduino. I wonder if there is anything behind this that I should worry about besides its micro USB plug?

    • bigjeff5 / about 13 years ago / 1

      The #1 disadvantage for these .Net Micro Framework devices is response times. It's running interpreted byte-code (it's .Net after all), not native C code, so there is about an order of magnitude more latency (1-3ms vs 1-3us) in the response times.
      If you need to do any kind of precise timing right now the only real viable options are to add your native code to the firmware, which is beyond difficult (it requires extensive knowledge of the ARM architecture, NETMF internals and various tool chains and whatnot), or implement your timing in hardware, which requires more electronics knowledge but is the significantly easier solution of the two.
      On the other hand, these 32 bit processors are significantly more powerful (about 3 times so for the netduino and 4 times for the Fez), and with the exception of precise timings are significantly easier to program given the extensive .Net framework behind them.
      All the heavy duty processing work that the arduino just couldn't handle can be done in the netduino, and the Fez brand (72mhz ARM) should be able to do even more heavy lifting.
      What's more the netduino doesn't even expose all the features of the Atmel chip it uses. The plus board adds ethernet and an SD card reader for a little more than the cost of an ethernet shield. Expect more boards in the future with more features for not a lot more money. This initial board is geared at direct pin compatibility with the arduino, there is a lot more that it can do.
      These little guys are awesome. Don't expect it to completely replace the arduino in your kit though. Instead let them complement each other, as they should.

      • BB / about 13 years ago / 1

        That's three orders of magnitude difference in latency, which is very serious. Still, it can be just as bad on the Arduino if you're doing complicated operations (e.g. 32-bit ops, floating point, etc.) or are memory-bound in your computations.

        • jackofalltrades / about 13 years ago / 1

          .net IL (and java bytecodes too for that matter) were designed to be JIT compiled although they can also be interpreted. the .net 4.1 micro framework includes a jitter for arm and this part is arm based, so i don't see why code on this board would be running interpreted instead of as native machine code.
          are the 1-3ms vs. 1-3us numbers that you've actually measured on this platform? or are you just guessing based on the way you think things work?

          • Member #190691 / about 13 years ago / 1

            The timings will actually be around 20ms for an interrupt. This is because interrupts are checked when switching between threads, which with no alteration to priority, takes every 20ms. Therefore if you are unlucky, you may respond to an input over 20ms late. Should you be running loops checking a variable, and not using interrupts, with a lot of threads running you may be around 100ms late - Its not a real life system, however it has load time procegers and other ways of solving these problems. I work with GHI products on a daily basis and would strongly recommend them for everything short of quadcopters.

            • ChrisWalker / about 13 years ago * / 1

              Hi Member190691,
              The multitasking "thread quantum" is 20ms in .NET MF (although you can set this to a lower number in the source if you'd like). But that only applies if you have threads running in your app which are not asleep and the managed code thread switcher needs to give other threads some time.
              The interrupts are fired as events, but those events should be able to activate in microseconds (based on what your app is doing); they are also all timestamped (which is helpful in the case that many interrupts are queued).
              One more option...if you want interrupts that fire on the nanosecond scale using native code interop, you can use an IRQ or FIQ in hardware...and get the kind of performance needed for projects like quadcopters.
              Chris
              Secret Labs LLC

Customer Reviews

No reviews yet.