Project in progress
Electronics of a hybrid rocket

Electronics of a hybrid rocket

The hybrid rocket Chimera is a project of the Loughborough Space Society. This hackster. io project shows insights into the electronics team.

  • 1,495 views
  • 0 comments
  • 6 respects

Components and supplies

Ard due
Arduino Due
Ground Control You can also buy it on the Arduino website: https://store.arduino.cc/arduino-due
×1
A000066 iso both
Arduino UNO & Genuino UNO
Launch Pad and Rocket You can also buy it on the Arduino website: https://store.arduino.cc/arduino-uno-rev3
×2
GPS receiver (generic)
Just choose any GPS module. We have a cheap one from ebay. It should be compatible for Arduino and have at least the pins: VCC, GND, RX (or RXD), TX (or TXD). PPS is not used, but doesn't harm. The chip on the module should be from ublox and it would be goot to have an integrated antenna. Example: https://www.ebay.co.uk/p/GPS-Satellite-Positioning-Module-for-Arduino-Stm32-C51-Replace-Neo-6m/17021522060?iid=142515109390
×1
Adafruit RFM95W LoRa Radio Transceiver Breakout - 868 or 915 MHz - RadioFruit
Either choose the 868/915 or 433 version. Make sure, which frequency is free in your country! You need three of them. One for the rocket, one for the launch pad and one for the ground control.
×3
Antenna (generic)
Use an antenna, that matches the frequency of the LoRa module. A single wire can also be used. Make sure to use the length specified for the frequency. When using an antenna, connectors might be necessary.
×3
Nice to have
Wires, LEDs, resistors, ... See if you can find some simple electronics kit. One or two boxes would be good.
×2

Necessary tools and machines

09507 01
Soldering iron (generic)
You eventually need to solder pins to the modules/sensors.
4550736
Plier, Long Nose
Any pliers you have will be usefull.
24ac5038 40
Breadboard, 830 Tie Points
You need 3 breadboards. Later you can create PCBs.

Apps and online services

About this project

Covered up to now:

  • Arduino Uno & Due
  • GPS module
  • RF Communication with LoRa modules

Step 0: Introduction

This project has not been finished yet. We give you insights in how far we got. We don't provide code as we used a lot of code examples from the internet. However, we will provide the links.

Three important parts of the project are:

  • Ground Control: Lots of buttons that start and stop / open and close parts of the rocket. (Valves, ignition, sensors,...). Sends instructions to launch pad and rocket, plus receives status updates from both.
  • Launch Pad: The part, that stays on the ground. Including a valve which is used for safety reasons. Gets instructions from ground control, sends the status back to inform about errors and tell, whether instructions were executed.
  • Rocket: The electronics in the rocket, that will actually fly, involving one valve. Gets instructions from ground control and sends status, as well as data during the flight to the ground control (height, pressure, temperature, location, acceleration,...)

Step 1: Choosing the components

You don't need to choose the exact components from the list. A cheap version of Arduino will do the same job. Make sure to use a leagal frequency for RF modules (like LoRa).

Step 2: Let's get started! Set up the Arduino IDE

An IDE (Integrated development environment) is the software where you code and upload the code to the board, you can download it on the arduino page https://www.arduino.cc/en/main/software (download, not code online).

Include libraries via: Sketch > include library > add zip

ConnectArduino. You need to put in COMx e.g. COM4 at Tools > Port, plus actually connect the cable from the Arduino to your laptop. Arduino Due: use a micro usb cable - there are some cables that don't work, it needs to be a data cable, not just for power. Plus there are two micro usb ports on the board (don't use the debugging one).

Board. You might need to to install Arduino Due first. Choose it via Tools > Board.

Console print. If you want to see data from the Arduino on your computer you can use the most right button in arduino ide (where you write the code). It looks like a magnifier glass and opens the console. You can print onto the console via

Serial.print("This will be printed on your console");

in your arduino code. Don’t forget to set baud rate to 9600 in both, the console and the setup() code:

Serial.begin(9600);

Note: your board needs to be connected to the laptop to see the output of the serial print.

Step 3: Where are you? Location with GNSS - GPS (USA)/Galileo (Europe)/GLONASS (Russia)/Beidou (China)

Module. Any GNSS (mostly known version is GPS) module is fine. It doesn't need to be expensive. Ublox is good and it should have an antenna. (It is this white/metal square with a yellow/orange border). Search for gy neo buy. You are quite safe, if there is the Ublox logo somewhere on it (red u).

