Pyportal ISS Display

A pyportal based ISS display project

Public Chat
Similar projects worth following
I developed a Pyportal project which displays the position of the ISS on a map of the Earth.

I developed a learning project for the Adafruit Pyportal. This has been collecting dust on my desk since I received my Adabox.

My initial attempt was to use the Google Map API to generate a downloadable map with the ISS location as the center. This was not successful as it seems the image converter does not support generated maps.

My second attempt was to use a downloaded Mercator projection image of the Earth and display the current location of the ISS. 

I found lat-long to Mercator project code here

I look up the location of the ISS here

I found the map from here

I cribbed code from the Adafruit Pyportal code base and from here


* The lat-long to x-y conversion is not perfect. I may add a fudge factor or change my path. 


The code and source BMP file are published in my github page. It should be in the links section of this web area. 


A picture of the pyportal with a generated ISS current and 30 minute historical location.

JPEG Image - 1.83 MB - 11/11/2019 at 00:25



A screenshot of the ISS location and future/pass orbit.

Portable Network Graphics (PNG) - 626.73 kB - 11/11/2019 at 00:24


  • Updates to my ISS tracker.

    colonwq11/11/2019 at 00:32 1 comment

    I updated the github code to do the following:

    1. Display a 32x32 bitmap of the ISS at the current calculated location
    2. Display a trail of dots for the previous ISS locations. 


    The displayio.Group() structure can work like a stack. The history stack has a depth of 30. I pop off the first element when the length is 30 and then add a new one. 

    The ISS bitmap is offset 16x16 so the image is centered on the calculated X-Y instead of the top left corner. 

    My math seems to be a bit off with respect to the calculated X-Y. The history tail and the orbit from do not align. I have included a screen shot of each. I may increase the history to 90 so that a complete orbit can be visualized. Maybe the X-Y can be fudged.... or the path is wrong. 


View project log

View all instructions

Enjoy this project?



Dan Maloney wrote 11/05/2019 at 00:56 point

I've got a PyPortal sitting here doing nothing, so now I have something for it to do. Thanks!

  Are you sure? yes | no

colonwq wrote 11/05/2019 at 16:34 point

While searching for doing display related stuff, I found an adafruit learning post doing this same thing. They used the Pyportal object for display init, WiFi, url fetching and json conversion. Their display even has a tail because the displayio.Group is worked as a stack for the dots. This is a good learning experience though.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates