Updated Software

There have been many incremental changes to the S4 software, and I’ve finally had some time to organize them into a package that’s ready to be distributed to teachers and students. The following steps should get you up and running with the latest version of our software.

Step 0 – Backup Existing Software
If you have any software you have modified or written yourself, you may want to back up your existing software to an external drive, a USB drive, or some other location just in case you need it later. If not, you can skip that step.

Step 1 – Remove Exiting Arduino Installation
If you have Arduino installed, you can remove it by selecting
Start → Control Panel → Programs and Features
Right click Arduino from the list and select “uninstall”

If you downloaded an Adruino folder from the S4 website and are running Arduino straight from that folder, you may wish to delete it to avoid confusion later on.

Step 2 – Install Arduino 1.6.1
Download the latest version of the Arduino IDE from the Arduino website: http://arduino.cc/en/main/software and run the installer after it download by double-clicking it. You will be prompted to install the latest version of the USB drivers, which you should also do.

Step 3 – Download and copy over Library File
Next we will copy in the low level C/C++ code that the payload code rely on. First, download the libraries. Next move the downloaded zip file into the Arduino folder, which should be located at
C → Program Files (x86) → Arduino
Extract the downloaded zip file and allow it to replace the existing libraries folder

Step 4 – Download and copy over the Sketchbook

Finally, we will get the high level Arduino code that the payload executes. First, download the Sketchbook and extract the file into your My Documents folder. Then, open the Arduino program and select File → Preferences. The top item on the page is your sketchbook location, where you should select the location for the folder you just downloaded and extracted using the Broswe button, for instance C:\Users\Kevin\Documents\Sketchbook

You are now ready to run the most version of the Arudino code.

What’s Changed?

  • We’ve cleaned up some old code files that didn’t need to be included
  • We’ve changed the WiFi to use UDP protocol instead of TCP.
  • We’ve updated the WiFly software to work with the latest version of the firmware
  • We’ve changed the way we store WiFi network parameters to leave more room for the data your payloads will collect.

3D Printed S4 Printer Case

To support flying the S4 payload in an Arliss-K payload bay, we designed a 3D printed container that the payload, it’s battery, and the antenna all mount into the make loading the payload into a rocket without rails inside the launch bay quick and easy. It was designed to fit in a contained with inner radius of 2.87″ and a length of 10.” It can be fit inside a larger diameter rocket by wrapping it with a little fabric to increase the radius. Designs are included at the bottom of you want to modify them or just print off your own.PayloadCaseBottom PayloadCaseTop


Updated S4 Software on Windows

A new version of the S4 software package for windows can be found here: ftp://galaxy.sonoma.edu/pub/S4_Windows.zip

Mac and Linux versions should follow as time allows.


The most important feature of this update is that it now supports the newer version of the WiFly chip (RN-131C/RM). If you were using this chip, you must use the new version of the software. This latest package also includes the very latest version of the Arduino environment (1.5.7). Finally, this version has a streamlined process for entering network parameters. New Network Parameters Instructions: Previously, network parameters had to be entered in two places, in the WiFly_Setup sketch and in the All_Sensors sketch. Now, both those sketches draw from a common file called NetworkParameters.cpp. You can get to this file by double-clicking the shortcut in the Arduino folder. Change the various network properties in this file as needed before running either of your sketches.

S4 Small Satellites: Lucerne Valley

At another S4 Small Satellites event held in the Lucerne Valley dry lakebed, students and team members prepared for yet another rocket launch. This time three students were responsible for a single payload while a total of eight flight boards were being prepared to launch. The goal of this launch was to successfully interact with the GPS sensor attached to the payload. While other sensors could have been interfaced as well, the goal was to successfully get data from the GPS sensor first.

The final task at hand for a successful rocket launch was assembling a high powered rocket. The students were also responsible for this, learning hands-on how to properly assemble a high powered rocket to withstand its current environment conditions.

