Подобное решение обусловлено тем, что для управления летающим дроном требуется значительно больше вычислительной мощности, чем для управления марсоходом, который оснащён специально изготовленными чипами с дополнительной защитой от радиации. Типовой процессор Snapdragon 801 был использован из-за наличия достаточной мощности для анализа состояния атмосферы при полёте с частотой 500 измерений в секунду и анализа изображений с частотой 30 кадров в секунду.
В дроне также задействован лазерный высотомер от компании SparkFun Electronics, занимающейся производством открытого аппаратного обеспечения и являющейся одним из создателей определения открытого аппаратного обеспечения (OSHW, Open-source hardware). Из других типовых компонентов отмечаются используемые в смартфонах гиростабилизатор (IMU) и видеокамеры. Одна VGA-камера задействована для отслеживания местоположения, направления и скорости через покадровое сравнение. Вторая 13-мегапиксельная цветная камера применена для создания снимков местности.
Программная начинка Ingenuity основана на ядре Linux и открытом полётном ПО. Отмечается, что это первое использование Linux в аппаратах, отправленных на Марс. Более того, использование открытого ПО и доступных в широкой продаже аппаратных элементов даёт возможность заинтересованным энтузиастам собирать аналогичные дроны самостоятельно.
Управляющие полётом программные компоненты разработаны в лаборатории NASA JPL (Jet Propulsion Laboratory) для малых и сверхмалых искусственных спутников Земли (кубсатов) и уже несколько лет развиваются в составе открытой платформы F Prime (F´), распространяемой под лицензией Apache 2.0.
F Prime предоставляет средства для быстрой разработки систем управления полётом и сопутствующих встраиваемых приложений. Полётное ПО разделено на отдельные компоненты с хорошо определёнными программными интерфейсами. Помимо специализированных компонентов предлагается С++ фреймворк с реализацией таких возможностей, как обработка очередей сообщений и организация многопоточности, а также инструменты для моделирования, позволяющие связывать компоненты и автоматически генерировать код.

Источник: http://www.opennet.ru/opennews/art.shtml?num=54623