Info. The first module we have been working on was the GPS module which goes onto the rocket. We were using the global navigation satellite system (GNSS) from America (GPS), but any other will do, too. Very important: For the first time you connect the module (or if you moved it for a couple of kilometers), you will think that your module is not working for minutes up to hours! Leave the module outside, connected to power and let it search for the satellites. It works best with a straight view to the sky - so no clouds. Give it maybe up to 2 hours, If your module has a micro USB port, you can also connect it to your laptop and use a software like https://www.u-blox.com/en/product/u-center to see visualised what satellites are used. Figure out more by searching for: TTFF (Time to first fix), cold start, warm start and hot start.

Pins. RX, TX, VCC, GND, (no need to use PPS)

Library. There are multiple libraries - make sure you chose one that is compatible to your Arduino board:

Code. Within the NeoGPS library, there are lots of code examples. We used this one: https://github.com/SlashDevin/NeoGPS/blob/master/examples/NMEAloc/NMEAloc.ino and adapted it. Make sure, the baudrate of your GPS module matches the baudrate in your code, most likely 6900.

gpsPort.begin(9600);

Make sure, you adapt the pins of the example, so they match the ones you connected the module to your port.

Search. Search for "GPS - NMEA sentence information" for more information about the data received from a GPS module. E.g. http://aprs.gids.nl/nmea/

Step 4: Are you listening? RF communication with LoRa

Module. 3 times the Adafruit RFM95W LoRa Radio Transceiver Breakout - 868 or 915 MHz - RadioFruit There is an amazing tutorial for it: https://learn.adafruit.com/adafruit-rfm69hcw-and-rfm96-rfm95-rfm98-lora-packet-padio-breakouts An alternative is the 434 MHz version.

Frequency. Very important! You need to use a frequency that is legal in your country! Search for ISM band. 868 (SRD860) and 433/434 (LPD433) should be fine in Europe, 915 (33-centimeter band) is for America.

Antenna. You need an antenna for this module and therefore an adapta. Use the same frequency as your module. We just choose literally any. Sometimes a wire in a length matching your frequency is enough, depending on the distance you want to achieve. With a wire we managed over 300 meters (no straight line of sight).

Pins. VIN, GND, EN, SCK, MISO, MOSI, CS, RST

Arduino Uno:

  • VCC, GND... to VCC and GND
  • MOSI, MISO, SCLK (these are for SPI)... digital 11, 12, 13 (in that order)
  • CS = SPI Chip Select pin... e.g. digital 4
  • RST = radio reset pin... e.g. digital 5
  • G0 = IRQ, INT... this is the interrupt - Arduino Uno just has 2 interrupt pins: digital 2 and digital 3 (use one of them)

Arduino Due:

  • VCC, GND... to VCC and GND
  • connect MISO to MISO, MOSI to MOSI and SCK to SCK (don't mix up MISO and MOSI) Here it becomes a bit more tricky, there are extra SPI pins (in the middle of the board, denoted as SPI with 6 pins). There is a little white dot next to each. It indicates the "MISO" Pin, that equals the first pin. You can find the pins here: http://21stdigitalhome.blogspot.com/2013/02/arduino-due-hardware-spi.html
  • CS, RST, G0... choose any pins and use the same pins in the code

Library. The RadioHat library can be downloaded here: http://www.airspayce.com/mikem/arduino/RadioHead/ look for a zip file link in one of the first two paragraphs of the page. The last time I checked, it was http://www.airspayce.com/mikem/arduino/RadioHead/RadioHead-1.98.zip

Code. Make sure you use the right frequency as well as have the right pins to your board in the code. Examples are available in the library. Choose an example of rf95 if you are using the same modules as we do.

#include <SPI.h>
#include <RH_RF95.h>

The frequency is set in the RH_RF95.cpp file of the library. If you need a frequency of 868 or 915, you need to adapt the value. Please check legal frequencies and the frequency supported by your module!

bool RH_RF95::init(){
...
setFrequency(434.0);
...
}

Search. Legal frequencies for your country. Length of antenna wire for frequency or an actual antenna.

Comments

Similar projects you might like

Hybrid Rocket Engine

Project in progress by UniverseRobotics

  • 4,013 views
  • 0 comments
  • 22 respects

Solid Rocket Motor

Project in progress by Cole Purtzer

  • 2,073 views
  • 1 comment
  • 14 respects

Rocket Auto Abort System!

Project in progress by Cole Purtzer

  • 3,177 views
  • 0 comments
  • 13 respects

ANDI - Random Rhythm Generator - Electronics

Project tutorial by ANDinstruments

  • 9,161 views
  • 1 comment
  • 29 respects

Arduino Simple "Camera Slider" Electronics

Project tutorial by Ian Cumming

  • 8,724 views
  • 3 comments
  • 21 respects

Helium Solar Monitoring Board with Relays

Project tutorial by Jade Perreault

  • 4,218 views
  • 2 comments
  • 18 respects
Add projectSign up / Login