This post is to document a weird error for posterity. But first, some background:
We’ve been working for a while on a device that uses the Raspberry Pi 2 running Windows 10. It’s neat! If you want more information about how to install Windows 10 on a Raspberry Pi 2 or 3, go here:
Basically, the steps are:
- Get Pi
- Get an SD Card for the Pi
- Download and install Windows 10 on that SD Card
- Slip that card into the Pi and boot
- Connect your board to a network (I used wired at first, but a wireless gadget can work too)
- Deploy code to the board
The first few steps of getting Windows up and running are really straightforward!
But: I encountered a problem sometimes. Folks told me it’s worth it to write this entry in case other people run into that same problem.
Windows 10 worked great for me when my Pi was plugged into the wall. However, I’m creating a device that I want to be portable, so I’m powering the Pi, and the Pi’s tiny screen, with these portable power supplies that run on AA batteries. They work great! Mostly!
However, the battery drain on the device from running an entire computer and a small monitor was more than I initially imagined. And batteries don’t die evenly. When the battery power is low, but not entirely dead, the Pi might give the impression that it’s working even if it doesn’t actually have enough juice to work. When that happens, it will start dropping off the network, not allow you to push code, and then, finally, it will lose Windows.
When that happens, you might get the dreaded Frowny Face error.
This error is very mysterious. A frowny face definitely tells you something is wrong, but it really doesn’t help you understand what.
I did find the frowny face hilarious though. My Pi is currently in a 3D printed case that has a small window, so the frowny face made it look just like Game Boy from the Captain N cartoon…
Sorry, I’m showing my age. I think this is also a character on Adventure Time?
It’s the same character, people; it’s amazing! Only mine was, as I mentioned, frowning.
Anyway, I discovered that the problem, essentially, was that the Pi had some power, but not enough power. When it didn’t have enough juice, it wasn’t able to boot up Windows 10 after all. All it could do about this was be sad! The problem was fixed when I simply replaced the batteries in my portable power supply. I rebooted Windows, and I was able to push code again. But since it seemed like it was sort of working, I’m ashamed to admit it took me quite a while to figure out that the problem was the power supply, rather than Windows or the SD card. This is especially true because it doesn’t all fail at once. First pushing code stops working, then Windows stops working, as the power gets lower and lower. So if you do get the frowny face, don’t despair! Try getting more power and the Pi will work again.