Session

Weekend Session 6: Coordinating Successful Educational Programs

Location

Utah State University, Logan, UT

Abstract

The open-source core Flight System (cFS) Basecamp ecosystem includes several cFS-based STEM educational projects and provides the infrastructure for users to create their own. Basecamp's tool suite and app repositories function much like a smartphone's App Store model. The initial cFS Basecamp installation includes several built-in tutorials that help users learn NASA's cFS application environment and shorten their path to productivity. Online resources describe Basecamp's goal-oriented software/hardware projects. These projects are designed so students understand how to create app-based solutions to meet a particular goal. This approach evolved after years of being engaged with teaching the cFS and learning which teaching methods were most effective.

Users began by installing a lightweight Python GUI with minimal external dependencies. This approach helps avoid platform-specific issues so Basecamp can be used in classroom settings where students have diverse computing platforms. With Basecamp's GUI installed, students are ready to work on projects. A preinstalled demonstration app in conjunction with a self-guided tutorital helps users understand an app's command/telemetry interface and the cFS application runtime environment. A built-in app generation tool creates a "Hello World" app to help students take a first step into cFS app development. From there, they can work through Code-As-You-Go (CAYG) lessons that introduce topics. Each new topic is reinforced with hands-on exercises. These lessons are more suitable for instructor-led classes that can be held virtually or in person.

The next level of projects requires Basecamp's github app repositories. Using the GUI, students can select and install Basecamp cFS apps from github with only a few mouse clicks. For example, the General-Purpose Input/Output (GPIO) Demo project requires a cFS Raspberry Pi interface library and an app to control an LED connected to a Raspberry Pi through the GPIO connector. To implement this project, students first connect an LED to a Raspberry Pi, install Basecamp on the Pi, download/install the library/app, and rebuild/run the cFS. A second Basecamp instance installed on a separate computer can remotely control the Raspberry Pi. This is achieved by using Basecamp's MQTT Gateway app. This app utilizes the Internet of Things (IoT) MQTT messaging service that has freely available broker services.

Basecamp's modular approach with plug 'n play cFS apps make it an ideal platform for creating STEM educational projects. These projects will help students learn valuable hardware/software skills while using NASA's award-winning flight software that has a large user base in the aerospace community.

Share

COinS
 
Aug 6th, 11:45 AM

cFS Basecamp: A Flight Software STEM Education Ecosystem

Utah State University, Logan, UT

The open-source core Flight System (cFS) Basecamp ecosystem includes several cFS-based STEM educational projects and provides the infrastructure for users to create their own. Basecamp's tool suite and app repositories function much like a smartphone's App Store model. The initial cFS Basecamp installation includes several built-in tutorials that help users learn NASA's cFS application environment and shorten their path to productivity. Online resources describe Basecamp's goal-oriented software/hardware projects. These projects are designed so students understand how to create app-based solutions to meet a particular goal. This approach evolved after years of being engaged with teaching the cFS and learning which teaching methods were most effective.

Users began by installing a lightweight Python GUI with minimal external dependencies. This approach helps avoid platform-specific issues so Basecamp can be used in classroom settings where students have diverse computing platforms. With Basecamp's GUI installed, students are ready to work on projects. A preinstalled demonstration app in conjunction with a self-guided tutorital helps users understand an app's command/telemetry interface and the cFS application runtime environment. A built-in app generation tool creates a "Hello World" app to help students take a first step into cFS app development. From there, they can work through Code-As-You-Go (CAYG) lessons that introduce topics. Each new topic is reinforced with hands-on exercises. These lessons are more suitable for instructor-led classes that can be held virtually or in person.

The next level of projects requires Basecamp's github app repositories. Using the GUI, students can select and install Basecamp cFS apps from github with only a few mouse clicks. For example, the General-Purpose Input/Output (GPIO) Demo project requires a cFS Raspberry Pi interface library and an app to control an LED connected to a Raspberry Pi through the GPIO connector. To implement this project, students first connect an LED to a Raspberry Pi, install Basecamp on the Pi, download/install the library/app, and rebuild/run the cFS. A second Basecamp instance installed on a separate computer can remotely control the Raspberry Pi. This is achieved by using Basecamp's MQTT Gateway app. This app utilizes the Internet of Things (IoT) MQTT messaging service that has freely available broker services.

Basecamp's modular approach with plug 'n play cFS apps make it an ideal platform for creating STEM educational projects. These projects will help students learn valuable hardware/software skills while using NASA's award-winning flight software that has a large user base in the aerospace community.