Last Spring, Microsoft unveiled their plan for Windows and the Internet of Things. It starts with the Raspberry Pi and Windows 10 IoT Core – a stripped down system with Windows API calls running on an ARM architecture. Yes, Microsoft is finally moving away from the desktop, building a platform for a billion Internet of Things things, or filling the gap left by tens of thousands of POS terminals and ATMs running XP being taken offline. Either one is accurate.
Earlier this week, Microsoft announced the first public release of Windows 10 IoT Core. This is the review, but here’s the takeaway: run. Run as fast as you can away from Windows IoT. It’s not worth your time unless you have a burning desire to write apps for Windows, and even then you could do a better job with less effort with any Linux distro.
When Windows 10 IoT was first announced, there was great hope for a Windows RT-like experience. Being able to run real Windows applications on a Raspberry Pi would be a killer feature, and putting Skype on a Pi would mean real Jetsons-style video phones appearing in short order.
The majority of interaction with Windows 10 IoT Core is over the web. After booting and pointing a browser to the Pi, you’re presented with a rather complete web-based interface. Here, you can check out what devices are connected to the Pi, look at the running processes, and run new apps. Think of this feature as a web-based Windows control panel.
While Windows 10 IoT uses the HDMI output on the Pi, this is merely informational, the video output capabilities of the Pi reserved for application-specific displays – digital signage, POS terminals and ATMs are where Windows 10 IoT Core excels. For general-purpose computing, you’re better off looking elsewhere.
Officially, the only way to install Windows 10 IoT Core is with a computer running Windows 10. There are a few ways around this is with the ffu2img project on GitHub. This Python script takes the special Microsoft .FFU image file format and turns it into an .IMG file that can be used with dd under *nix and Win32DiskImager on Windows.
Yes, Windows 10 is free for everyone with a relatively modern Windows box, but since the only requirement for running Windows 10 IoT core is putting an image on an SD card and monitoring a swarm of IoT Core devices, there is no reason why this OS can’t be supplied in an .IMG file.
After putting the image on an SD card, installing Windows 10 IoT Core is as simple as any other Raspi distro: shove the card in the Pi, connect an Ethernet cable, and give it some power. No, you don’t need a keyboard or mouse; there’s very little you can actually do with the Pi. In fact, the only thing that is displayed through the Pi’s HDMI port is a screen giving you the IP address and what USB devices are attached.
You do get a few options for language and network settings, and there are a few tutorials and examples – connecting to Visual Studio and blinking an LED – but that’s it. The base user experience of Windows 10 IoT Core is just network information, a device name, and a picture of a Raspberry Pi.
There are a few shortcomings of the Windows 10 IoT core for the Raspberry Pi. Officially, the only supported WiFi module is the official Raspberry Pi WiFi module with a BCM43143 chipset. By far, the most popular WiFi module used for the Raspberry Pi (and something you should always carry around in your go-bag) is the Edimax EW-7811Un, a tiny WiFi module that uses a Realtek chipset. Odds are, if you have a Raspberry Pi 2, that WiFi module you picked up won’t work. Common sense would dictate that you could install the Windows driver for the Realtek chipset, but this is not the case; no Windows driver will ever work with Windows 10 IoT core. Even devices from the Raspberry Pi foundation, like the Raspberry Pi camera, are not supported by IoT core
If you’ve ever wanted clearer evidence the Windows 10 IoT core is not meant to be an extensible system like every other Linux-based single board computer, you need only look a little deeper. Digital audio is completely ignored, and pins 8 and 10 – normally reserved for a 3.3V UART on every other Raspberry Pi distribution – are reserved pins. Microsoft managed to make a single board computer without a hardware UART.
Fortunately, some of these problems are temporary. A representative from the Windows On Devices team told us more WiFi dongles will be supported in the future; the only driver they were able to bring up in time is the official dongle from the Raspberry Pi foundation. A similar situation of engineering tradeoffs is the reason for the lack of UART support.
Who is this for, exactly?
The idea that Microsoft would put out a non-operating system without support for the de facto standard WiFi adapter, a hardware UART, or drivers for the majority of peripherals is one thing. Selling this to the ‘maker movement’ strains credulity. There is another explanation.
Let’s go over once again what Windows 10 IoT Core actually is. By design, you can write programs in Visual Studio and upload them to one or many devices running IoT core. These programs can have a familiar-looking GUI, and are actually pretty easy to build given 20+ years of Windows framework development. This is not a device for makers, this is a device for point of sale terminals and ATMs. Windows XP – the operating system that is still deployed on a frighting number of ATMs – is going away soon, and this is Microsoft’s attempt to save their share of that market. IoT Core isn’t for you, it isn’t for me, and it isn’t for the 9-year-old that wants to blink an LED. This is an OS for companies that need to replace thousands of systems still running XP Embedded and need Windows APIs in kiosks and terminals.
Save your SD card
For anyone with a Raspberry Pi 2 and an SD card, the only investment you’ll make in trying out Windows 10 IoT Core is your time. It’s not worth it.
While Windows 10 IoT Core is great for any company that has a lot of Visual Basic and other engineering debt, it’s not meant for hackers, makers, or anyone building something new. For that, there are dozens of choices if you want an Internet-connected box that can be programmed and updated remotely. The Cloud9 IDE for the Pi and BeagleBone allow you to write code on single board computers without forcing you to install Visual Studio, and Linux is king for managing dozens or hundreds of boxes over the Internet.
This is not an OS that replaces everything out there. A Linux system will almost always have better hardware support, and this is especially true on embedded devices. Windows 10 IoT Core is a beginning, and should be viewed as such. It’s there for those who want it, but for everyone else any one of a dozen Linux distributions will be better.
222 thoughts on “Raspberry Pi And Windows 10 IoT Core: A Huge Letdown”
As a .Net Developer, having seen some interesting stuff on the Techdays in The Hague, i look at this solution a little different.
The main thing microsoft want’s to promote is “windows 10 on everything”, and IoT is just one of these.
As somebody comming from a microsoft world this might be a lower threshold to getting into tinkering then installing linux, getting started with python etc etc.
I Think the products does have it’s target audience, even though it might be a little light for your application.
I agree with this. One way to look at this is that Microsoft is trying to support more devices. Having the option to use Raspberry Pi and other embedded systems (or SoC) is a good step. If there’s widespread adoption I assume they’ll add to the feature set.
Very much to the point. Plus, they need to see money knocking their doors before putting more effort in support. This review helped me avoid time wasted over a weekend. I like desktop windows because of the abundance of programs and a familiar interface for 20 years. I am learning Linux but I don’t like the multi-user aspect of it at all, when it comes to programming it, especially on a raspberry pi. Either you run a code with admin account (you’re fed up with access issues and just followed a blog post or book recommendation) or you have to know everything to set up the right groups and access (right route only taken by Linux geeks). I was hoping win 10 provides RPI a small cozy retro windows desktop and programming experience.
This is an extremely ignorant comment. All computets have multiple users, and all OSes, unless you use MS-DOS, or OS/2 or something. Eating that having multiple users is a bad thing, is so ignorant, especially from someone claiming they primarily used a computer for programming. Why do you think windows is so easy to compromise? Because everything runs as root. If can’t tell what needs root privileges, you absolutely shouldn’t be programming anything.
Correct. *nix’s are “Deny then allow”, vs. MS’s “Allow then deny” method. At least newer versions of the server grade Windows have switched to the more secure “Deny then allow” model I learned 20+ years ago. It’s really not much of a leap from checking boxes (bits) to add/remove rights, to understanding attrib to change a bit to add/remove rights. The RIGHT route is taken by anybody, Geek or not, who doesn’t want to do a half-assed job. If I ever saw a Windows Geek doing this to a server or desktop under my watch, that would be an issue. So the OS doesn’t matter, learn it, don’t blame it.
While I do agree with the points you make in this comment, I gotta say – man, what an unnecessarily rude comment!
Not to get off topic, but I would argue that an iPad is a computer and Apple still hasn’t figured out how to have multiple users on it.
I know this is old…
But you say:
“All computets have multiple users, and all OSes”
Then go on to say:
“Why do you think windows is so easy to compromise? Because everything runs as root.”
That was his point exactly. I’m the only user of my Raspberry Pi. It’s easier to be root and not have to mess about for a day to make something work.
If you have a Raspberry PI 2, you should try it for yourself. You will (just like I did) likely find out that it is MUCH easier to learn Linux and C++ than to do C# SW development on Raspberry PI IoT.
You miss the whole point of a Win 10 IoT – the minute you need to learn a development stack you’ve lost the purpose of Win 10 IoT. The point of Win 10 IoT is for EXISTING .net developers to bring their experience to the burgeoning IoT market.
A current .net developer would find the migration to Linux/C++ to be about as hard as a current Linux/C++ developer (like you) would find the migration to .net.
If learning C++ and Linux is hard for C# developer, how would you expect that C# developer to be able to learn how to program Win 10 IoT? It is not like programming for Windows. For Windows, you install Visual Studio, create a C# project from template, then push F5 and start it – done, you are good to go adding your code. Win 10 IOT on Raspberry is closer to setting up Unix on some weird hardware some 30 years ago. If C# SW engineer cannot learn Linux, how do you expect him to figure out Win 10 IoT? I am Windows C# SW engineer, I have a Raspberry PI 2, I was able to figure out Raspbian SW development on C++, but gave up Win 10 IoT.
You’ve obviously not used Win 10 IoT because you literally have no idea what you’re talking about. You remotely develop, deploy, and debug your app from your PC but you can also SSH or Powershell into the Raspberry Pi 2 as needed.
1) Install Visual Studio 2015 with Universal App Support.
2) Create Win 10 IoT Image and copy to microSD card.
3) Boot Rasberry Pi 2 off microSD card.
4) Create Project
5) Change build target from “Local Machine” to “Remote Machine” and provide the Raspberry Pi’s address and authentication credentials (output via HDMI on the Pi)
1) Develop hardware on Pi as you normally would.
2) Develop your App as you would normally in Visual Studio.
3) Press F5 in Visual Studio to deploy code and being interactive debugging.
Here’s a pretty idiot proof guide from Microsoft to Blink an LED on a Raspberry Pi 2.
Petr, I was able to install Win 10 IOT on Raspberry, but I had problems building and deploying the project from VS to the PI. Maybe, I should give it another try.
However, I was able to install Mono and MonoDevelop on Raspbarian and blink the LED from C# – that was easy!
Well i would have to disagree Ken. I have a background in software engineering, and have written complete hardware drivers in C++ (and i have a bachelors degrees in computer science, with a major in embedded software). Also i have been running linux systems since 1997.
I would never advice in starting learning programming using a programming language that requires you to be that strict when it comes to memory allocation, de-allocation, working with pointers etc.
But instead of getting into a flame war about which programming language / os you have to use, my main point was that this article comes off a bit negative about something that is a first step in the right direction.
As an example, this device supports alljoyn out of the box, a protocol for home automation.
You can runn universal apps on it, which means that an app written for the desktop can also be run on the xbox, microsoft band, windows phone, and the raspberry pi 2.
You can do remote debugging out of the box, using tools that are imho part of one of the best ide’s available.
My point was that Win 10 IoT was created to leverage existing knowledge (.net) onto a new platform (Raspberry Pi), not to convert folks using Linux and asst. languages on Raspberry Pi to Win 10 IoT.
As a (mainly) Microsoft programmer I was blown away when I first ran Win 10 on my Pi
I instantly saw a world of inexpensive easy to create possibilities.
I had a simple app I built to get weather data from a web site and display it in minutes.
On the other hand, doing the same using other tool stack would be a huge learning curve for me.
… We all have our preference and should not criticise others for having theirs
Your excitement parallels that of Linux users when the api was first announced – a powerful tool that leverages my current knowledge…
A leopard never changes its spots, If you are Smart you can control any program in any OS, Intelligence is the ability to adapt to any environment, if you can’t, you are not.
I have apple and android and I get fun upsetting apple supporters with android and android supporters with apple.
My plan is to do the same with linux and IoT.
So, you are coming from the Windows world and you say it was easier to learn an entirely new platform (Linux) than to leverage off your deep Windows knowledge and develop in the Windows IoT environment?
I agree too, I hate programming for linux, don’t care for python, ruby, c++. I use .NET/C# at work, and I like programming in it.
I think the reviewer is a bit biased by having a general disliking for MS.
Too many windows programmers not willing to try anything else. I bet you’re trained for it and good at it and all your routine challenges can be solved by it. But you could be better. It’s language. You speak more than English? You can talk with more people. I have a friend who’s a good windows programmer. Wish he could try Arduino sometime soon.
This is BS. not willing to try anything else…. I have had Android, Ios, Blackberry and windows phone. I have had Acorn Atom, Commodore Vic 20, Commodore C64, Commodore Amiga’s ,Apple’s, Sun Ultra sparc, Sgi Indy and even Windows computers.
I have picprogrammers, avr buttyfly, arduino, and raspberry pi, so for me trying something different clearly isn’t an issue.
And roger21 is exactly the target audience i am talking about. Developers that already know .Net, and want to get into tinkering. Learning a new programming language & os & ide is not the right way if there is an alternative that requires little more effort than switching the target of the application.
I’ve been programming for 30 years. I am more productive with C#, the full .NET stack, XAML, EF, Workflows, etc… It takes me about 10 times as long to get the same thing done in C++ and I programmed in C, 20 years before I started into C#. Java is a like a bad version of C#; just slightly less power, features, longer-winded. Android SDK is non-intuitive, like most of Googles SDK’s. Monodevelop works pretty well on the Raspbian OS, but it does not have the GUI capabilities that XAML provides, which is far superior (time saved, capabilities, flexibility, etc.) to any other existing GUI platform out there. Having the full .NET framework would come in handy in a Kiosk style application and Win 10 IOT would be the perfect fit. But if the GUI is not important, Mono works just fine on Raspbian. That combination, if you spend the time to get proficient, would be the best way to go. Even embedded real time apps would save a lot of development time to have a .NET Micro layer or a Java layer (2nd best choice) at least as an interface. The core code, just a minimal set should be in C++. Reflection can do a lot of heavy lifting, checking especially in communications. Cuts down the development time more than anything else in client/server apps and even in GUI or database apps. C++ just can’t compete in most areas. I’ve converted C++ to C#. The code becomes about 10 times smaller and the bugs just aren’t there.
You can develop c# on Linux. The Monodevelop IDE is quite good these days.
Yes, this. I’ve been doing C# in Mono on my Pi since the original Pi B. It was really painless. I want to try Win10 IoT when I get some time. There are plenty of universal apps I want to test out on there.
Are you writing GUI apps and if so what API are you using for that?
I personally wrote a winforms app and got it working on Mono… but that doesn’t work if you want it to run on android also unfortunately. :/
I’m not a big fan of GTK either… too much trying to shoe horn objects into a language not design to support them.
It’s not dislike MS. it’s like more dislike the clickie clickie kids that think that windows is the only thing around. Not even willing to look at something else.
“Clickie Clickie kids” Thanks…. almost 40 here, and as you can see in earlier remarks clearly willing to try other stuff.
Instead of going into your spasm when seeing Microsoft, or as you most likely write it Micro$oft, just see it for what it is. A device for an audience that previously might getting started with iot as a too high hurdle.
If i would ask you to choose between two devices, one for which you know the ide, the language and the os, and the other requires a new ide, new programming language and a new os which one would you use if you just wanted to switch on the house lights using your smartphone..
Pssst…. Take a look at Lazarus: http://www.lazarus-ide.org/
Very powerful and easy to learn. 100% open source, and of course it already runs on the RasPI.
Born as a clone of Delphi now it’s fully integrated into the Linux system. Also true native multiplatform, no VMs or emulations, the IDE itself and the generated code are 100% native; forget Eclipse and Java slugginess.
And before anyone bitches about it being Pascal, please update your knowledge about the language: Pascal allowed pointers to arrays of structures of pointers to functions returning… etc. before most people here were even born, just forget the Pascal you were taught at school.
Anyway it’s not about the language (In fact I would go for C if I could) but how the IDE is thought. It’s easy to grasp, almost self explanatory at least to start using it.
Give it a look, you won’t regret.
why I should forget the pascal I was taught at school (university really), was good, it has pointer and advanced data structures, at that time (1993) OOP just started to get known to advamced programmers and universities HERE doesn’t taught that, but pascal was really good, and moreso, I didn’t have to learn a new languaje when I want to do more than a couple of blinky light with a PIC (16F628) and I just start writing code in JAL (which is a kind of pascal derivative). I’m really proud, my 41Hz.com’s amp6 is still kicking commanded by my pic and code that understand my (old) TV Remote, so I can turn it on, change volume or change input channel. all the codes where recorded to the eeprom, sadly I only used the RC5 lib, which also needed some debugging when used with the SPI lib (for the digital pots), anyway, was fun an productive. Anyway I’ll look lazarus, thanks for the heads up, sorry for my english.
Well, I meant that for some reason there’s people out there thinking that Pascal does not have pointers or cannot allow pointer arithmetics and the like. Years ago when I was using extensively Delphi at work, when talking about it with colleagues some of them believed the above, even those who were taught Turbo Pascal at school. It was fun to show them how one can shoot himself in the foot with Pascal the same way he would do using C :^)
Pascal is still alive?? Man i wrote some cool software with pascal back in the day. Borland Turbo Pascal for DOS and Pascal Lite for MAC. I wrote a Pager app similar to T9 (before T9) for converting phone numbers into words. Back when pagers where a thing. if only i patented it i could of been the one to develop T9 texting for phones.
Anyways, ill have to try this lazarus. i kind of miss how pascal wouldn’t let you do stupid things like c lets you do.
It’s alive and well. Maybe not the most beautiful or elegant one but it works. Back in the day I wrote network protocol translators on pure binary unmarshalled data coming from different architectures (xml? what xml?!? if you need serious speed just stay binary and pay attention to architecture endianess) so it’s very well suited for low level stuff.
I wish they could extend the IDE and library to other languages too as Borland did back in the day with C++ Builder, but that would probably be asking too much from a free community project like Lazarus.
A Lot of .NET programmers moved from Delphi or VB so Lazarus is probably a good option for Windows guys who want to make the switch over to writing GUIs for embedded Linux, ARM/Rpi and Windows CE while still supporting Windows 10 and still being in a familiar environment.
I have been writing a manufacturing system for Windows 7/10 for the past 2 months and found version 1.4 of Lazarus a very professional and stable package to write in. As a first for me, the touchscreen parts of the system will be hosted on Embedded Linux rather than Windows XP Embedded, certainly not encountering the problems I expected to have :-) Go Linux!
I use .NET/C# at work, and I like “programming” in it.
fixed it for you
According to your Linkedln account Mr Beragg, you have overtime been paid by ATOS, to develop programs that assess peoples claims for disability benefits here in the UK.
It is well known that the actions and conduct of your paymasters led to people committing suicide.
Perhaps, you were just following orders, a bit like the one from Microsoft where they directed to go forth and defend IOT!
Pay the piper call the tune……………..Otto
Feeling creepy ?
I hate AtoS as much as the next guy, but…
Don’t bring politics into a tech discussion.
Puts me right off Mr Beragg though. Same way as if someone’s CV mentioned database consulting work for Satan.
Yep. This article was written by someone with a specific preconceived expectation and who feels victim of a bait-and-switch, but isn’t savvy to ecosystems beyond their own. The article could be better. Go watch Hanselman’s robot demo on YouTube. It’s a good fit for making things, and a good first release.
I have a robot running on this using Rasberi Pi and windows 10 Core – did not waste my time.
More Wifi drivers would be great, but a $10 wifi compatible dongle from eBay was not a major sacrifice either…
Who said anything about using Visual Basic… C# works fine by me, and I can control the robot from the internet plus view it on a 2MP old web cam that was laying on my drawer….
I wish I saw this article sooner! I wasted an hour of my time setting it up and playing with how to setup an F**ing WIFI – while in raspian it is just fully automated – I second this honest article Windows IOT is crap – run – run fast
Windows IOT is not for running desktop apps, it’s for running your own custom-written & compiled code.
For those of us who got used to making things work using the other Raspberry Pi or even the Rasp2 running Linux then yes then certainly the whole idea was dead on arrival. Ask anyone who still runs command line on machines running the OS the original Windows replaced, then you’ll face the same problematic responses.For my part the jury is still out. It did come back on the boards named for a shuttle craft and a philosopher however the response was one of a hung jury problem.
“While Windows 10 IoT uses the HDMI output on the Pi, this is merely informational, the video output capabilities of the Pi reserved for application-specific displays – digital signage, POS terminals and ATMs are where Windows 10 IoT Core excels. For general-purpose computing, you’re better off looking elsewhere.”
Really this is news to you? Windows 10 IoT is exactly what you say it is but that has been known for a long time
“While Windows 10 IoT Core is great for any company that has a lot of Visual Basic and other engineering debt, it’s not meant for hackers, makers, or anyone building something new.”
Or if you have a lot of Windows programmers.
I think you are missing the point of Windows 10 IoT.
It allows you to reuse a lot of the windows development resources for embedded projects. You are also using the term technical debt when you should not. Technical debt is when you fix bugs or even have to port to a new platform. Windows IoT allows you to use existing resources like programmers that know the Windows API and Visual Studio and frankly Visual Studio.
I am a big fan of Linux but this all seems to come down to saying that Windows 10 IoT is not Windows RT which we all should have known. That Windows 10 IoT is not a desktop OS, again a given. Windows 10 IoT is not embedded Linux. And finally that Windows 10 IoT strength is that it leverages knowledge of the Windows API, Windows Network management tools, and Windows Development tools in an embedded environment.
I just hope the anti-windows bias in the maker community doesn’t push developers that decide to work with Windows IoT out. Windows 7, Windows 8(minus the metro UI), and Windows 10 don’t suck anymore so get over it.
I use a MacBook running OS/X at home, and Android phone, Windows at work writing code for Windows, Linux (running on a VM for an Arm based embedded device), and a Cortex M4 embedded system. I like all tech and use most of it.
Wow dude, have you even ever run any kinds of windows? Or seen the countless of issues W.10 (desktop) has as mentioned by users on many forums as they seek solutions? And have you read people that specialize in windows and really embrace it with all their heart advise people to wait with updating to it until the bugs are out?
Hell, initially with that nvidia forced buggy driver update issue people could not even boot their system, but I’m sure ‘getting over it’ will be just as good as having a working computer.
An as far as I can tell Windows 10 is just your good old UI tweaked w7 with forced assimilation into MS internet services, almost a ‘Windows Borg™’.
You should probably read more.
they wrote a new OS more or less from scratch its been out officially for like what 3 weeks and you expect it to be perfect? did you ever program something that complex?i think not. don’t get me wrong i updated my machine and have now to suffer the consequences like everybody else but going from a few thousand beta tester to a full fledged multimillion customers with an almost infinite hardware and software combinations is not an easy feat so some problems are to be expected. same goes for W10 IoT its new its fresh from the press and Microsoft has been focused on desktop for years so its something a bit new for them. for my part im gonna stick to W10 and see how everything develops…
MS always claims they ‘wrote it from scratch’ and ‘worked on it for 10 years’ and it’s always a very transparent lie.
And a big company should test things before release. Although it has to be said that it’s not MS’s fault that a million people sign up to get the test version and maybe 5 of them will actually report bugs, so it’s fighting an uphill battle really.
Anyway, it’s a complex system, bugs are to be expected. But the issue I have is people online spouting it’s flawless.
We are talking about Win 10 IoT, not Win10 desktop, right?
The only complaining I hear about Win 10 IoT is it’s limited feature set, not it’s functionality…
Actually no, we veered towards windows 10 desktop, which I specified as being where my reply was towards.
But it’s a good point that we should stay on topic.
Right, because no one has ever released a buggy version of Linux or iOS.
I don’t think anyone has EVER released a bug free version of Linux tbh
No software is bug free. Not even Windows.
Wtf are you on about? We’re not in 2001 ME times anymore.
I’m a windows user is what.
That is not true, just today I installed Windows 10 on a Compaq machine with just 2GB of memory and it not only detected everything including biometric and pen but everything runs perfectly fine. This was the 16th machine I upgraded and have not experienced anything what you are saying. Just fyi, there are already 50 million installations in just 2 weeks. I can understand you are anti-Microsoft, but stop spreading the fud just like most anti-Microsoft sites are doing.
Cannot agree more… free flaming is not what we are used to see here and the write-up seems a bit oriented!
Windows and Microsoft have changed their ways recently and that may have not been noticed by everyone, they are now more open and transparent porting some things in the open source domain, which should in itself be an argument to consider its potential value in embedded and open source…
Add to this that the .NET 5 is on the fire, and that you would cover every device just by changing the view, this is a nice thing to keep an eye on!
Microsoft is trying to get its foot into the door as far as the maker crowed is concerned, but I would not call this “open source.”
They are putting themselves on open source platforms, kind of like releasing the stripped down, memory limited, “starter” version of windows 7 to compete with Linux on netbooks that they and Intel intentionally hobbled.
You will never see any source code for windows IoT, and unlike open source OSs, until Microsoft adds support for the rest of the hardware no one else will be able to.
I think Windows 10 Iot will be great for working with MS technologies and embedded devices, It is common in industry, now anyone can afford to try it.
They are certainly experimenting with new business models and paradigms, sure, but they are not suddenly not MS anymore. And the core of W.10 is many previous versions of windows.
And a lot of the new stuff they are trying is not to my taste, but that’s just me.
You sounded very sensible- until you said windows 8 does not still suck.
I agree with you about Win 10 IoT. All of the articles complaints are complaints about the nature of embedded devices and applications. The article does bring up good points about hardware support. Obviously Microsoft, unfortunately as usual, is late to the game with something pretty interesting yet not quite done. I am still looking forward to working with it in any case. I work and teach in electronics / networking/ industrial automation, and .net is the usual way we interface industrial controllers with PCs and networks (mainly because of manufacturer support).
Yes, most embedded Linux does not use a desktop GUI either, not being used as a general purpose computer, why waste resources and power.
Windows 8.1 does not suck except for the Metro UI on a desktop. The OS under the UI is actually pretty nice. Notice that Windows 10 drops that dumb metro on devices without touch screens like… Most PCs…
I a hope we will see a DDK for Windows IoT sooner rather than later. The lack of the UART is pretty bad as well but it is really new.
It is a new “free as in beer” platform with a great set of development tools. The negativity I see aimed at it smacks of bias IMHO. I doubt I will do anything with it since I am not a .net guy but that does not make it worthless.
“While Windows 10 IoT Core is great for any company that has a lot of Visual Basic and other engineering debt, it’s not meant for hackers, makers, or anyone building something new.”
I guess Assembler is best choice.
Not sure if this is sarcasm or not, could you clarify?
Most of my IoT applications are implemented mainly in ASM, at least until it hits a web server somewhere. It never seems like a big deal, although I get some funny looks sometimes from people sometimes.
I’m just happy when people make new things. ATMs and POS terminals are not new things. Even if I’m not a huge fan of the Microsoft ecology, I hope it gets subverted for something fun.
I see the opportunity for discarded POS terminals of the future to become a source of useful hardware, for example.
Unfortunately old POS terminals running CE or embedded windows probably won’t be useful for hacking. Look at all of the used thin client hardware out there- just a lot of junk, as the manufacturers have zero interest in anyone ever using the hardware for running anything other than their customized images. The hardware looks really interesting, but with so much computing power for cheap with boards like the Pi, Beagle Bone, etc. they just do not seem worth messing with.
People who make fun of assembly just do not understand that applications still require it. I know an engineer who is an expert on embedded motion, and for many aerospace embedded hardware projects they will not trust/use anything else. C++ of course for higher level projects, but for low level brushless motor drives and such assembly is used. You use the best tool for the application, sometimes not the favorite one.
especially if the new versions are locked up with UEFI, which they likely will be.
Yes and no.
Discarding M$ thing just because it’s M$ is childish. Last week i was playing with VS 2015 to write simple WP8.1 application. This was much easier than developing android software. Additionally I was able to deploy it to a desktop windows without any code change. What more i guess the same part of code might be used in IoT environment and phone application to control Things.
IoT is a catchy topic but i see a huge problem. Who cares about Thrust and Privacy. In my opinion Win10 IoT may give us a framework which will allow us to simplify such things. With Cloud9 IDE you can only write simple blinking LED program.
From my point of view a true “Hardware hacker” has to know not only how to use assembler but also understand a platform where a lot of unpredictable external events may came from outside.
And one more thing: each project has to meet some requirements and this requirements enforces us to use specific technology.
Good writeup Brian, very clear (and not anti-windows actually) but realistic about what you get. And even making room for possible future expansion/updates.
It’s good to have users be informed so they know what to expect and use it at places where it’s usable.
P.S. It’s just a pity it’s about windows so you get the insane as well as the paid-for nonsense comments taking over. But sometimes it’s just not about the comments but about getting an article out.
I’m confused about the HDMI connector.. I understand there’s no “shell” … but can you create apps on a PC and put them on the pie and use the Pi’s HDMI that way? Or does the Pi’s HDMI only ever show the network config?
It shows the interface for your application. Good for purpose built installations. (Avoids the embarrassing ATM/vending machine showing a desktop issue). This article shows an example,
Well, that’s pretty cool, then. Thank you.
“No, you don’t need a keyboard or mouse; there’s very little you can actually do with the Pi. In fact, the only thing that is displayed through the Pi’s HDMI port is a screen giving you the IP address and what USB devices are attached.”
… doesn’t quite seem like you could do an ATM, but everyone says it’s great for ATMs.
Go read about what W10 IoT can do. It’s an arbitrary display, but it’s a single application arbitrary display.
Think of it less as a full OS and more as a framework for running an application. The default output for HDMI is to display some debug information, but this is more of a ‘hello world’ demonstration baked onto an Arduino more than anything else.
So, you would write an ATM application that has a GUI involved, and when running it would display that GUI to the user. And nothing else. Something hard faults? Reboot the whole thing, launch back into the app. It’d great for what it was designed for, single application embedded connected to the internet things.
Windows 10 Embedded would be great for an ATM, Windows 10 IoT would be great for your dishwasher, Windows 10 Desktop would be great for general purpose computing…
Those are three distinct versions of Windows 10.
Besides the UART thing I can’t see anything terribly wrong with it. It’s a different approach. This is not hardware-programming like you would expect for an embedded device but more PC-like programming with an abstraction layer in between. Im not sure about the performance but I think it’s worth having a look.
I would like to read a review about what the framework supports and with which performance the applications (e.g. C#) run.
And please avoid sentences like:
“the only investment you’ll make in trying out Windows 10 IoT Core is your time. It’s not worth it.”
Because it’s our decision if it’s worth it ;)
He’s not holding a gun to your head and when someone says something is not worth it it’s always assumed that is the author’s view.
As for your ‘only the UART thing, then how about the lack of drivers for WiFi dongles? The lack of audio? That seems a good way to use a raspi?
The use is limited, the article outlines the limitations but leaves the decision to use it to you..
Think of what people use raspi for right now, and then you realize 99% of those uses would be not possible.with this W.10 IoT.
But perhaps it opens it up to things not thought of though. Like with photography when you only use a fixed single wide angle lens; a limitation can force people into getting new creativity.
It is a very new version so I HOPE that there will be more drivers etc. I’m with you, the current state is… suboptimal but I think this will change.
It also underlines the reason why linux is massively superior to any other OS for embedded devices (what we used to call IoT before the marketing people)
I have zero driver issues with hardware under linux. Windows CE/Embedded and QNX… very little supported hardware.
I’m glad I’m finally able to create apps for a cheap embedded platform using mature, fully functional tools (like VS).
I’ll take being able to remotely deploy and debug embedded apps to a no-setup embedded device over having to fiddle around with Linux, SSH, Python and using print statements to debug any day…
I’d rather not confuse the moon with the pointing hand. Look forward to seeing what you build and share though!
To each his own I suppose.
There is also NETMF which has been out for about 5 years.
Windows lost me a longlong time ago when they “forgot” C++ & GUI….
Use wxWidgets + boost + codeblocks and your will easily be able to build your apps both on windows and linux
( raspberry ..parallela..whatever….)
Frankly, i think it’s not as bad as it article draws it. The way i see it, MS just put out a first glimpse of the basic IoT core, and not a finished turnkey solution. I’m pretty shure that the driver and low level hardware support will follow soon. They probably just wanted to get some public feedback to shift the focus of upcoming development away from internal roadmaps to the clients/customers most pressing needs. And that was not a bad move imho, as long as the feedback stays constructive and isn’t just an occasion for a new MS bash.
Ahhh…. Did you stop and ask WHY the pins are reserved? Personally, I can’t find an answer, but the other two reserved pins are specifically because they cannot be used for GPIO (according to the release notes). They are to be used for ID_SC and ID_SD only to support HATS. The same may be true of the uart pins.
It’s called “Windows 10 IoT” where IoT means ‘Internet of Things’… Things like toasters, thermostats, smart sprinkler controllers, etc.
It’s a pity so many folks (the author of this article included) forgot or never knew what IoT actually meant and expected a full desktop/end-user experience, presumably similar to Windows 10 desktop or phone versions.
That a Realtek x86 WiFi driver is also hardly surprising, since the Raspberry Pi uses a non-x86 CPU.
MS never promised you a desktop-like OS for your Raspberry Pi, it was uninformed internet bloggers that failed to understand what MS was offering and set expectations too high.
It makes no sense to get mad at MS for delivering EXACTLY what they said they would, get mad at the ‘journalists’ that acted like they knew what they were talking about.
i completely agree and also i wonder if this review was not premature anyway i mean the new tendency in software release is unfortunately to ship a barely functioning software and to fix/improve/enhance it afterwards. who knows what future releases will bring?
Although very annoying because of the many updates, it can drive the product to be exactly what the customers wanted (if a suitable feedback channel is in place).
I think the review is way too negative and does not understand what Microsoft is doing here.
Microsoft is not turning the Raspberry Pi 2 into a Windows PC and that is a good thing because we already have Windows PCs that work fine and better than a Raspberry Pi can possibly work without a lot more RAM, a disk interface and so on.
What Microsoft is doing here is to turn the Raspberry Pi 2 into an Arduino but without the memory and CPU limits that would entail. And that is exactly what you want if you are going to do embedded device development.
My hero size Dalek prop has 7 motors internally moving the dome, eystalk, arms (2×2) and plunger. I want to have the whole device under Ethernet control. So with this kit and a RPi2 I can very easily develop the necessary code in Visual Studio and C#.
I do not want to develop code on the RPi2 and I don’t particularly want a lot of ‘device drivers’. In fact the less going on in the kernel, the better.
MS has been doing embedded for decades, Windows CE? Supporting most of the Win32 API it was a breeze to port. I love it though, don’t understand the hate it seems to get…
Seconded. I’ve been using Windows CE in various projects, one is still running 3.0 today in production machines we still sell. It’s never BSOD’d crashed, or failed. It has been 100% reliable and simple to use. It has been so reliable we have never bothered to upgrade the OS. It runs on SH4 hardware too just for fun! Boots in 3 seconds to the app splash screen from cold start. And that was from back in 2002. The same app re-compiles for X86 Win32, X86 Wince, Arm etc with only a few #ifdefs in the main header. Its a shame all most people see if WinCE is Grossly underpowered Sat Nav units with even more craptastic application software.
This was always going to be a replacement for the embedded platforms – Windows CE and Windows Mobile, rather than the desktop and windows phone replacement. To me it looks like a fantastic step forward as those platforms are a little creaky these days to say the least.
I don’t think Win 10 IoT replaces Embedded Windows (like CE), I think it augments them. There was a Win 8.1 embedded edition and I suspect there is/will be of Win 10 as well – it is used for POS terminals, kiosks, and other applications.
Happy to wait and see. Would love the industrial handhelds and similar embedded systems to move over to something like this.
This article is somewhat biased but its worth noting that MS is also putting a lot of effort into the .NET microframework and Gadgetter. Which is incredibly good, and perfect for the maker world. Especially if you a)want to debug whats running on the STM32 live b)Are a .NET developer c)Like Visual studio d)are just getting into embedded systems ec etc. Also the community version of VS2013 and 2015 are freeeeee to which is phenominal. All this Anti MS BS is just a pissing contest. Every OS has its problems none of them are the best.
Sounds good to me, if I were my windows programmer friend. There are lots of windows/non-windows programmers out there and most know nothing about hacking or electronics beyond a digital electronics course or two back in college and they are apprehensive of the concept of having to wire something actually in the physical world. This platform, if it is as good as you envisioned it to be, could open doors to lots of THEM, so soon enough they can join the broader community and contribute.
I am a developer on Visual Studio and was waiting for something like this to start making cool hardware. I don’t want to learn new software to make the home automation stuff I need. Hoping this is the real thing
You don’t have to learn new software, you can start using NETMF now.
In my experience every developer has a language of choice, and every multi-lingual person I know has a primary language that they think in. From my perspective all c syntax languages feel like the Latin languages. I can read them, but I trip over things like string handling in pure c that I don’t even think about in c#.
I don’t really enjoy learning new c subsets or derivatives because for every “Hey cool!” feature there’s a “now how the hell do I…” question. Same feeling as I get while I’m trying to beat Italian into my French-speaking brain. I prefer to learn things that look totally different (as much as anything really does these days) so that my instincts and habits don’t get confused. Windows IoT is fine, but it is an initial offering. Saying “It will never support” anything is pretty foolish, just look at how much the .Net framework has changed from 1.0 to 4.0.
I can’t blame MS for wanting to test the market before throwing billions at something. For every Xbox there’s the possibility of a Zune
Ha! I think ZunePi would be a great application to build based on Win10 IoT. And I say this without any sarcasm.
Zune was really nice imho.
Nice write-up. I did something similar and have put my thoughts here: https://unop.uk/dev/windows-10-iot-core-public-release-for-raspberry-pi-2-install-and-first-impressions/
But to summarise. Better than the insider preview but still not as good as Raspbian.
Microsoft was not aiming to compete with Raspbian – you might as well have said ‘not as good as OS X or Windows 7’… They never intended to release an end-user desktop OS equivalent, they released an OS for automating ‘things’ to make, you know, an ‘Internet of Things’ that builds on the tens of millions of windows programmer’s current knowledge of the windows development stack and languages.
(Why would spend money to create a free OS to compete with another free OS?)
“It’s not worth your time unless you have a burning desire to write apps for Windows, and even then you could do a better job with less effort with any Linux distro.”
Brian you are making less and less sense. This whole post could really use some re-write after you drink your coffee or get a better sleep.
“You do get a few options for language and network settings, and there are a few tutorials and examples – connecting to Visual Studio and blinking an LED – but that’s it.”
There are several samples, here is a link, https://github.com/ms-iot/samples
“No, you don’t need a keyboard or mouse; there’s very little you can actually do with the Pi.”
There is no shell because you are supposed to write your own interface. I suppose this is to address things like the Automatic Updates window appearing on your vending machine or ATM. According to MS,
“For devices with screens, Windows 10 IoT Core does not have a Windows shell experience; instead you can write a Universal Windows app that is the interface and “personality” for your device.”
Windows why ever…
OS / 2 is Da Bomb !! Only seconded by BeOS… the rest is shit !! #obvioustrollisobvious
Yet another anti-Windows / anti-Microsoft article. Windows 10 IoT Core is first generation, and yes, it doesn’t have all of the Windows features. The author forgot the other I/O supported. Windows 10 IoT Core on the MinnowBoard Max supports I2C, UART, SPI, and GPIO. The Edimax WiFi works fine with the MinnowBoard Max. I2C, SPI, and GPIO are available on RPi2. There are several examples available to get started so there is more than just blinking lights and HDMI. As with the other responses, the author needs to do better homework before writing a product bashing article.
I don’t think the author knows what you’re talking about here since you mentioned I2C, UART, SPI, and GPIO ..
“A Linux system will almost always have better hardware support, and this is especially true on embedded devices.”
I had to stop and marvel at that sentence. It wasn’t that long ago that hardware compatibility was a strong reason to not install Linux, and now it’s just assumed it’ll run on any computer you’d care to build. We’ve come a long way, and it’s nice to see that hardware compatibility is actually a selling point for Linux over Windows now (at least some of the time).
Over Windows 10 IoT, not Desktop Windows – Windows 10 on the Desktop has better hardware support than Linux.
Supported architectures on Linux: https://en.wikipedia.org/wiki/List_of_Linux-supported_computer_architectures
Supported on Windows: x86, x86_64, (now) RPi/ARM.
When people typically discuss ‘hardware comparability’ in Windows vs. Linux they are discussing peripherals (video, RAID, networking, so on) not system architectures (intel x86, power pc, Alpha, SPARC, ARM, etc.).
I was dumbfounded when I didn’t have any problems whatsoever w/ a USB-serial driver on linux when I needed admin access to install it on Windows…normally it’s the other way around lol
Way to go Brian. This is another brain damaged locked software system, which MS can drop anytime it feels (XP). And then many hands will be busy rewriting software for newest and greatest OS from MS, to blink few LEDs. Instead of using either Linux, BSD, DOS … I can still use QBasic (dropped by MS) programs from 1980-ies to test stepper motors on pport, while it is difficult to run even VB5 programs on new Windows. It is planed obsolescence, resulting in hundreds of millions of PCs going to landfill because they “can’t run Firefox any more”. You are not fooling me.
Mate, XP came out in 2001, get a grip. You can’t support obsolete software for ever.
MS released Vista, Windows 7, and Windows 8 before ‘killing off’ Win XP…
Does Apple still support 14 year old OS?
Debian? Red Hat? Ubuntu?
Win XP programs still work on Win 10, AFAIK.
I rarely use XP, except to run software written by MS afficionados that “does not work any more”, and few old games. Same with OS9/10 crap – thousands of dollars had to be spent to create essentialy the same testing system. Meanwhile, old QBasic programs still run fine in DOS, and old C programs run fine on Linux. Old Python seems ok as well, but I dislike v3 fork that is being rammed down v2 throats.
“Common sense would dictate that you could install the Windows driver for the Realtek chipset, but this is not the case; no Windows driver will ever work with Windows 10 IoT core.”
This is a partially incorrect statement. Existing Windows drivers may not be compatible with the new architecture, but anything developed for “Windows OneCore” will work across all Windows 10 devices, including IoT.
Information on driver developement.
Seriously? POS terminals and ATMs don’t run stock Windows XP, they use the POSReady version which has support all the way through 2019. Companies aren’t using desktop Windows XP, good god, do your fucking homework.
Thank you for telling me what is good for me. That way I don’t have to think for myself.
Just as a side note, the EW-7811Un may be easy to use on the Pi, but it doesn’t support monitor mode. Had I known this, I’d have bought a different adapter.
So it’s a bit like ye olde MS-DOS 1.0 circa 1981. You boot up and all there is, is this >_
You have no clue what to do next. If you do know what to do, there’s very little DOS on its own can do. You must install some programs that do things.
Here’s Win 10 IoT for the Pi2. You boot up and all you get is this information screen. Well duh, you have to install and run a program that does something, just like good old DOS. Like in the earliest days of MS-DOS there are very few programs for Win 10 IoT for the Pi2.
Give it time, people will write all kinds of programs for it.
People WILL write all kinds of programs … and then the platform WILL be obsoleted because it does not make enough money for M$ any more. It always happens that way. And then we will be chasing another MS wonder?
Right, they should support unprofitable/unpopular platforms forever, just like Apple and the Linux community does.
Why won’t apple support my eMate?
Why won’t the latest Linux run on my SPARC-based Sun workstation?
Such a well thought out, and carefully constructed article.
Here is one example.
“A similar situation of engineering tradeoffs is the reason for the lack of UART support.”
I don’t know what that sentence means. However it does seem to have all the erudition you’d expect from someone wiping drool and Cheeto drooping off their keyboard while writing it.
Now say it with me.
The fact that this bucket of slop is being sold to makers is a joke.
…does not qualify as an operating system (not one capable of hosting it’s own development at least, or capable of being useful by itself)
…is a shame to even be named after a “real” operating system like 10 (and for me the jury’s still out on whether 10 is a *real* OS) or windows in general.
…is exactly what you pay for. (utterly useless as filler for a raspi’s sd card, guess there’s no such thing as a free lunch)
Honestly, from a practical standpoint, this thing is not much better than a usb adapter (missing critical things like sound, networking, and UART) that I plug into my computer over the network. It is an extension of my computer, not a computer in it’s own right. The fact that I can remotely load processes into it to untether from my computer it hardly makes up for that, as at that point it’s almost like a arduino with more processing power, but shitty I/O.
Microsoft could have made another killer app for win10, as well as another strong platform (besides winPhone, xbox, and PC) but I guess they gave us exactly what we’re expected to pay for it: Nothing.
Microsoft, you dun fckd up,
(dammit, and I was really hyped for plugging in a monitor and a few peripherals, and getting an at least windows-like experience. it was a main justification for finally getting around to looking at picking up a Pi)
“This thing…does not qualify as an operating system (not one capable of hosting it’s own development at least, or capable of being useful by itself)”
Is that how we measure ’embedded’ operating systems? If they can host their own development stack?
Define ‘useful by itself’ – does that mean include a browser? Includes a copy of ‘solitaire’?
Kids theses days…
Yeah, developing on it is a requirement…how about a shell? Worthless, Windows just needs too much memory to be useful on these larger embedded systems.
An OS designed for an appliance with a few buttons and a temperature display *needs* to support development on the embedded controller AND support a user shell, or it isn’t a true ’embedded operating system’?!
In other words, I must be able to shell into my thermostat and be able recompile the code for that thermostat *on* the thermostat, or it’s not a ‘real’ embedded OS?
We’re just going to have to agree to disagree on that one.
Goddamnit Ken. If this is the best MS can do then what’s the point. Go back and stay back in markets MS dominates and stop trying to go mobile and embedded. I like running large toolchains supported generally best by MS to program microcontrollers w/ flash and every peripheral you’d ever need. I said LARGE embedded, real embedded doesn’t even run an RTOS and is just a looping program waiting for input and toggling lines. On just Raspian, I can run from command line, or launch GUI, have access to audio, graphics, ethernet, USB and multiple pins of assorted GPIO, that’s the embedded part. W/ shell, browser, text editor…so much and it’s made for free and customizable and it works quite well. Take some hints MS (look at Atmel, TI, Freescale less and Microchip even less getting into hobbyist market; if some random project takes off and everyone wants one, those companies can sit back and sell a bunch of those chips).
Raspbian is a desktop OS that runs on a desktop replacement system that hackers choose to embed inside a hardware project.
(Remember how the Raspberry Pi was going to ‘revolutionize’ education by replacing computers that cost several hundred dollars with Pis that ran Linux and ‘only’ needed a Hi-Def display, keyboard, mouse, power supply and possibly a wifi adapter? That’s why I call it a desktop replacement system.)
You can argue that the Raspberry Pi is an embeddable device, but you can’t argue Raspbian is an embedded OS in any classic meaning for an embedded OS… How many office automation and games does it include?
The main limitation of IoT I’ve heard is that it doesn’t satisfy needs it was never designed to address.
Wow, the fanbois are out in force.
From all sides :)
Not surprising about the lack of hardware/driver support. Existing desktop Windows drivers were never designed to be ported to a very different architecture. They’re starting from zero.
Eventually I bet Microsoft is going to push for a different driver system across all their platforms, with most drivers written in .NET.
This is their model that covers all devices, PC, Phone, IoT etc https://msdn.microsoft.com/en-us/library/windows/hardware/ff557573(v=vs.85).aspx
Cmon guys we all knew windows on a Pi would absolutely blow dick. This is no surprise even if the writer is massively biassed. The real let down is Ubuntu 14.04 trusty on the Pi. 2 days and i still can’t get the frigging wifi to work!
Lol I couldn’t get my weird wifi dongle to work on beaglebone w/ Angstrom, feel your pain. Raspian on the Pi though, piece of cake. Love it.
Firstly, has nobody realised that this is Windows on ARM? It’s not like you can drop Microsoft Word on here and expect it to run. Windows Embedded has long been a corporate offering, so there is little to no community involvement and pretty much all programs written for Windows are compiled for x86. Linux on the other hand has a flourishing community around ARM and nearly the full package repository.
There is no support for ARM on Windows so the need for compiling your own binaries should have been expected. Not being a Linux fan boy, just pointing out that Microsoft has only just embarked on this particular journey and they have a long way to go yet.
Secondly, point one aside, I feel like Microsoft has arrived at the party (late) and is this big awkward dude who’s very happy to be there but not exactly sure what to do with himself. And he has no friends.
What’s in Windows phones? Aren’t they ARM? I’m positive they aren’t Intel x86 compatible.
I think it’s safe to say that on HaD we are all completely aware it’s windows for ARM, and we already knew that in advance.
The issue is that when they announced W10 for Raspi although we deduced it had its limitation we were still overly optimistic in how much it could do on the Raspi.
And how about the missing System.Drawing namespace? You can’t run anything that uses Image or Bitmap objects, so no image processing, no image generation! I asked them about it several days ago and no response.
More than this, I found they lied by posting a project that can’t be completed because of this missing namespace! Still no response!
Microsoft Windows 10 with NSA Inside Technology..
Windows 10 on a Raspberry Pi really cripples it compared with it running Linux . I have listened to to the arguments about .net and it being easier for a Windows person to start doing things but I think it is the duty of the community to encourage those less fortunate Windows people to learn something (a lot) that will no doubt benefit them in the future. .net vs C++ – whatever, Linux can run .net code via mono if need be. They would also learn about the wonderful world of FOSS and that is perhaps the thing that they would really open their eyes having sat through Microsoft training and suffered the perpetual evangelisation which has brainwashed most of them.
Bottom line is that the Windows guys can now run something Microsoft on a Raspberry Pi but truth is that when they explore what its capabilities are when it runs Windows 10, compared with it running Linux, they are always disappointed.
Yes, a limited-function OS (Windows 10 IoT) offers users less functionality than a full-function desktop OS (Raspbian)…
Thank you Captain Obvious!
For those who have followed the earlier versions of Windows the term “Core” is used for the GUI less versions of the O/S. I’m also not surprised by lack of hardware support either as all the other drivers will have been written for Intel not Arm so will require some porting. Having spent a long time coding C# using Visual Studio, I’ll all up for a platform that will support that but I’d agree with Brian that the Raspberry Pi is not really the right platform for flashing and LED.
According to many here, to do anything ’embedded’ requires a micro controller and OS that supports HD user displays and can run the entire development stack locally… Anything less is not an ‘Operating System’ worthy of even turning an LED on or off.
Basically, all I got out of this article is that Win10 IOT is a huge let down to the writer because they expected the product to be what they wanted it to be and not what Microsoft intended and indicated it would be. That’s really it!
It’s funny how many folks here judge an OS by it’s ability to host it’s development stack.
Just curious, is iOS an ‘operating system’? I ask because my iPad can’t host it’s own development stack…
I think Brian is a fair and unbiased writer, but I think what most people here are not familiar with is that is not the first Microsoft product for makers. They released .NET Micro Framework and Gadgeteer roughly 5 years ago. It gave me, a software guy, a very easy entry point into embedded devices and hardware. And since then I have been using Arduino, Raspberry Pi, etc. Instead of hating a product because of the company producing it, let’s think about the many software developers that will now be introduced to the maker community and embedded devices. I would imagine that most will be like me and venture into new technologies because of this entry point.
Not to worry, anybody that keeps informed doesn’t bother hating MS since they are just the same as all other companies, bad, but not more than the rest really.
But hating financed comments and delusional fanbois; that’s another matter.
I have read all the way down here to find this comment (and I am a linux fan boy).
“All I wanted was a Windows 10 version of ChromeOS, but what I got was firmware for a light switch.”
âAll I wanted was a Windows 10 version of ChromeOS, but what I got was firmware for a light switch.â
Which part of ‘Internet of THINGS’ (emphasis added) made you think they were releasing a ‘Windows 10 version of ChromeOS’?
IoT IS not a desktop OS, no one said it was, and there is no reason to compare it to other desktop OSes, like Linux/Raspbian.
And yes, Raspbian *is* a desktop OS – here’s a tip, if it ships with end-user games, a browser, and office-suite applications, it is NOT an embedded OS, it may be a desktop OS that provides for a great level of control over the hardware, but it is not an embedded OS.
Do not have a degree in cs, but I do have 50 hours in computing in addition to my bba degree. Developed MSWindows applications in visual basic for a major retailer where I worked five years. We do not get any hardware unless it can run an open OS, Have run linux since the 1990’s also. Started with Novell and have managed MSWin os’s through win2k3 systems. Dislike developing software for MSWindows. the code is not as portable to me as on bsd or linux. I might experiment with W10 only because of this article, but it will probably be replaced fairly quickl. Give me the freedom of open source.
“Yes, Microsoft is finally moving away from the desktop”
I can’t imagine how many times I read that line since this article went up, but it just struck me how ignorant that statement is…
If taken literally, it leads one to believe MS is abandoning the desktop – that is clearly not the case.
Giving the author a bit of room for interpretation, it implies that MS is expanding it’s offerings to include other platforms than the ‘desktop’ – that is also clearly not the case – MS sells Server OSes & applications, they have an interesting sideline in console gaming, and they have offered Windows on phones for years.
What Microsoft is doing is expanding the number of platforms that a Windows developer can develop windows applications for… It isn’t ‘moving away’ from anything.
In my view, for embedded systems, the UART isn’t all that necessary. I2C and SPI are clearly required because the Raspberry Pi can’t do any kind of ’embedded’ IO: No analog input, only a single PWM output, and so on. The interface to the real hardware (motors, rotors and dynamos) will be by way of external chips connected to either SPI or I2C.
Further, Linux is a poor choice for a real time OS. Yes, there’s a hack around somewhere but if you want uS response, you better be dealing directly with the IO. Not like Arduino because most of the Atmel based boards are too slow but more like the mbed board.
I’m going to play with IoT just to see what it does. The fact that it doesn’t have a UART doesn’t bother me at all.
Okay let me jump in as well.
I have 15 years experience as a .NET developer, and for the last 3 years vie been involved in R&D doing firmware development using pure C for ARM cortex devices, M0, M3 AND M4 (and I love it! better than .NET for obvious reasons).. This is a bold step from Microsoft however and once again!! they got it wrong again!!
Firstly, this operating system is nothing new, its a skimmed version of windows phone OS running the “failed” micro framework, which never took off the way it was intended to. they encompassing two failed products under the windows 10 marketing umbrella.
Another point is this, how does a developer that comes from a garbage “.NET collected world” write software for the internet of things? or modify windows 10 IOT “C” drivers. example lets say a typical .NET has to now mod the protocol piping data from a blue receiver, most .NET developers for years were isolated from this now? they faced with the realms of the real world, memory management, pointers ;-/ Linux guys are mutually natural to this.
seriously this is still embedded electronics where C code is running sensors, RF transceivers are communicating using some seriously optimised code, sensors with internal DSP`s to most .NET developers this is vodoo,
IOT = “energy optimisation”, “memory optimisation”, “flexibility” this is NOT a freaking enterprise.
Windows IOT does not offer this..Ubuntu mate or some Linux distro can easily perform these tasks on a PI.
Also, Windows 10 IOT is no different from a novel RTOS and offers nothing “greatly different”
Windows IOT is nice to flash leds, switch relays.. you know that kinda things, seriously MS leave IOT for the big boys.
It uses .Net Core + .Net Native, not the Micro framework.
You can write in C, C++, Asm, WETFYL if you bothered to look.
My point has absolutely nothing to do with language support.
So, when the marketing department says a Raspberry Pi will run Linux, it’s essentially true. But when the marketing department says that it will run Windows 10, it’s essentially false.
I’ll keep running Kodi, Raspian, Matebuntu, etc. on my RasPi’s.
Windows 10 supports 3 platforms:
Windows 10 (phone)
And Windows 10 (IoT).
With certain limitations, the same source code can be targeted at all three platforms, and experience with one platform quickly translates to the others.
Does the Ubuntu Phone match feature for feature Ubuntu Desktop?
As I understand it, yes it does. But I’d still rather use Android because the form factor suits it.
Really? I can host a hypervisor on an Ubuntu phone?
This article screams ignorance. RUN!
I could not agree more. I’ve played with MCU’s back before they had embedded flash, remember the 8052AH-BASIC – those were the days, a 232 chip, 74×373 and ram chip. Feel the burn. For $50, I bought a board and wifi adapter, hooked it up to a TV and a usb keyboard/mouse and cell pone charger – BAM, start to finish 1 hour, I was blinking an LED from my laptop.
For those who are accustomed to C# – and who get paid very well for it, I ask, why should I learn a different language? Sure some will say C or Mono under Linux, cool, go do that. But If I don’t have to learn something new, WOW, there it is – no learning curve and up in programming in minutes on a completely new platform? YEP, WIn 10 on a RaspBerry programming in C#, yep, gunna be around for a very long time.
Jeez, I have no clue what this guy is thinking. Run, as fast as you can. What does he want it to do replace a tablet? Connect a HDMI monitor and watch movies? All I know is that learning Linux for embedded is no small feat. I gave this a go and within minutes I wrote a C# app downloaded it and ran it. Simple a cake. Terrible article! Yes they need to support more WiFi & GPIO and other things, but HELLO???? it just released. Think outside the box .
Ok, I just ported over an android screencaster app to the raspberry pi running windows 10 iot, and it is pretty sweet. It was my first foray into all the .net45 async stuff, and that is some cool stuff. In general the debugging environment worked great, although i still cant get the emulator to open up to incoming net traffic, so i have just been debugging it on the device itself. I still think unix on these small boxes is way more powerful, just editing a file on the image to make the resolution right requires removing the sdcard and mounting it on a pc. Thats just silly. i wouldnt be surprised if there is some hacky way to make powershell fetch and deliver, but it just seems crazy that the local image is so sparse of utilities. You just have to get used to a very different style of usage. Everything is done locally and pushed out to the remote box.
As an aside, in theory the Android Bridge support (http://uwp.dev.windows.com/en-us/uwp-bridges/android/) should work on IoT Core within some constraints as the bridge targets UWP, which would be quite neat from a code reuse point of view, same for the iOS bridge.
Login using putty over ssh, you will be able to do things on the hw itself.
You can get to the files on the Win10 IoT device by doing a: [ net use x:\ \C$] can then open files with whatever editor/tool you want from your dev PC. This assumes that you have networked your Win10 IoT device.
The above should read: net use x:\ IoT device IP address\C$. this is executed from a normal command prompt on your dev PC that is networked to the IoT device.
( for some reason the comments function omitted some of my text. Perhaps the author of this article should spend some time checking & fixing functionality of the HAD site rather than posting poorly researched articles of products that are clearly not to his liking as opposed to being factual and informed)
Or open the WindowsIotWatcher app, select you Pi from the detected list, right click and select browse.
Regarding changing the resolution, connect to it via SSH or Powershell and run the SetDisplayResolution command.
Please be kind and respectful to help make the comments section excellent. (Comment Policy)