At the end of a successful rocket launch the students were able to gain key skills useful for a science future. They learned to successfully communicate and work with team members, how to interface their first sensor with a micro-controller, as well as the proper way to assemble critical rocket parts.

Please take a look at the report below for a more detailed description and image(s):



Small Satellites for Secondary Students: Piner High School

Please find all files, data and images below from the S4 Small Satellites for Secondary Students event held at Piner High School in Santa Rosa, California


Included file link(s):


Color Coding Script

Sam Koshy was ambitious enough to write a Python script that will colorize the points in a KML file with respect to altitude as shown here: If you’re interested in having your data color coded like this, you can follow these simple steps:Screen Shot 2014-07-11 at 9.27.54 PM

  1. Download and unzip the python script that Sam wrote: http://s4.sonoma.edu/wp-content/uploads/2014/07/Colorpy.zip
  2. Use the S4 Data Manager to export your desired data set to a KML file as normal
  3. Make sure that the python script (Colorpy.py that you extracted in step 1) and the file you want to edit are located in the same folder on your computer.
  4. Open the Colorpy.py in any text editor
  5. Locate the line in the file that reads xmldoc = minidom.parse(“MoffettLaunch.kml”)and change the text inside the quotation marks to match the file you want to colorize: xmldoc = minidom.parse(“MyFileName.kml”) Save the file
  6. Execute the python script, and it will create a new file called “fileout.kml” that has the colorized data set.

Executing a python file requires you to have python installed. You should have no trouble finding a tutorial on running a python script on your particular operating system if you Google it, but if there is sufficient interest in this process, I will be happy to write a quick tutorial.

Small Satellites for Secondary Students

At yet another successful teacher training event held in Chico, we were able to assist young ladies in putting together their own payloads for take off. The payloads each had a micro-controller as well as a unique sensor used for measuring and sending data from above. Please find all details, files, and images from this event below.

Small Satellites for Secondary Students


Michelle Rodriguez and Salam Ali

Chico, Ca



We split the girls up into middle school and High School teams; each with 3 to 4 girls per team. Originally, the middle school teams were supposed to go to BalloonFest to collect their data by balloons, but we had an issue with insurance and parent apprehension about driving that far (5 hours). Therefore, both the middle and high school teams collected data by the M3 rockets.


All Participants

Participant Name Grade
Marissa Armstrong 7th
Rhiannon Besser 9th
Amanda Bestor 6th
Harley Blunkall 11th
Sara Brogden 7th
Natalie Canida 7th
Tarra Crowley 8th
Keris Friedrichs 7th
Alyssa May 6th
Iris Miller 11th
Laryssa Olson 9th
Tatiana Solis 8th
Lily Wright 11th


Payload Details

We built four payloads, each containing all the essential and basic parts. Then, each payload had a sensor. We had the following sensors: Accelerometer, Humidity, Barometer and magnetometer. All the payloads worked perfectly and logged data except one; the magnetometer sensor was faulty. We flew 3 of the 4 payloads by rockets. Unfortunately, the rocket’s parachute tore the rocket apart and it became too damaged beyond repair. The good news is that we were able to collect data for all the payloads that got launched.

(Click photo to enlarge)


Payload Data Collection and Presentations

We were able to collect data for the Accelerometer, Barometer and Humidity sensor. The presentations are attached to the email.


Analyzing data received from the payload 


Overall Experience

Soldering session

In the overall experience expressed by the participants, they all enjoyed it. The thing they enjoyed most was learning the various capabilities of the sensors and learning how to solder. In addition, they expressed how interested they were in pursuing a career in a STEM career. We also had some of the parents express gratitude and said that they were surprised that a project like this was happening in such a small town. They said that they would love to see this program continue and to encourage young women that they can achieve a degree.




Link(s) to included file(s):


Low Powered S4 Launch at Moffett Field


Our rocket sitting on the pad waiting to launch (far left)


Time (seconds) vs Altitude (meters)


3D view of flight profile

