Want to understand how satellites work? Go fly a kite!
Electrical Engineer Scott Candey at UC Berkeley’s Space Science Lab (SSL) used kites in a hands-on modeling project for summer interns who were students from California community colleges. They had a tight 10-week window to learn the basics of satellite design and do a bit of research with existing data.
However, understanding satellites is difficult. No single person is likely to be in charge of the design, building, coding, launch, data collection, and data analysis. Each of these pieces can take years to complete and cost large amounts of money. The interns couldn’t create satellites. But they could build a” sort-of” satellite that could still fly.
Candey asked the nine interns to break into groups of three. They built their kite satellites using a pre-programmed Raspberry Pi microcontroller (about the size of a postage stamp), three sensors, and a battery. The sensors measured air temperature, humidity, and pressure. Their satellite’s “platform” (the area that holds the instruments) was the kite’s crossbar. Once everything was secure it was time for lift off. Kites soared.
Every group easily put a kite in the air, though Candey admitted that, in practice, his own kite was caught by a tree. SSL proved to be an ideal location for this demonstration. The lab is on a hill above the university and the students flew their kites on a nearby fire road safely away from the buildings.
“Once you got out of the muddle of air around the lab, you could stay up there forever,” Candey said. The kites were joined by hawks that float in the thermals on most days. Now the teams could hang out in the breeze and collect data. However, they still had to understand the integration process that satellite designers go through. Each time the sensors took samples, the battery dropped. How long would their battery last? If this were a real satellite and they had to conserve energy, which sensor would get priority?
When the kites came down, each group found it had successfully collected data. No one found anything surprising about Berkeley’s temperature, humidity, or atmospheric pressure, but that wasn’t really the point.
“I wanted them to see that they could do remote sensing and get data themselves,” said Candey. He added that the internship is a very intense experience, and students tend to focus on computer screens. “I also wanted them to get some time outside in the sun.”
Interpretive vs Compiled Languages
The kite satellites took measurements every half second. A normal satellite would work much faster. Why were the kite systems so slow? It’s all in the programming.
The Raspberry Pi microcontroller uses the language CircuitPython, which is an interpretive language. That is, it is easy to program, but every step is converted by an interpreter into Central Processing Unit (CPU) instructions. Most current satellites use compiled languages, such as C++ instead. These languages are harder to program, but once it is done, the code goes directly to CPU instructions.
Imagine you are visiting a non-English-speaking country. You want to give a speech and you want your hosts to understand. You have two choices. You can have an interpreter stand beside you and say each sentence after you. Or, you can have your speech translated and printed so that people can read it while you speak.
The first choice is like using an interpretive computer language. Your speech will take longer because you need to wait for the translator to catch up. However, you can change your mind at the last minute and say something different. Your hosts will still understand.
The second choice is similar to using compiled computer language. You spend more time translating your speech at the beginning. Then when you are ready, you can speak quickly.
You cannot (should not) change anything now because the translation is already done.