A while ago I helped make a light that lit up when a near Earth asteroid went past our planet. Because I built it at a 24 hour hack day, I only had a little bit of time and there was a lot of ‘crafting’ involved (read: hot glue and plastic cups). Unfortunately I never really worked it into a finished product. This was partly because I noticed how rarely an asteroid actually buzzes the Earth close enough to be interesting. It got me thinking though, what else might I want to know about, and that happens often enough to be interesting?
The Space Station
The International Space Station (ISS) is a marvel of current technology and humanity. It's a continuously inhabited orbital outpost, floating in space just over our heads. But often we forget it's there. I realized that the light I made for asteroids would work better for the space station.
This time I would make it a more polished project.
I already had the electronics from the old light, all I had to do was put it in a reasonable container. I decided to use a nice black cardboard box I had lying around. Then to have something to light up I went to the fantastic Scrap! in Portland to look for old bits of plexiglass. Armed with a nice piece of frosted plexiglass (a grand total of 10¢) and a box I got to work.
I took apart the old lamp and instead of having a ring of LEDs on a drinking cup, I glued them to the bottom edge of the plexiglass.
Then I soldered them together in parallel. The microcontroller stayed the same as last time, a Teensy 2.0. I already had a breakout board built with headers for the teensy and with transistors to act as switches. So all I had to do was wire it up and put the box together.
The hard part was figuring out when the Space station was going to be overhead. No matter what I would need the internet because the orbit of the station changes unpredictably from time to time. Luckily, rather than having to do orbital calculations myself, there is a great website out there called heavens above that has all the predictions of satellite passes already worked out. There was one problem: they don't have an API! That means a human could go read the website, but a computer doesn't really know what to make of it — it's not what we can ‘machine readable’. I wanted this to run automatically so I found some examples on the web that showed how easy it is to scrape data from the heavens above webpage. With that coded I had a python scrip that would grab the next ISS pass for Portland.
But again, wanting this to be automatic I needed something better than a script I would have to run every so often. I settled on a gnome applet that can run in the background on my panel on my desktop. For those of you who don't run linux, this is like the dock in OSX or the application bar in windows. I found plenty of examples online on how to write an app for the gnome panel, and thankfully it was pretty easy! After a couple of days of working out the details I had an app that sat on my computer and could let me know when the space station was overhead!
There is only one of me, so the usefulness of this lamp as an outreach tool for everyone is limited. So I posted all the code and hardware descriptions you should need to make one yourself! Follow along on github:
I have a circuit diagram, arduino firmware, the python applet and an install script in the repository. Plus, if your running linux and use gnome, you can use the applet even without the lamp! The icon will turn red when the ISS is overhead. Look at the readme and update the code to make it work with your location and your hardware.
And don't forget the space station isn't just for fun but is a working laboratory and scientific outpost that streams down terabytes of data about the world we live in, making it a better place for all of us.