Raspberry Pi Accessory: Sense HAT - Review

Table of contents

RoadTest: Raspberry Pi Accessory: Sense HAT

Author: jasonwier92

Creation date:

Evaluation Type: Development Boards & Tools

Did you receive all parts the manufacturer stated would be included in the package?: True

What other parts do you consider comparable to this product?: Noting that does all of this.

What were the biggest problems encountered?: Lack of support for Node-red or NodeJS.

Detailed Review:

Introducing the Pi Sense Hat




First I want to say thank you for letting me Road Test the Pi Sense HAT.  The Pi Sense HAT is a all in one package that includes

  • Temperature sensor
  • Humidity sensor
  • Pressure sensor
  • Accelerometer, Gyroscope, and a Magnetometer sensor
  • Five input stick (like buttons)
  • 8x8 LED matrix


One has to wonder what would be the use of such a Pi hat, but I can think of a few:

  • Environmental conditions monitor
  • Compass
  • Games
  • Robot brains
  • At a glance status display


Resources I Used To Review


To get started with the Pi Sense HAT here are some good resources.  I have used most of these in my testing.



My review:


Environmental sensors:


I have found that the temperature sensor was close in value to some of my other temperature sensors that I had around it to compare.  For the most part it was right on, but I did have a few issues.  I tested it in my office where conditions are stable and I tested it in my large, south facing, window.  I would heat up fast and cool down slow after direct sun exposure.  Also some time if it did not have good ventilation, stuff piled around it, it read a bit warmer.  I think this was due to it being right over the CPU.


Humidity and barometric pressure where read, but I did not have anything dependable to test them against.  I would make readings and compare the value to other input I had and it seemed very good.


Accelerometer, Gyroscope, and a Magnetometer sensor

This was the area where I struggled the most in testing the Pi Sense HAT.  First of all calibration is needed and the document in my resources tells how to do that.  When I got started, it would drift and I was getting very frustrated.  Sitting on a flat surface and not moving, I would record the setting and then come back in an few minutes to find it several degrees changed.  Once calibrated this seemed better but was still moving.  I could picture a robot moving around to hold still.  So more research was done. Finally I re-read the documentation from the Astro Pi listed above and found what I was missing.  Turns out if you sleep or take to much time between orientation reads, the results can be skewed.  So I wrote a dedicated program to just read the orientation and it worked much better.  I had it with only a very small sleep and then report every 10 readings.  This worked great.  Before I was scrolling messages to the 8x8 LED matrix and then taking another reading, sleeping, etc and that was causing the drift.  After that it worked good.  Followed some examples and stopped making my own that were not working.


The Joy stick or 5 position button


Not sure what to say here it works and it is helpful.  Used some of the sample games.  I guess my only grip is that sometimes it is hard to use the center button and accidentally get a directional input.


8x8 LED Matrix


Yes, I saved the best for last.  I cannot get a good picture of it in action, but I love scrolling text across and drawing on the display.  I have a big, maze, M for my favorite college team and it has a blue background.  Yes, Big Blue with the Maze and Blue, Michigan!  I was hoping my son would take it and want to learn to program it, but that has not happened yet.  I really like scrolling messages, either with some fun text or environmental data that I am reporting.


What I would like to see is a smaller LED in a 16x16 matrix for a bit more fine resolution.  But the 8x8  does the job.


What I will Use It For


Here is the big thing, what will I use this for?

  • Learning:
    • I have started to learn Flask with it and have REST operations that report temperature, humidity, and pressure.
    • I have plans to make an input that will display text to the screen.  First canned message and then custom.  Being able to say how long that message should be displayed.
    • The messages would be via REST, so why not have other devices send information to the screen as needed
  • I would like to use the screen to also display status of equipment in monitoring.  So have a green dots if all is good and red dots if there are some problems.  I was thinking about integrating it with Nagios to report at a glance the status of network equipment is.
  • Button will also be used to update the information on what to do with the display
  • I have no plans at this point for the gyroscope



I think the Pi Sense HAT is a very useful tool, but I think it's main use should be teaching youth and young adults how to program. The 8x8 display gives good feed back, the example programs are fun and easy to do.  Someone could use the Python to teach REST like I am learning.  Only draw back at the time of testing is the Node and Node-Red libraries seem to not be mature, but learning in Python is very good, easy to learn, and is well documented as long as you read and pay attention to the fine points, like not waiting to long between orientation readings.


If you are interested in my code and the continued development of my REST API I will be building, check out my RoadTest's GitHub page: