Netduino home hardware projects downloads community

Jump to content

The Netduino forums have been replaced by new forums at This site has been preserved for archival purposes only and the ability to make new accounts or posts has been turned off.

Chris Walker

Member Since 18 Jul 2010
Offline Last Active Private

#64141 Interrupts

Posted by Chris Walker on 18 September 2015 - 07:28 AM

Hi WriterGuy,

It's hard to see exactly what's going on here without the full code, but here are a few troubleshooting tips:

1. The data2 parameter passed into the interrupt function will hold the high/low state of the line when the interrupt is generated. When you're checking the InterruptMode...are you meaning to check the interrupt _state_?

2. Generally speaking, it's best to process interrupts and exit interrupt handlers as quickly as possible. Further interrupts can't be fired while you're in your handler, and if a lot of interrupts happen then the interrupt event queue will overflow and you'll lose interrupts.

Does that help get you on the right path?


#64125 Setting up Visual Studio 2015 on Windows 10 for Netduino 3

Posted by Chris Walker on 14 September 2015 - 11:08 PM

Hi rkdF250,

Microsoft's NETMF support for VS2015 is still in beta, but I'm running it here without issues.

Please try this:
1. Close all instances of Visual Studio.
2. Uninstall the Netduino SDK
3. Uninstall the NETMF SDK
4. Make sure that VS2015 is installed on your computer.
5. Install the NETMF 4.3 QFE2 SDK (from the downloads page)
6. Install the NETMF plug-in for VS2015 (alpha) from here:
7. Install the Netduino SDK

Alternatively, if you haven't installed the NETMF plug-in for VS2015 (alpha)...try that first. If that fails, then go ahead and follow the full "uninstall and reinstall" procedure outlined above.

Does that get you up and running?


#63818 A few questions about the Netduino 3 Wifi

Posted by Chris Walker on 07 August 2015 - 07:30 PM

Hi Nerdiator,

1. Is it possible to do P2P communication using Wifi? I'd like to send commands directly to it with my phone.

There is no Wi-Fi P2P setup in NETMF, although you could hack the Netduino firmware to accomplish this if you wanted to. You can also tether the Netduino to your phone via Wi-Fi...which might give you the ability to communicate directly.

2. How do I make it connect to my Wifi network at home (WPA and AES). I tried using MFDeploy but for some reason it cannot get a correct IP address. I think there must be something wrong with my settings. I chose WPA and PEAP (Im not sure about that one).

MFDeploy is a bit confusing; sorry about that. Enter your WPA key and set the settings to "WPA" and "None". Make sure that DHCP is selected. If that doesn't work, let's log into your router and see if it's trying to give your board an address.

3. Is there a site where I can find a bunch of samples? I looked a bit on the forum but I couldn't find any specifically for the 3 Wifi version.

The good news here is that Netduino 3 Wi-Fi uses the standard System.Net Sockets, HttpWebRequest, SslStream, etc. So pretty much any Netduino Plus or Netduino Plus 2 project should just run as-is...and you can borrow from a lot of other .NET code too.

Welcome to the Netduino community!


#63550 SPI Performance issues

Posted by Chris Walker on 16 July 2015 - 02:37 AM

Hi Sukasa,

What speed is the processor on your board? The SPI clock speed is a "/2, /4, /8, /16, /32" (i.e. /(2^x)) clock unless you're running at 80MHz or 160MHz you'll get a lower speed than 10mbps. [somewhere between 5mbps and 10mbps).

Each transaction should happen at the speed specified by that device's SPI Config.

Do you have a logic analyzer that you can use to see the wire traffic?


#63445 Introducing Llilum, the native-compiled (NETMF) proof of concept

Posted by Chris Walker on 09 July 2015 - 04:30 PM

I'll keep my fingers crossed, but I won't hold my breath...

Yes, holding your breath :) Llilum is really really cool but, again, it's a proof of concept right now. It will keep getting better and better, and there are a lot of things to get excited about, but we should get excited about them as they become available.


#63428 Introducing Llilum, the native-compiled (NETMF) proof of concept

Posted by Chris Walker on 08 July 2015 - 10:56 PM

And just to set good expectations...please note the words "proof of concept".

