A closer look at the open-source technology NASA has deployed on the tiny Martian helicopter
If you've been living under a rock for the past couple of weeks and haven't heard about NASA's Mars Perseverance rover landing, it sounds like you might be just like the microbes we are searching for in the first place! It's a colossal feat to have sent a rover to our neighbor, the big Red Planet, in search of whether life has ever existed on Mars. While the majority of the high-tech toolkit aboard the Perseverance rover is proprietary to NASA, there are also on-board projects that utilize new, open source hardware and software that are equally available to everyday hackers as they are to NASA. The Ingenuity helicopter, which aims to demonstrate the first powered flight on Mars, especially utilizes open source technology.
That's pretty incredible to think about...the same components that are accessible to electronics enthusiasts to build any sort of Earthly project are also what NASA chose to test the very first extraterrestrial flight. While that says a lot about the advanced, new-age technology trusted to be deployed on Mars, it reflects even more importance about the state of freely distributed information on Earth.
Open source technology can push the boundaries of what's possible by literally testing the very first flight on another planet, but more than that, it's usable by any person on this planet to enable their own discoveries and creative pursuits. As Hackaday stated quite well, the open source technology used on Ingenuity is an awe-inspiring reflection of the "democratizing scientific research here on Earth."
Here at SparkFun, we have a special affinity towards the Ingenuity helicopter, because a piece of SparkFun will be flying with it - specifically, a laser altimeter. This means that SparkFun has officially landed on another planet.
The goal of deploying the Ingenuity helicopter on Mars is to demonstrate technologies needed for flying in the Martian atmosphere. This could enable future robotic and possibly human missions to Mars. This project requires extremely creative technology because flying in another atmosphere is a very challenging feat. Mars atmosphere is 99 percent less dense than Earth's, which makes it very difficult to achieve lift. So to be able to fly, Ingenuity has to be very light (weighing about 4 pounds), with larger blades that will spin much faster than required for Earth.
Other challenges that the tiny Martian helicopter faces includes surviving the frigid nights (-130 degrees F) by harnessing solar energy through the day and autonomously keeping warm throughout the night. Plus, since communication delays make synchronous joy-stick flight challenging, the flight controllers at NASA will need to send commands in advance, and Ingenuity will make its own decisions about how to fly to specific location and how to keep warm.
Besides the publicly available hardware that NASA used for Ingenuity, they've also made the GitHub library they built to fly the helicopter entirely public. Called F' (fprime), it is a software framework for rapid development and deployment of embedded systems and spaceflight applications. It's also been usedin CubeSats and SmallSats. They even have resources to deploy the software on a Raspberry Pi.
Once the software is deployed onto an OS, it needs to connect to a ground station, or a terrestrial radio station, in order to communicate and receive commands. For the library built for Raspberry Pi, they have built-in commands to test simple operations.
However, no matter what OS you deploy F' on (it can be developed on Linux and OS as well), they've created an entire tutorial that walks through how to develop with such an immense NASA-built software library. Developing with the F' library starts with designing unique ports for specific components, and the tutorial walks developers through generating the templates, building example components, and building/installing the full deployment.
So really, with all of the tools available to you, there's nothing stopping you from building your own Martian helicopter, right? It's pretty cool that NASA used to the same tools accessible to all of us to test the first extraterrestrial flight, and proves just how much can be done with the technology we have!
Ingenuity still has many milestones to achieve now that is has officially landed on Mars, including being deployed from Perseverance, and actually taking flight. If you'd like to check in with those milestones, check out NASA's checklist. Otherwise, dream big with your projects SparkFans, because right now, Mars is the new limit!