Get the Raspberry Pi’s “Sense HAT” working on Windows IoT

This project was about to make the Raspberry PiSense HAT” working on the Windows IoT platform.

I had some initial help from Graham Chow who’ve done a great job to get the LEDs and joystick up and running.

Then I contacted Richard Barnett who is the father of the RTIMULib used by the official Sense HAT installation. This library was written in C++ and managed the sensor readings. Richard “got onboard” and did the raw porting of his library (so far the senors used by the Sense HAT) into C#.

I did some refactoring of the library and have included the display and keyboard drivers into a complete C# project solution which you will find here (including the full source code). There is also a NuGet package to download for Visual Studio 2015 called Emmellsoft.IoT.RPi.SenseHat.

The solution contains a demo project that shows some of what you can do with the Sense HAT.

Here’s a video showing some of the demos:

(Note: It’s really difficult to take pictures or film the Sense HAT due to the relatively slow update of the LED displays. I had to use a really old camera with lousy frame rate to get an acceptable picture; otherwise the display would be blinking and flickering. Our eyes are luckily “bad enough” to find the LED update frequency acceptable.)

Update: Now there is support for sprites. Thanks Johan Vinet for your tiny Mario! Video below:


Author: Mattias

Senior .NET software consultant.

7 thoughts on “Get the Raspberry Pi’s “Sense HAT” working on Windows IoT”

  1. Hi Mattias, Thank you for making these classes to easily handle the SenseHat with Windows 10 IoT. I am currently looking into making the RPi3 & Sense Hat combo part of a Visual Basic programming class. What, judging from your long experience, would be easier (i.e. faster): turning your classes into a library, that could be used for any .NET language, or starting from scratch as you did?

    1. Hi Nils! It was my very intention to make the code as a library, and I have already published it as a NuGet package.
      I have never created anything in Visual Basic, but isn’t it possible to reference a .NET NuGet package into a VB project? Or must the package be created (or the code written) in a certain way? Anyway, the package is called RPi.SenseHat.

  2. Hello Mattias!
    I’ve found your project and noticed it aims Windows IoT OS. I’ve found a fork of your project that already supports dotnet core, but it required some changes and something might not work (I’m still trying to understand how to use your library). Would you have any interest of “resurrecting” this project and help me put it into work on dotnet core and create nuget package? I thought it would be worth for your initial project to also support dotnet core (since I saw that at least one person asked)

      1. Awesome! The guy that ported it doesn’t have the senseHat anymore so he won’t be able to help that much. He made me collaborator. He had to change some things on the RaspberryIO and wiringPi (something related to I2C).
        I’ll keep digging whenever I have free time. I wanted to create an issue on the forked repo so that we could discuss things but seems it’s not possible. Shall it be created on your repo?

Leave a Reply

Your email address will not be published. Required fields are marked *