Windows CE On A Raspberry Pi

From all the BSDs and Linuxes to extraordinarily odd operating systems, it seems just about every OS has been ported to the Raspberry Pi. All except Windows, that is, but a few people are working on it.

This build comes to us from [ideeman] who wanted to show off his Raspi running Windows Compact Embedded. It technically works, but there are still a few problems. In his own words:

Unfortunately, as it is now, I can’t really control it through anything else than via the kernel transport layer (through serial, directly to visual studio, and I still get lots of checksum errors, must me from the cheapo USB<==>TTL 3.3V adapter I’m using). The original developer (dboling) is still struggling with native USB drivers, but as you can see, he already got a (unaccelerated) running display driver.

If you’re interested, I can send you the compiled kernel image, but I don’t think you’ll do really much without the serial debugging provided through Visual Studio 2008 (+Platform builder 7.0)… I’m not sure it can be legally released to the public though.

While running Windows Compact Embedded isn’t as cool as running Windows RT on a Raspi, the latter will never happen. Windows RT requires 1 GB of RAM and a 1 GHz ARM v7 processor, neither of which the Pi has. Still, it’s a very impressive hack and with a few more devs on board, [dboling] and [ideeman] might end up with a truly functional system.

Below are pics of [ideeman]’s Raspi running WinCE. For [ideeman], feel free to link to a torrent in the comments.