The combination of NETMF (C# to IL) + Zelig (IL to ARMv4/v5) + LLVM (ARMv4/v5 to ARMv7) + Netduino.IP with Cortex-M is really, really mouthwatering.

But for now...still just a proof of concept. Let's all give the NETMF team lots of love and encouragement on this direction. And once this gets a bit further along perhaps we can all push our Netduino gear to do all sorts of cool new tricks. :)


P.S. There are tradeoffs between IL interpreters, JIT, and AOT. If and when this proof of concept becomes a production release, both the NETMF Interpreter and Llilum will have applications where they excel over the other. The key here is that the two options combined effectively make .NET the perfect solution for the majority of IoT projects. Super cool.

#63427 Introducing Llilum, the native-compiled (NETMF) proof of concept

Posted by Chris Walker on 08 July 2015 - 10:42 PM

Netduino 3 and Netduino.IP were designed from the ground-up to work great with the upcoming NETMF 4.4 (MSIL interpreter)--but they were also designed to excel with a native-compiled NETMF.

The NETMF interpreter is really great for a lot of applications, but there are some applications where a native-compiled runtime for Cortex-M devices would be really awesome. Think "up to 300 times faster" awesome.

Today Microsoft has published a sneak peek into Llilum (pronounced "LIL-EEE-UM"), an AOT-compiled "NETMF" proof of concept for Cortex-M devices.

Here are some links to explore:

Llilum dev overview
Llilum system description
Very early performance data

This project includes quite a bit of tech that Microsoft has already built--as well as an integration of the NETMF stack, LLVM compilation and more.

There is a lot to digest in the tech here's a quick simplification in my own words:

Summary Description
"[The llilum proof of concept] is a future native-compiled option for .NET Micro Framework applications. For Cortex-M class micros. Up to 300 times faster for some operations like GPIO bitbanging. Additional C# language features. Code share-ability with Windows IoT UWP apps (think of the UWP APIs from NETMF 4.4). And all the hardware benefits of inexpensive, power-saving Cortex-M micros."

This is all still technically proof of concept, but that said...lots of great stuff to come. Kudos to the NETMF team (and all others who have been involved on this) for all the great work.


#63425 What is the latest firmware version for Netduino 1

Posted by Chris Walker on 08 July 2015 - 08:36 PM

Hi Ron,

Go ahead and install VS2013 and the Netduino 4.3.x SDK, and then install the legacy templates (see downloads page).

For Netduino 1 devices, just use the (Legacy) template when you create your new projects.


#63381 Visual Studio version for N3?

Posted by Chris Walker on 04 July 2015 - 05:45 PM

Hi ishotjr,

Welcome (and welcome back!) to the Netduino community.

For Netduino 3, you'll need a copy of VS2012 or VS2013. Express or Pro+ editions are fine. VS2015 will probably also work for you, although it's still in beta.

For free editions: VS Express for Windows Desktop and VS Community Edition should both work fine.

One more thing: going forward, the NETMF SDK may be adopting a "current and previous version" approach to supporting IDEs with the latest versions of .NET MF. So I would recommend grabbing a copy of VS2013 for your new Netduino 3.

BTW, what cool things are you thinking of building using Wi-Fi?


#63371 Netduino.IP Firmware v1.0.0 (for Netduino Plus 2)

Posted by Chris Walker on 03 July 2015 - 09:49 PM

One of the really awesome things about having a managed code networking stack is that you can actually debug and modify it directly from Visual Studio (added to your existing Visual Studio solution).

I have attached Netduino.IP v1.0.0 DEBUG firmware. This firmware includes all the Netduino.IP basics--but does not include the Netduino.IP and device-specific driver in the firmware.

To debug/modify Netduino.IP:
1. Flash the attached firmware to your Netduino (with on-board Ethernet port).
2. Grab the Netduino.IP assembly source along with the appropriate Netduino.IP network driver for your mainboard:
ENC28J60 (Netduino Plus 2) or AX88796C (next-generation).
3. Add the two downloaded Netduino.IP projects to your solution.
4. In the Netduino.IP project's properties, go to the Build tab and make sure that the conditional compilation symbol NETDUINOIP_ENC28J60 or NETDUINOIP_AX88796C (but not both) is included for your board.
5. Add the two downloaded Netduino.IP projects as references in your solution's main project.

Then just deploy and debug! Breakpoints, step-by-step debugging, etc. will all work!


P.S. You can download the latest Netduino.IP source code from GitHub. Just click "Download ZIP".

Attached Files

#63370 Netduino.IP Firmware v1.0.0 (for Netduino Plus 2)

Posted by Chris Walker on 03 July 2015 - 09:36 PM

The Netduino.IP Technical Preview program is now complete.

I have attached Netduino.IP v1.0.0 firmware (i.e. Netduino Plus 2 v4.3.2.2 firmware).

This network stack is shiny and new. If you run into any issues, please post here and we can address them individually.

Netduino.IP is designed for backwards-compatibility with existing NETMF code. To use Netduino.IP, simply write your code using the standard System.Net.Sockets classes, HttpWebRequest, etc.

This build includes the following features:
  • New: ErrorCode-specific SocketExceptions
  • New: Configurable receive/send buffer sizes
  • New: Configurable receive/send timeouts
  • New: TCP MSS support
  • TCP sockets
  • UDP sockets
  • DNS support
  • Dynamic IP (DHCP) configuration support
  • Static IP configuration support
  • ICMP (ping) support
  • IPv4 and ARP support
  • Link detection support (and NetworkAvailability event)
  • ENC28J60 network chip driver
  • Retrieval of network configuration from NETMF configuration sector
I have attached a sample project which requests the Netduino homepage and also retrieves the current time from an Internet time server.

The main goals for Netduino.IP (for Ethernet) v1.0 are reliability and protocol compliance. As we move forward to Netduino.IP v1.1 and beyond we will focus in on performance enhacements, potential support for additional IP protocols/features, etc.

Thank you for taking the time to help us test out Netduino.IP!


P.S. Netduino.IP source code has been checked into the Netduino repository at GitHub.

Attached Files

#63326 NETMF "Native", Colin's retirement and more news!

Posted by Chris Walker on 01 July 2015 - 08:42 AM

Last year, Microsoft talked Colin Miller (who had led the NETMF team for many years) into postponing his retirement. He was tasked with coming back to the NETMF team, recruiting and getting the new team pointed in the right direction, and starting work on a really exciting second version of .NET MF.

Colin and the team in Redmond, in collaboration with community contributors, have been working super-hard this last year and the results so far are very promising.

Today Colin announced his retirement (from Microsoft). Colin has brought Lorenzo Tessiore back as technical lead on the NETMF project, and the team is in a great position to continue innovating with .NET on Cortex-M class devices.

A few highlights from Colin's retirement post:

1. NETMF 4.4 is nearing completion. Stay tuned. Lots of new cool stuff to play with.
2. Officially...there is an AOT (native compiled) version of .NET for Cortex-M devices in the works. This is a second version of .NET for Cortex-class micros which will be even better than the NETMF interpreter for some applications. I don't want to spoil Lorenzo's thunder though, and I'll hold off on talking about this other than to point it out in the post :)

Please join me in giving Colin a huge "thank you" and virtual hug for all of his years of dedicated service at Microsoft, for making .NET MF a reality for all of us, and for working this last year to drive this really important work with NETMF (for IoT) forward.

Thank you Colin, for everything.


#63318 Garage Door Opener

Posted by Chris Walker on 30 June 2015 - 07:03 PM

Hi Dave,

Generally and not specifically: if you are trying to replace a momentary switch (i.e. one that connects the circuit temporarily, I would look at relays (or contact closures) which convert a digital signal into a higher-voltage switching action. The digital pins on Netduino are simply meant to send/receive signals, rather than tie into high power systems directly.

Does that help get you pointed in a good direction regarding learning?

BTW, welcome to the Netduino community!


Important note: we officially advise against building things which could malfunction and cause damage or loss to property or life. Netduino is open source, and open source gives you the freedom to create. But it also gives you enough freedom and power to cause problems. We care about you and your property, so please be safe.

#63199 Netduino is running slower in certain classes than others(Video)..Why?

Posted by Chris Walker on 18 June 2015 - 02:46 AM

Hi gismo,

Do you have any "tight loops" or busy code happening on background threads?

My first recommendation is to isolate each section of code, to figure out if something is chewing up a bunch of cycles.


#63190 MFDepoy Wireless Configuration grayed out

Posted by Chris Walker on 17 June 2015 - 05:47 PM

Hi hypersniper,

Sorry for the troubles; let's get you up and running here.

When you press Ping in MFDeploy, what response do you get?

If you press ctrl+shift+c, what output is displayed in MFDeploy?

Finally...can you post a screenshot of the wireless config screen on top of MFDeploy (with the output from ctrl+shift+c)? That will help us understand what is going on a bit better.

Welcome to the Netduino community,


home    hardware    projects    downloads    community    where to buy    contact Copyright © 2016 Wilderness Labs Inc.  |  Legal   |   CC BY-SA
This webpage is licensed under a Creative Commons Attribution-ShareAlike License.