Coding from the classroom to the Space Station
Most kids have a fascination with computers and space, but very few have the opportunity to explore both. So in September 2015 when Danny Kim of Quest Institute met with JD Marymee of Microsoft for a routine visit, a great idea was about to be created. Danny discussed the work Quest was doing with putting over 74 experiments on the International Space Station (ISS) over Quest’s 5-year history. This was done in collaboration with NanoRacks (https://nanoracks.com/) and NASA. In short, Quest designed/built a general purpose microcontroller platform and then mentored student teams to design experiments and circuit boards that connected to the Quest platform. The end result was a mini-lab that supported up to 4 experiments that would be launched on a rocket to the ISS through a collaboration with NanoRacks.
Quest however had issues with expanding the program. The current platform and process was very complex which meant the number of student projects they could support was limited to about 10-20 projects a year. With the ability to support so few projects at a time it severely limited how many students could participate. Danny wanted to expand the program to reach 200-300 projects per year.
The microcontroller platform that was used is very low level and required low-level programming. The language was a restrictive variant of BASIC (P-Basic) and the circuit board design per student experiment was always done from scratch. Additionally, the NanoRack lab on the ISS (where the Quest labs resided) were power constrained to approximately 500 milliamps (this is fewer amperes than it takes to light a 100-watt light bulb in the United States).
To significantly expand Quest’s reach to more students and schools, they needed a new approach and platform. And that’s when Quest engaged Microsoft.
Unique Challenges of Computing in Space
Computers are generally reliable. Day to day, we think nothing of restarting a computer should an issue arise. In space, there is no availability of an astronaut to reboot an experiment platform. Should the platform stop responding the set of experiments that Quest Students sent to the ISS would most likely be a lost cause. Previous efforts to put similar experiments on the ISS using a Raspberry Pi worked since an astronaut took personal care of the board/device and could restart it as required. Quest had no such luxury. Once the astronaut has received the Quest mini-lab from a supply rocket, it is inserted into the Nanoracks NanoLab and then left alone. At most, an astronaut will download files from experiments in the Nanolab and copy them to a Windows 7 laptop on the ISS for download to earth via a K-band satellite Internet connection.
Additionally, there is a real possibility that the ISS crew *may* power down the Nanolab during its mission cycle. Running code may have a runtime error. And last but not least there is a very REAL possibility that radiation can corrupt/damage on board memory. Thus the revised Quest platform had to be resilient, flexible and somewhat impervious to harsh environments.
A collaboration between Quest and Microsoft kicked off the initial effort in late September 2015. The outcome was a new software platform that offered a much-simplified development environment/SDK, a Minnowboard Max compute platform and a custom (and soon to be open sourced) shield that mates to the Minnowboard Max. The shields primary role is watch over the running master control program and student experiments on the Minnowboard Max. It does this several ways; it watches a heartbeat emitted by the master control program and also monitors temperature, power and humidity to ensure proper execution of the student experiments and the platform in general.
The advent of cheaper and widely available IoT bits (such as Raspberry Pis, cameras and maker items) opens the way for an explosion of new ways to discover the world. As a somewhat unified effort to encourage STEM in young students, the industry needs inspiring opportunities and platforms that allow students to get the heart of a project and minimizing the difficulty to execute. This is one area where the Quest and Microsoft collaboration really paid off. Additionally, there are more and more opportunities to deploy off the shelf and/or maker platforms into harsh environments whether they be data collection in the desert, deep sea exploration or high-radiation environments in low earth orbit (like the ISS). For example, we recently discovered other projects in the UK (The Space Catapult Project) attempting to launch small satellites into geosynchronous earth orbit. Collaborating with Quest let us engage the creativity, imagination and passion of young students while helping us learn how to make such projects a reality.
Based on the new platform, a student team of 8th graders from Valley Christian Schools mentored by Quest created an experiment to answer questions about the use of electromagnets in space; how might an astronaut use electromagnets to keep tools on a tool belt? Or – how can electromagnets be fired in a coordinated fashion to move metal objects in space for construction projects? Eliminating a dangerous EVA (Extra-Vehicular Activity) or need for a mechanical arm to move metal construction items makes sense for future ISS efforts or other missions to the moon or mars. This experiment uses the new platform to host the experiment and Windows IoT to monitor, manage and run it from Earth.
That experiment will execute on the May 31st launch. It will stay on the space station between 30 days and 6 months. At the end of its mission it will come down with astronauts literally under the seat of an astronaut. Once back on earth it will be returned to Quest and the student team in order to digest the results.
It has been amazing to partner with students and to see their creativity in action. As a result of their work we will now have the first Windows 10 IoT system in space.