55 thoughts on “Windows CE On A Raspberry Pi

    1. No. “Normal” windows uses the NT kernel as does windows server, windows RT (which is essentially windows 8 anwyay) and Windows Phone 7, rumoured the Xbox One is likely using NT also.
      Windows CE is a real time kernel with no relation to the NT kernel beyond name, it powered Windows mobile, windows phone 7, rumored to be under the hood of the 360, powered zune, point of sale terminals, ATM’s, car entertainment systems etc etc.
      Its actually CE vs NT that is to blame for windows phone 7 being incapable of updating to windows phone 8. Seeming as the kernel is changed and the kernel is the core of the operating system, you would have to reflash the entire phones software.

  1. In essence no you can’t run normal windows programs, but what do you classify as a normal windows programs?

    You will be able to run .net programs, but you have to use the compact framework (be prepared to do a lot of Pinvoke wrapping…), rather than the normal full fat version. Create a cab file, drop it on the device and jobs a good’s.

    The Kernel on CE is different from your normal WINNT and Windows RT environment, so while a lot of the concepts are the same or similar, you will need to compile and write an applications specifically for the Windows CE environment and again you’ll find a lot of the libraries you are used to are extensively slimmed down.

  2. ” It technically works, but there are still a few problems. ”

    No that means that they have it 100% ported. Windows CE on all platforms has “a few problems” I am so glad I don’t have to write software for that horrid platform anymore.

    Kudos to them for porting, but it will not be used by anyone, it’s bad to write software for, it’s bad to use, it’s a big ball of horrible wrapped up in a bow.

    1. While the moderators taking an active interest in cleaning up the comments section of Hack-A-Day isn’t as cool as edgy fucksticks like you shit-and-running the comments in order to whine impotently about the HaD editors and nit-pick the articles worse than a herd of apes, the latter will never happen.

      But man, I really wish it would.

        1. Inspect element of the offending user’s screenname and then add to adblock. Works great here except for the alts ;) Keeps me from reading the comments from a fat 17 year old named alex that has no reading comprehension and still puffs his little bird chest and shouts the dumbest things. May help others enjoy HaD more also.

      1. Lack of WPF makes me a little sad. I have a friend who is a windows developer and she showed me a bunch of really snazzy WPF stuff, and although I use Windows quite a bit, I’m just not ready to lock myself into the platform. :|

  3. This is cool on a number of levels. While Linux rules the roost on lots of consumer-grade embedded kit, Windows CE is *EVERYWHERE* in industry, and I mean everywhere. If they manage to get this working to the point that it becomes useful (though I doubt there’ll ever be accelerated graphics) then that could open the Pi up to a whole new market. Windows CE boards are expensive, especially when you consider that the license fee is only about 6 bucks.

    I’ve ported CE to a few things before, and while MS have tried to make it fairly painless, it’s still a hell of a lot of work. Hats off to the guys responsible.

  4. @v00

    Wrong, depends on *which* industry. ATM industry, yes but not for long. Windows CE is being ditched out.
    Now in Router/TV/NAS/Toaster/uC/FPGA/CellPhone… industries? That’s 99.999% of Linux my friend.

    (sounds like you have been living under a rock or something)

    1. By industry, I mean *industry*. Industrial ontrol systems, process control and monitoring just to name a few. Consumer markets (which covers everything you mentioned, give or take) are always going to be Linux/Homebrew because what matters most there is getting the price down as low as possible.

      (there’s no need to be a dickhead to make your point)

  5. Well I like it alot since many of the navigation devices like tomtoms and garmins are running windows ce and therefor their software should be compatible. We could see IGo on a Raspberry Pi since Android is not going to happen.

    1. Sure tomtoms are on linux, procured one through family with a dead gps reciecer, distinctly remember trying to get root, was a while ago right enough. That said my snap-on modus diagnistic machine runs CE

        1. Most of them do, especially the lower-end stuff. TomTom moved to Linux from CE a few years back, but a fair few of the manufacturers stayed. It meant that they could just re-skin an already available navigation engine and get the products to market very quickly.

      1. Microsoft give you most of the image in binary form, and the porter just writes the abstraction layer for the platform in question. It’s much like writing drivers for desktop Windows, all you have to do is write your driver to be able to plug in to Microsoft’s pre-defined interfaces. This does mean that you’re stuck to architectures that MS have compiled CE for, though, but that’s a fairly wide field these days.

  6. I am wondering why Windows CE has a link on their website listed as “Customer Success Stories?” I would think that if a product really did a good job you wouldn’t need to advertise it, the word would spread on its own. Having to put a link up to prop it up seems a little desperate.

    I do realize that this could and most likely be a user issue, user issues would happen if it was more popular.

  7. Its not a big deal on x86 versions of Windows to bypass the CPU and memory requirements when installing. It could probably be done with RT as well. Obviously, it may not perform as well, but just because Windows demands a certain amount of memory and CPU speed to install, doesn’t necessarily mean it requires it to run.

    1. It’s not about CPU speed here, RT is compiled for ARMv7, which the Pi doesn’t support. Full stop. It’s like trying to run a 64 bit OS on a PC that only supports 32 bit software. It just won’t work.

    1. What a pity that FOSS is so weak, jealous and controlling that the mere possibility of the freedom to run any OS, including Windows CE, on an open board threatens FOSS and makes its zealots go mad with rage.

  8. Why? What makes people put a proprietary S.O. in a Raspberry Pi!!!
    People should go back to Richard Stallman speches and REALLY understand why Free Software and Open Source philosophy started, and what is the philosphy about!! That was a real dumb thing to do. Really walking backwards pointing towards the wrong path, a throwback to freedom and the incentive to technology development!! By doing that you are holding people back… absoultely DISLIKED and DISAPPROVED!!

    1. LOL. FOSS fascists and zealots are just like the Christian zealots that “kill in the name of Jesus”.
      You really need to learn what the free software and open source is. You also need to understand what an “open platform means”. You seem to be unable to grasp what “open” means. Open platform means that you are free to build one yourself, modify it or run any software that you’re able to get running. Any. Linux, Windows, FreeBSD. Any.

      Freedom is NOT about fascism, racism, sexism, inequality and exclusionism. It’s the opposite.
      By rejecting the idea of installing a closed-source software on an open platform, you’ve just tarnished this “open platform”. It’s not open if you cannot do what you want with it.

  9. Some of you seem very stupid here… only bashing against WinCE without any background knowledge.
    I don’t know what should be wrong with Windows CE. It comes with a full stack of services (i.e. HTTP Server, MSMQ and much more). It’s really really easy to develop software with the .NET Compact Framework. With WEC2013 you can even develop XAML (WPF) apps like on Windows Phone 8.
    I would suggest the Linux kiddies to go to their playground and hacking the command line…

  10. Hello guys I’ve a little problem when I build WinCE 7. VS2008 says Error: Could not find file ‘C:\WINCE700\OSDesigns\WinCE7\WinCE7\RelDir\raspi2_ARMV6_Release\oal.exe’ on disk {log=”C:\WINCE700\build.log(76306)”}
    Since 2 weeks I search the solution but I didn’t find it.
    Can you explain me ?

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.