ISS Overhead




Introduction: ISS Overhead

About: Lead Developer Advocate at Pebble (previously ran community at Electric Imp). I love coffee, robots, and building hardware that lives on the web!

The ISS Overhead is an ambient display that glows whenever the International Space Station is flying overhead.

It is designed to act as an occasional reminder that there are people living and working in space!

This project should take you somewhere between 2 hours to an afternoon to complete. It assumes you know how to solder, and are somewhat familiar with Electric Imp. If you haven't worked with Electric Imp before, I recommend you get a basic familiarity by working through Electric Imp's Getting Started Guide before completing this project.

Let's get started!

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

Step 1: Tools & Components


For this project, you are going to need the following components:

Total Cost: About $85 + Shipping


You are also going to need the following tools and supplies:

Step 2: Inlay the Clear ISS Insert

The first thing we're going to do is inlay the clear acrylic ISS:

  1. Pop the ISS out of the black acrylic front piece.
  2. Use a hobby knife (or other fine object) so carefully push the clear ISS out of the acrylic*
  3. Lay the clear ISS into the black front piece, and spread some glue around the edges.

* The ISS pieces are somewhat breakable, so be gentle. If you break the first one, don't worry - that's why we printed two of them!

Step 3: Place and Solder the Electronics

The next thing we're going to do is place our electronic components and solder them! Don't worry, there isn't anything too tricky in here.

DC Barrel Jack:

  1. Screw the DC barrel jack on the back piece of the enblosure
  2. Solder two red wires to the lead connected to the back piece of the DC barrel jack
  3. Solder two black wires to the other two leads, then solder those two leads together.

Placing the imp:

  1. Add a piece of double sided foam tape to the back of the April Board.
  2. Use the side panel with a slot in it to guide where the April board should be placed
  3. Remove the other side of the double sided tape, and affix the April Board.

Connect the April to the DC Barrel Jack:

  1. Solder one of the red wires to the imp's VIN pin
  2. Solder one of the black wires to the imp's GND pin

Place the NeoPixels:

Note: The NeoPixel strips have DI on one side, and DO on the other side. Make sure you follow the image for proper placement

  1. Cut off three sets of 3 NeoPixels, and attach double sided tape to the back of the strips
  2. Remove the other side of the double sided tape, and place the three strips roughly in the center of the enclosure.
    • Make sure you place the strips so that they are easy to chain (see image)

Solder the NeoPixels:

  1. Solder a wire from PIN7 (imp) to DI(top strip)
  2. Solder a wire from DO (top strip) to DI (middle strip)
  3. Solder a wire from DO (middle strip) to DI (bottom strip)
  4. Solder the extra red wire from the DC Barrel Jack to 5V (bottom strip)
  5. Solder the extra black wire from the DC Barrel Jack to GND (bottom strip)
  6. Connect the 5V and GND pins of each strip together.

See last image for what it should look like when you're done

Step 4: Code + Testing

Now that everything is wired, we need to test it:

  1. Insert the imp into the April board, and power on the device.
    • If you wired up your power supply properly, the imp should start blinking.
  2. BlinkUp the device to your current WiFi network
  3. Create a new model called "ISS Overhead"
  4. Copy and paste the Test code into the device window, then hit Build and Run.

After you hit build and run, your LEDs should start fading between random colors. If they do not, there is likely something wrong with your soldering - check all the connections and ensure you soldered it up correctly (see previous step).

Step 5: Final Assembly + Production Code

Enclosure Assembly:

  1. Glue a sheet of vellum paper to the inside of the front piece to help diffuse the LEDs' light (optional)
  2. We're going to glue all of the pieces together except the top (in case we need/want to look inside).
  3. Assemble the enclosure without glue first to figure out which parts will be touching each other
  4. Add a bit of plastic cement to all of the places where plastic will be touching (except for the top piece)
  5. Assemble the enclosure (including the top piece to ensure a good fit) and let the glue dry for 30-60 minutes

Production Code:

  1. Replace the test device code with the production device code (here)
  2. Add the production agent code (here)
  3. Click Build and Run

You device is now running the production code, but needs to be configured - this is simple, so head on over the next (and final!) step.

Step 6: Device Setup

Now that everything is built, it's time to set it up:

  1. Click on the AgentURL to go to the agent's self hosted webpage.
  2. Enter your latitude, longitude, and (optionally) altitude, then click Update Settings.

Your device should now be up to date. You can use to get an idea of when the ISS might be passing overhead.

If you ever want to test your device (or show it off to your friends), you can browse to the agent URL, and click the "Test for 30 seconds" button, which will turn on the display for 30 seconds.

Glue Contest

Participated in the
Glue Contest

Epilog Challenge VI

Participated in the
Epilog Challenge VI

Featured Author Contest: Tarun Upadhyaya

Participated in the
Featured Author Contest: Tarun Upadhyaya

Be the First to Share


    • Trash to Treasure Contest

      Trash to Treasure Contest
    • Raspberry Pi Contest 2020

      Raspberry Pi Contest 2020
    • Wearables Contest

      Wearables Contest

    9 Discussions

    FYI, I'm in the process of building this and the DC Barrel Jack on adafruit must of changed. Its now 5/16" and its too big for the whole in the laser cut plans. It also has 3 leads instead of 4.

    I'm either going to enlarge the whole or try to find a smaller jack locally.

    Awesome project, I just wanted to give everyone a heads up in case anyone else is planning on building this.

    I'll post pics when I have it all completed.


    Reply 5 years ago on Introduction

    Thanks for the find - I thought I checked the specs on the barrel jack that I listed, but obviously not.

    I'll see if I can't source what I actually used :)


    Reply 3 years ago

    Ah, I fell victim to the same thing! Bought the Adafruit jack and it won't fit through the 5/16" hole.

    Bought a pack of these:

    Now I can build 9 more ISS-Overheads, which is probably going to be necessary when my coworkers encounter mine on my desk.


    3 years ago

    it would be super cool to take this to the next level and make this work with an arduino, a servo and an arc of neo pixels. Then you could have it blink a warning and spin the arc of neo pixels around to align with the transit of the station and then sequentially light the pixels to represent the transit. From horizon to horizon based on location. Kind of like an ISS compass. Maybe i will dive into this at some point.

    Great work!!!


    5 years ago

    I want to port it to arduino, but I can't understand the code, can you explain it please ?


    Reply 5 years ago on Introduction

    Sure! So you'll notice there are two sets of code - the agent code, and the device code. Electric Imp allows you to create tiny micro servers (agents) for your device to handler processes you typically you wouldn't want to do on the device (like make and process HTTP requests).

    The flow essentially looks like this:

    Every hour, make a request to:{your... and parse the results.

    If the next pass time is over an hour away, we do nothing (pass times change a tiny bit, since they're estimates, which is why we check every hour).

    If the next pass time is < hour away, we schedule a task to run 30 seconds before the start of the pass time, and tell the device to turn on X seconds (the returned pass time from the API request).

    The device code is essentially all just a driver for NeoPixels. It handles turning the LEDs, and fading from one color to another for a specified amount of time.


    5 years ago

    Brilliant - def want to give this a go.