This article is a bit different from my usual articles, but I really wanted to write about my experience with Windows IoT.
First, you need to know why and how I wanted to use it though.
I’m working on a personal project and that project involves DeepBot, a Twitch streamer assistant. It’s a very cool bot for Twitch that has many features, like chat commands, audio commands, song requests, subscribers management, loyalty points system, internal API, and many more.
I wanted to integrate DeepBot with a WordPress website using WooCommerce to manage subscribers automatically from the site to the rest of the programs involved in the system.
It has one “feature” that I really hate though…
It only works on Windows!
This limits the program already, for a couple of reason:
1 – If I want to use it, pay for it, and stream video games on Linux, I can’t.
2 – If I’m a developer and want to develop something for it, I can’t, unless I’m on Windows too.
3 – If I want to install it on a server online I can’t, unless I have a Windows server.
I don’t have a Windows PC, so I could not use it at all, not even for testing it. That’s a problem, but I thought I found a solution.
Why don’t put it on a Raspberry Pi? It would be very cheap, it costs about 80 € and it only needs 2W to work. I did a quick search online to find that Microsoft developed a version of Windows for Raspberry Pi, Windows IoT.
No, I won’t link to their site. Go Google it if you want.
I purchased the Raspberry Pi 3 model B. It arrived after a couple of days, I was so excited! Also because I wanted to get a Raspberry from a long time, just to play with it and see what it can do.
And then started the odyssey with Windows IoT, and my hate for it increased every day more.
Download Windows IoT
The main problem, you would guess, is that it does not run properly, it does not boot or something, but no. The main problem is downloading the OS! There are two versions of Windows IoT. One for Raspberry Pi 2, easy to install and included in the NOOBS SD card that you get with the Raspberry, the other is a preview version only available for download on Microsoft Developers’ site.
So, I connected the Raspberry, booted it, and the system from the SD cards asked me what OS to install. I chose Windows IoT and it brought me to a page to log in to Microsoft’s site to download Windows IoT. I logged in by using my GMail account connected to Microsoft and it asks me to register to the Insider program, because Windows IoT for Raspberry Pi 3 is only available to Insiders.
Now, when you click on sign-up, it brings you to a page that says that you are registered to the program. Ok fine, I click on Download Page to download the OS. BOOM! It asks me to register as an Insider again. I do it again, click on the Download Page button, and it asks me to register again, and again, and again… and again!
After 6 hours of trying to download this OS, search in the community forum, where you can find many other users reporting the same problem, searching on Google, trying the weirdest things to download it, even Torrent, I gave up.
I called the Microsoft support, I explain the problem to the support technician, and he had no idea what I was talking about. He was like “Windows I-what?”. In the end, he sends me to the technical support. They answer, I explain again my problem, and they are again like “Windows I-what?”… Ok, no panic, stay calm… The technician says in the end, after understanding what I was talking about, that it was the wrong technical support number, but the correct one does not have a phone number, I can only contact them via email. So she puts me on-hold to search for the email address to contact. After about 15 minutes she comes back saying that they learned on that day that the technical support does not have an email anymore, they use ticketing now and I can open a ticket from the Developers’ support page.
Ok, nice, let’s do it!
I go to this page, compile the form, hit Submit. Unable to submit your request. Internal Server Error 500.
At this point I was totally lost and frustrated. I was not able to download the OS, I was not able to find anything on the Internet but other people with the same issue and no solution, no phone support, no email support, nothing.
I decided to wait one more day to calm down and try again the next day. And so I did.
The next day arrived, I went to work, and when I was done in the evening, I started searching again. I thought to try to register a new Hotmail account (seriously? People still use it?) and do the process to register to the Insider program with that.
I did that and the site asked me to register to the program, I click yes, I registered a Hotmail account, and clicked on the Download Page button and, one more time, it asks me to sign-up for the Insider program.
I noticed a GET parameter in the page URL. I deleted it and refreshed the page, and I was finally able to see the download form!
I tried this even before, when I was connected with my GMail account, but for some reason it was not working. Maybe they wanted you to connect with one of their accounts or with a brand new one, I have no idea and I don’t really care.
Using Windows IoT
Anyway, I finally downloaded Windows IoT. I downloaded both the available builds, you never know if you can get that page again. I flash the most recent in the new Samsung SD (because Windows IoT only works on SanDisk and Samsung SDs, the one that comes with the Raspberry itself does not work) and put it in the Raspberry, turn it on and, magic, it booths and loads Windows!
The sad truth that I learned a couple of minutes after the initial excitement is that you can do nothing, I repeat, NOTHING, else than run Windows apps on that system. Even the command line, you can’t use it directly from the Raspberry because you are not administrator, you can only connect via SSH with a serious OS and run commands as an admin from there.
But anything you want to do is not possible. I tried to install DeepBot on it, it didn’t run saying that the OS I was on was not compatible.
I learned that it only can be used by Windows apps developers to test/run their apps. Nothing else.
In the end, I spent more than 100 € for the Raspberry and the SDs, 4 days to get everything running, and empty hands.
I definitely do not suggest you to use Windows IoT if you are wondering to. Use something better, like the good old Linux. You can install many version on the Raspberry, but the suggested one is named Raspbian, a Debian distro for Raspberry Pi.
Thanks Windows and Microsoft for being useless and painful, as usual.