Saturday 1/18/14 marked the first time the S4 payload had been flown on an ‘over the counter’ model rocket motor. The launch was attended by myself (Kevin John) and Ken Biba. We flew a couple of different airframes, including a lighter, off the shelf airframe flying on an F-40, and a larger custom made airframe flying on a G-80. The included data is from the G-80 flight, which reached a maximum height of about 807 ft. Had it come off the rail a bit straighter, it would have made it to about 880 ft.

This also marked our first test of our new communication protocols which replace TCP communication for UDP communication. If that doesn’t make sense to you, don’t worry, what it means to you is that we no longer have to worry about our payloads loosing connection and stopping data collection. It’s a big improvement to data efficiency and speed as well.

We’ll be getting in touch with our teachers on how they can get their hands on one of these new low powered rockets soon, as soon as we get our Spring shipments of payloads lined up.

Small Satellites for Secondary Students – Teacher Training, July 8th – 13th

In partnership with AeroPac and the Endeavour Institute, the Education and Public Outreach group at Sonoma State University (E/PO) has just finished a week-long training at NASA Dryden’s Aero Institute. Fourteen middle and high school teachers and four Girl Scout leaders learned how to solder, build, test and program small experimental payloads that can be launched on high-power rockets (HPRs) or flown on tethered weather balloons. This program, “Small Satellites for Secondary Students” or “S4”, fills an important “missing link” in NASA’s educational pipeline between Team America Rocketry Challenge (TARC) and sounding rocket flights that are usually conducted by graduate students at research universities. The S4 program has created an educator’s guide and associated videos, as well as a hardware platform that can easily be used by secondary students to create their own experiments. Training week concluded on July 13 with the launch of the teachers’ payloads at the Lucerne dry lake bed, with help from the Rocketry Organization of California. We flew 19 payloads, receiving live WiFi 802.11g telemetry from most of them, with additional data backup on SD cards within the payload.

SSU undergraduate student Kevin Zack and Santa Rosa Junior College student Aaron Pacheco were primarily responsible for the design and manufacture of the S4 board, which has been commercially produced by Advanced Circuits.

The core of the training took place at Aero Institute’s offices in Palmdale, CA. Which, in early July, often saw 100+ degree F days.


The first two days were spent learning the basics of electronics and soldering which were then put to use in constructing the flight board.

flight board construction

flight board construction

Once the flight board was finished the educators were introduced to programming in Arduino’s Processing language. They were then able to upload the programs to the payload after which they installed the sensors onto the flight board and finalized the payload.

Beth Hill's finished payload

Beth Hill’s finished payload

On Thursday the educators took their payloads out to a local high school’s fields. They readied their payloads for tethered helium balloon flights, three-to-a-gondola, as dark storm clouds were approaching. Once a helium balloon was filled and tethered the winds really kicked up and and it began to rain.

With the weather too chaotic to fly helium balloons, the educators took their payloads around the high school on foot in order to get data.

Sam Koshy collecting data manually

Sam Koshy collecting data manually

The educators then proceeded to reduce their data and give presentations on it on Thursday and Friday.

On Saturday the training was shifted to the Lucerne dry lake bed about 70 miles east of Palmdale. There, the payloads were flown on 3 and 4 inch diameter rockets to altitudes as high as 4500 feet with on-site routers taking live data of each launch.

Donald Repucci rocket retrieval

Donald Repucci’s rocket retrieval

During the 2013-2014 academic year, the pilot teachers will help their students build their own experiments. Once completed, the payloads will be flown by partners including: California’s AeroPac prefecture of the Tripoli Rocketry Association, the LUNAR chapter of the National Association of Rocketry (NAR) and ROC, as well as through programs such as the Endeavour Institute’s Balloon Fest. Students will be able to view many of the flights in real time, over the Internet, through the use of AeroPAC’s Virtual Classroom. They will then collect and analyze the resulting data. This program will provide unparalleled access to the design, development and flight process for hundreds of students involved in the pilot teams, while allowing thousands of additional students to participate online in the flight events and data collection and analysis.