Introduction: Temperature and Humidity Cubesat

How can we design, build, and program a model of a Mars Orbiter, that will collect data and inform us on specific aspects of the planet?

By: Abe, Mason, Jackson, and Wyatt

Step 1: Planning

  • Brainstorm and Research designs for Cubesats and its purpose
  • Create designs for different CubeSats and decide which is most suitable
  • Find information on the parts and materials you'll need
  • Gather what materials you will be needed to build your CubeSat


  • Popsicle sticks
  • Wood Glue
  • Arduino
  • DHT11 sensor
  • Wires
  • Tape
  • SD card
  • SD card reader

Step 2: Build the Structure for the CubeSat

  • Create the structure by gluing Popsicle sticks together in the shape of X's overlapping with a boarder of Popsicle sticks on the outsides, the top and bottom are covered side to side of the Popsicle sticks.
  • For the shelf, it's Popsicle sticks glued together side to side glued half way up on the inside.
  • The reason for the shelf is for the inside of the Cube sat so the arduino has a spot inside the Cube sat.
  • On the bottom that is where the bread board and the battery will be.
  • To secure the parts we used tape, to make a door so that we can get we used tape so it would be easy place the ardunio and parts.
  • The pictures above are a sample of what its supposed to look like after it has been completed.

Step 3: Coding the Arduino

  • Go to and search up DHT11 and there you will find the code


dht DHT;

#define DHT11_PIN 7

void setup(){ Serial.begin(9600); }

void loop() { int chk = DHT.read11(DHT11_PIN); Serial.print("Temperature = "); Serial.println(DHT.temperature); Serial.print("Humidity = "); Serial.println(DHT.humidity); delay(1000); }

  • That is the code we used for the arduino

void setup() {
// Open serial communications and wait for port to open: Serial.begin(9600); while (!Serial) { ; // wait for serial port to connect. Needed for native USB port only }

Serial.print("Initializing SD card...");

if (!SD.begin(4)) { Serial.println("initialization failed!"); while (1); } Serial.println("initialization done.");

// open the file. note that only one file can be open at a time, // so you have to close this one before opening another. myFile ="test.txt", FILE_WRITE);

// if the file opened okay, write to it: if (myFile) { Serial.print("Writing to test.txt..."); myFile.println("testing 1, 2, 3."); // close the file: myFile.close(); Serial.println("done."); } else { // if the file didn't open, print an error: Serial.println("error opening test.txt"); }

// re-open the file for reading: myFile ="test.txt"); if (myFile) { Serial.println("test.txt:");

// read from the file until there's nothing else in it: while (myFile.available()) { Serial.write(; } // close the file: myFile.close(); } else { // if the file didn't open, print an error: Serial.println("error opening test.txt"); } }

void loop() { // nothing happens after setup }

  • And that is the code for the SD Card reader

Step 4: Testing

  • We conducted 2 different tests on our CubeSat

1. The Shake Test- we placed our CubeSat on the shake machine for 30 seconds to see if it would hold together


2. The Flight Test- we connected our CubeSat to a string and had it orbit around a model mars for 30 seconds to see if it could hold the weight of the CubeSat.


Step 5: Present to an Audience

  • The final part of the process is to share your data and results with the others in your class, co-workers, etc.
  • The information shared should include: data collected, test results, the process of the project, and an overview of what the project actually was.
  • When presenting use the arduino or Cubesat for people to see what you made and also have a computer out to display the information being presented.
  • Make sure to speak loud enough so the audience can hear you loud and clear
  • Make eye contact with the audience and create an interactive presentation.