1. thatotherdude24's Avatar
    I do and I don't understand the Windows on Devices plans. The piano at BUILD was running it but is this another one of those things from Microsoft that is behind? The big thing now is Linux and raspberry pie, that's the combination that would typically be used. So why use Windows on Devices over Linux?


    Edit: I sound really stupid in my question but hopefully you guys get what I'm trying to ask.
    Cleavitt76 likes this.
    04-07-2014 05:40 PM
  2. ven07's Avatar
    Wouldn't the ideal scenario for MS be that we would use Windows on devices instead of linux? :P
    04-07-2014 05:47 PM
  3. thatotherdude24's Avatar
    Wouldn't the ideal scenario for MS be that we would use Windows on devices instead of linux? :P

    I think that is their goal. Linux is already widely used for small devices that need programmed , but why switch to Windows?

    Sent from my Samsung Galaxy Tab 3 10.1
    04-07-2014 06:04 PM
  4. ven07's Avatar
    I think they did that because of all the .net features they placed on the "open-source" list.. Finally....
    04-07-2014 07:06 PM
  5. Cleavitt76's Avatar
    I do and I don't understand the Windows on Devices plans. The piano at BUILD was running it but is this another one of those things from Microsoft that is behind? The big thing now is Linux and raspberry pie, that's the combination that would typically be used. So why use Windows on Devices over Linux? ...
    Microsoft is not really behind they are just focusing some resources and consumer awareness towards their embedded solutions. Most of these products already exists, but consumers haven't really heard about them because they have traditionally been used by OEMs to drive customized products.

    It's only fairly recently that hobbyist are starting to take an interest in embedded devices. In the past it was way too expensive and specialized to play around with such things in your spare time. That is, unless you had spare time to get an Electric Engineering degree and a do lot of soldering just to get something that would power on. Now you can get enough bits to get started for < $50 and the foundation is already there. You just have to add the specialized components and custom code to make it do something useful. A lot of this is probably because the advancements in mobile are leading to cheaper and more feature rich hardware that is also usable in embedded systems.

    MS has many different embedded solutions for all different levels of hardware. At the bottom they have the .Net Micro Framework which is for extremely limited hardware (a thermostat, a smart light switch, a sprinkler timer, etc.). In the middle they have things like Windows Automotive, Windows CE, and Windows Handheld. At the top end they have Windows Embedded 8.1 along with embedded versions of SQL Server and Windows Server. Linux is more common on the really low end hardware that drives really simple devices, but at the higher levels the Microsoft solutions are certainly not uncommon. Cash registers, kiosks, digital signs, handheld inventory/package scanners are quite often using some MS embedded OS.

    So having said all that, the advantage in using the MS embedded solutions compared to an embedded Linux solution is consistency and development tools. Consistency comes from there being a specific, well documented, and supported version of whichever Microsoft embedded software platform vs. multiple Linux distros with all combinations of software components that use different naming conventions, API structures, and documentation styles. The development tools that MS has are really the best in the world. When you are programming at such a low level on such a limited device, even very "simple things" can be very time consuming to program. Having good development tools, debugging tools, APIs, and frameworks is a big deal.

    I have dabbled in some of this stuff myself for an ongoing project . I have programmed for both Arduino (Linux on tiny ARM hardware) and NETduino (.Net Micro Framework on same type of hardware). The developer experience is not even a fair contest. The NETduino/.Net Micro Framework is so much more efficient and powerful to develop in I gave the Arduino stuff away to a coworker. I won't go into all the nerdy details, but here is one example. With MS Visual Studio and the .Net MF platform I can push the code to the device via USB and execute (no big deal so far), but then I can step through the code line by line in Visual Studio, view the output of functions, and see variable values as it executes on the actual device. The code can also be event driven rather than polling every single I/O port constantly. This kind of stuff is pretty normal for high level x86 programming, but at the ultra low end embedded level it is wildly innovative, unique, and powerful.
    04-07-2014 11:09 PM
  6. thatotherdude24's Avatar
    Microsoft is not really behind they are just focusing some resources and consumer awareness towards their embedded solutions. Most of these products already exists, but consumers haven't really heard about them because they have traditionally been used by OEMs to drive customized products.

    It's only fairly recently that hobbyist are starting to take an interest in embedded devices. In the past it was way too expensive and specialized to play around with such things in your spare time. That is, unless you had spare time to get an Electric Engineering degree and a do lot of soldering just to get something that would power on. Now you can get enough bits to get started for < $50 and the foundation is already there. You just have to add the specialized components and custom code to make it do something useful. A lot of this is probably because the advancements in mobile are leading to cheaper and more feature rich hardware that is also usable in embedded systems.

    MS has many different embedded solutions for all different levels of hardware. At the bottom they have the .Net Micro Framework which is for extremely limited hardware (a thermostat, a smart light switch, a sprinkler timer, etc.). In the middle they have things like Windows Automotive, Windows CE, and Windows Handheld. At the top end they have Windows Embedded 8.1 along with embedded versions of SQL Server and Windows Server. Linux is more common on the really low end hardware that drives really simple devices, but at the higher levels the Microsoft solutions are certainly not uncommon. Cash registers, kiosks, digital signs, handheld inventory/package scanners are quite often using some MS embedded OS.

    So having said all that, the advantage in using the MS embedded solutions compared to an embedded Linux solution is consistency and development tools. Consistency comes from there being a specific, well documented, and supported version of whichever Microsoft embedded software platform vs. multiple Linux distros with all combinations of software components that use different naming conventions, API structures, and documentation styles. The development tools that MS has are really the best in the world. When you are programming at such a low level on such a limited device, even very "simple things" can be very time consuming to program. Having good development tools, debugging tools, APIs, and frameworks is a big deal.

    I have dabbled in some of this stuff myself for an ongoing project . I have programmed for both Arduino (Linux on tiny ARM hardware) and NETduino (.Net Micro Framework on same type of hardware). The developer experience is not even a fair contest. The NETduino/.Net Micro Framework is so much more efficient and powerful to develop in I gave the Arduino stuff away to a coworker. I won't go into all the nerdy details, but here is one example. With MS Visual Studio and the .Net MF platform I can push the code to the device via USB and execute (no big deal so far), but then I can step through the code line by line in Visual Studio, view the output of functions, and see variable values as it executes on the actual device. The code can also be event driven rather than polling every single I/O port constantly. This kind of stuff is pretty normal for high level x86 programming, but at the ultra low end embedded level it is wildly innovative, unique, and powerful.
    Wow, thank you for such a information filled response. I too am one of the ones who had never heard of Windows for embedded devices until BUILD.

    With it now being free with the general public have the opportunity to get their hands on it? So for example, recently I read a raspberry pi project somebody made to monitor their home brew. Would that be possible using Windows for Devices and a cheap hardware solution?


    Sent from my iPhone using Tapatalk
    04-08-2014 12:13 AM
  7. Cleavitt76's Avatar
    The home brew thing (essentially a "smart thermostat" with logic customized to a certain task) would be very doable on even the NETduino/.NET Micro Framework stuff that I have used (the lowest level embedded MS solution). At that level there isn't even an OS. It's just code (basically firmware) running on a tiny microprocessor. The higher level MS embedded solutions could do it too of course, but it would be overkill.

    BTW: the .NET Micro Framework and required development tools have been free and open source since MS first released it in 2009. There isn't really any money to be made selling software at such a low level. I think MS provides some of these embedded products just to provide developers and OEMs with a continuous experience from massive enterprise server clusters all the way down to battery powered widgets like garage door openers and home brew thingies. It is very cool as a developer to be able to use the same tools, languages, and overlapping knowledge across that entire spectrum of hardware.

    The "Windows for Devices" thing that MS announced at build is still somewhat vague to me. I'm actually not up to speed on the details (if there are any?) yet and I was just pointing out that MS is quite involved in embedded stuff already. I'm not sure if Windows for Devices is going to be an enhancement/remarketing of some of their existing embedded solutions or another product that falls somewhere into the mix. I get the impression it is the later. They seem to have mentioned it in conjunction with Intel's upcoming Quark SOC (Galileo dev board) which is an x86 based system to compete with ultra low power ARM microprocessors. I think maybe Windows for Devices is a new embedded product for those ultra low end x86 systems which is a brand new market. If that is the case then MS is actually an early adopter as the hardware isn't even available yet.

    Intel Quark - Wikipedia, the free encyclopedia
    Laura Knotek likes this.
    04-08-2014 01:12 AM
  8. Cleavitt76's Avatar
    BTW: thanks for starting this topic and asking your questions. I have been doing some research as a result and it looks more interesting that I originally thought (WP 8.1 news distracted me). I'm going to have to keep an eye on this Intel/Microsoft embedded "micro-x86" stuff. It also motivates me to want to get back to working on my own embedded project. I need more free time and less work time.
    04-08-2014 01:28 AM
  9. thatotherdude24's Avatar
    BTW: thanks for starting this topic and asking your questions. I have been doing some research as a result and it looks more interesting that I originally thought (WP 8.1 news distracted me). I'm going to have to keep an eye on this Intel/Microsoft embedded "micro-x86" stuff. It also motivates me to want to get back to working on my own embedded project. I need more free time and less work time.
    The home brew thing (essentially a "smart thermostat" with logic customized to a certain task) would be very doable on even the NETduino/.NET Micro Framework stuff that I have used (the lowest level embedded MS solution). At that level there isn't even an OS. It's just code (basically firmware) running on a tiny microprocessor. The higher level MS embedded solutions could do it too of course, but it would be overkill.

    BTW: the .NET Micro Framework and required development tools have been free and open source since MS first released it in 2009. There isn't really any money to be made selling software at such a low level. I think MS provides some of these embedded products just to provide developers and OEMs with a continuous experience from massive enterprise server clusters all the way down to battery powered widgets like garage door openers and home brew thingies. It is very cool as a developer to be able to use the same tools, languages, and overlapping knowledge across that entire spectrum of hardware.

    The "Windows for Devices" thing that MS announced at build is still somewhat vague to me. I'm actually not up to speed on the details (if there are any?) yet and I was just pointing out that MS is quite involved in embedded stuff already. I'm not sure if Windows for Devices is going to be an enhancement/remarketing of some of their existing embedded solutions or another product that falls somewhere into the mix. I get the impression it is the later. They seem to have mentioned it in conjunction with Intel's upcoming Quark SOC (Galileo dev board) which is an x86 based system to compete with ultra low power ARM microprocessors. I think maybe Windows for Devices is a new embedded product for those ultra low end x86 systems which is a brand new market. If that is the case then MS is actually an early adopter as the hardware isn't even available yet.

    Intel Quark - Wikipedia, the free encyclopedia

    Now is when I start to sound really dumb. I am not a developer and I know nothing about Windows embedded and their .NET framework. I just love to learn about technology and what is out there. I would like to learn to develop but easier said than done.

    Anyways my point.....through my research I have found the most common options for small at home needs to be Linux...would Windows on Devices be able to handle such projects? Sticking with the home brew example could a Windows on Devices device do the same things a Linux device could do if programmed properly? I will say it is much easier to get your hands on Linux than it is the MS equivalent.
    04-08-2014 02:46 PM
  10. Cleavitt76's Avatar
    Yes, the home brew example would be a fairly straight forward project on Windows for Devices or any of the other MS embedded solutions.

    It depends on the level of embedded system you are working with, but some of the MS solutions are just as easy to obtain as the Linux equivalents. You just download the tools/software from an open source repository. However, overall you are correct. Linux is more readily available at most levels compared to the MS embedded solutions. The thing is, when you say "Linux" you aren't talking about one product. With Linux are talking about hundreds of different products with all kinds of combinations of functionality. It's very much like Windows vs. Linux on the desktop. The diversity in Linux is both a blessing and a curse because with that diversity comes inconsistency and complexity.
    Laura Knotek likes this.
    04-08-2014 04:39 PM
  11. rodan01's Avatar
    Microsoft has so many IoT products, what is free when they says "Windows for IoT is free"?

    .Net Micro Framework (already free and open source)
    The new version that will run in the Intel Quark CPU.
    Windows Embedded Compact/Automotive
    Windows Embedded 8 Handheld
    Windows Embedded Industry/Pro/Standard
    Windows Server Embedded/SQL Server Embedded

    I guess all of them will be free with the exception of the Server.
    Microsoft could make a lot of money if companies use Azure to store and process the data that IoT devices generate. Giving Windows for free makes sense, companies would use Visual Studio to develop their apps which is tightly integrated with Azure.
    04-08-2014 09:30 PM
  12. rodan01's Avatar
    I have dabbled in some of this stuff myself for an ongoing project . I have programmed for both Arduino (Linux on tiny ARM hardware) and NETduino (.Net Micro Framework on same type of hardware). The developer experience is not even a fair contest. The NETduino/.Net Micro Framework is so much more efficient and powerful to develop in I gave the Arduino stuff away to a coworker. I won't go into all the nerdy details, but here is one example. With MS Visual Studio and the .Net MF platform I can push the code to the device via USB and execute (no big deal so far), but then I can step through the code line by line in Visual Studio, view the output of functions, and see variable values as it executes on the actual device. The code can also be event driven rather than polling every single I/O port constantly. This kind of stuff is pretty normal for high level x86 programming, but at the ultra low end embedded level it is wildly innovative, unique, and powerful.
    .Net Micro Framework looks dead compared to Arduino or Raspberry Pi.

    Google Trends
    04-08-2014 09:55 PM
  13. Cleavitt76's Avatar
    .Net Micro Framework looks dead compared to Arduino or Raspberry Pi.

    Google Trends
    Very true, but I didn't claim it was more popular than either of those. I was just saying that MS does have an embedded solution even at that no-profit-to-be-made level and why a developer (like myself) might pick it over Arduino or Raspberry Pi. There are pros and cons on both sides.

    Also, some of the Windows CE based products could be used in similar hardware to Raspberry Pi so it could be argued that those products need to be included in the trends. Regardless, Linux as a whole is more common in embedded devices than MS embedded stuff.

    Finally, those trends are based on Google searches which may skew the results somewhat in this case. The Arduino and Raspberri Pi documentation doesn't come from any single source. It's spread out all over the interwebs and when I was using it I have no doubt I was searching for relevant info quite a bit. When developing on the .NET Micro Framework I usually just go straight to the MS Developer Network website and use the official documentation which wouldn't generate any Google (or Bing in my case) searches. This goes back to the point I was making earlier about how an advantage of the MS solutions is consistency and the comparable non-MS solution is really a whole bunch of related solutions under an umbrella name that are often implemented very differently from one another. It's not like MS is competing with a unified Linux, Arduino, and Rasp-Pi. It's competing with all the different flavors of all those things which are also competing with each other.
    04-08-2014 11:10 PM
  14. thatotherdude24's Avatar
    Very true, but I didn't claim it was more popular than either of those. I was just saying that MS does have an embedded solution even at that no-profit-to-be-made level and why a developer (like myself) might pick it over Arduino or Raspberry Pi. There are pros and cons on both sides.

    Also, some of the Windows CE based products could be used in similar hardware to Raspberry Pi so it could be argued that those products need to be included in the trends. Regardless, Linux as a whole is more common in embedded devices than MS embedded stuff.

    Finally, those trends are based on Google searches which may skew the results somewhat in this case. The Arduino and Raspberri Pi documentation doesn't come from any single source. It's spread out all over the interwebs and when I was using it I have no doubt I was searching for relevant info quite a bit. When developing on the .NET Micro Framework I usually just go straight to the MS Developer Network website and use the official documentation which wouldn't generate any Google (or Bing in my case) searches. This goes back to the point I was making earlier about how an advantage of the MS solutions is consistency and the comparable non-MS solution is really a whole bunch of related solutions under an umbrella name that are often implemented very differently from one another. It's not like MS is competing with a unified Linux, Arduino, and Rasp-Pi. It's competing with all the different flavors of all those things which are also competing with each other.
    Can you give me a link or tell me where to go to find the Microsoft software I would need to make the home brew system?
    04-08-2014 11:39 PM
  15. Cleavitt76's Avatar
    Visual Studio Express 2010:


    That links to the C# version of Visual Studio. You can also program in VB.Net (download on the same page), but most sample code you find will be in C# and if you don't know how to translate it to VB.Net you'll be stuck.

    The .NET Micro Framework is available on Microsoft's "CodePlex" open source project sharing website:

    -or-


    One of the available open source hardware options:


    SDK Downloads for NETduino 2:

    Here is a simple "getting started" guide for NETduino 2. It goes step by step through the process from installing the tools/SDK to running your first embedded program on the device. The download links for the framework/SDK in the guide are a little out of date compared to the ones I linked to, but otherwise the guide is still accurate.


    Some random example projects for NETduino 2:


    Microsoft .NET Micro Framework documentation for continuing where the getting started guide leaves off:


    You would need to get whatever other hardware components (actuators, temp sensors, LCD, etc) are needed for the project from one of the common sites like sparkfun.com. https://www.ghielectronics.com/ also sells some very cool stuff including the "system on module" and various components.

    Fair warning: completing a project like the "home brew" system from scratch won't be an easy task if you don't have a decent amount of prior programming experience.
    Last edited by Cleavitt76; 04-09-2014 at 01:48 AM.
    04-09-2014 01:35 AM
  16. rodan01's Avatar
    Very true, but I didn't claim it was more popular than either of those. I was just saying that MS does have an embedded solution even at that no-profit-to-be-made level and why a developer (like myself) might pick it over Arduino or Raspberry Pi. There are pros and cons on both sides.

    Also, some of the Windows CE based products could be used in similar hardware to Raspberry Pi so it could be argued that those products need to be included in the trends. Regardless, Linux as a whole is more common in embedded devices than MS embedded stuff.

    Finally, those trends are based on Google searches which may skew the results somewhat in this case. The Arduino and Raspberri Pi documentation doesn't come from any single source. It's spread out all over the interwebs and when I was using it I have no doubt I was searching for relevant info quite a bit. When developing on the .NET Micro Framework I usually just go straight to the MS Developer Network website and use the official documentation which wouldn't generate any Google (or Bing in my case) searches. This goes back to the point I was making earlier about how an advantage of the MS solutions is consistency and the comparable non-MS solution is really a whole bunch of related solutions under an umbrella name that are often implemented very differently from one another. It's not like MS is competing with a unified Linux, Arduino, and Rasp-Pi. It's competing with all the different flavors of all those things which are also competing with each other.
    Not only the interest in Arduino is orders of magnitude higher. The interest in the micro framework and related products is decreasing, while the popularity of micro controllers is going through the roof. For some reason the relative high interest that Micro Framework generated when It was launched died in the following years. You can also see this in the participation in the forums related to the products and the sales rank in amazon (or the lack of it).

    It seems that Microsoft invested in this project, made it open source, developed the gadgeteer standard, worked with hardware partners to produce compatible pieces, there is a lot of educational resources.. but for some reason the millions of .NET developers are choosing Arduino or other boards. Why? What's wrong with the .Net Micro Framework?
    04-09-2014 09:32 AM
  17. Cleavitt76's Avatar
    Yeah, I hear you. I can't really explain that other than Arduino just caught on early and became "the standard". Having tried both, I liked the NETduino a lot more and I find it to be a lot more powerful and refined straight out of the box.

    Maybe it's just because the first people to get involved in hobbyist level micro controller projects were probably people that were doing non-hobbyist commercial projects for a living. Those people would tend to gravitate towards the environment they are most familiar with. Similar to how I come from a enterprise developer background and I tend to gravitate towards the .NET options. I'm sure when the trend started there were more low level hardware geeks (that tend to not fully appreciate the software side) getting involved compared to high level software geeks like myself (who tend to not fully appreciate the hardware side). Anyway, that's my theory.
    Last edited by Cleavitt76; 04-09-2014 at 12:13 PM.
    04-09-2014 12:00 PM

Similar Threads

  1. Replies: 162
    Last Post: 08-19-2014, 02:04 AM
  2. Do some companies just hate Windows Phone?
    By psychotron in forum Microsoft News & Rumors
    Replies: 18
    Last Post: 05-01-2014, 06:57 PM
  3. Windows Phone Smartwatch with physical buttons
    By jm_mj in forum Smartwatches
    Replies: 2
    Last Post: 04-16-2014, 10:05 AM
  4. Replies: 3
    Last Post: 04-08-2014, 12:05 AM
  5. Bored of Internet Explorer? Here are some alternative web browsers for Windows Phone
    By WindowsCentral.com in forum Windows Central News Discussion
    Replies: 0
    Last Post: 04-07-2014, 02:20 PM
LINK TO POST COPIED TO CLIPBOARD