Introduction: The Arduino Launch Control System (LCS)

About: "Exploring Science and Technology Through Model Rocketry." Model rocketry can provide a window that allows you to looking towards the future, be active in present day events and still peer back in history and …

The Arduino Launch Control System is a model rocket launch controller for a single rod launch pad. This was the first Arduino rocketry project that I wanted to design and build, having just started into learning about electronics and the Arduino less than 6 months prior. There are a number of Arduino model rocketry launch projects available on the Internet, and they did provide inspiration for this project. Yet while they provided some great ideas, I wanted to approach this launch control system from a different angle.

Focus on Research

If you look around my web site (https://rocketryjournal.wordpress.com), you know that I often discuss how model rocketry can be used to explore both science and technology. One great way to combine these is to use model rocketry as part of a science or technology fair project.

If you are using a model rocket in a research project, no doubt weather will be a part of your data collection efforts. To help meet this need the launch control system provides the user with several weather data points, including:

  • Temperature
  • Humidity
  • Barometric Pressure

In effect, the project has a small, built-in weather station.

Focus on Safety

Safety is always an important consideration in rocketry. As I was designing the Arduino Launch Control System (LCS) I wanted to make sure that it would be safe to operate. The LCS provides a ten-second countdown and I wanted to be sure that when the counter hit zero, the Launch Control Officer still wanted the rocket to launch. In order for the countdown to start and power to be supplied to the launch pad, I decided that several things must be accomplished.

The LCS has two independent power supplies and both must be turned on. The power must be turned on to the launch pad or there will not be any power at the igniter clips. Second, the key switch must have the key inserted and turned on. Without the key, the switch will not turn on. Without the switch being turned on, power will not flow from the launch battery to the relay and on to the launch pad. The key switch LED also indicates if there is continuity to the igniter in the rocket.

However, if you only turn on power to the launch pad you will find that the continuity lamp will operate but the fire and safety buttons are inoperative. You must also supply power to the Arduino. The system will not fire without the Arduino being powered up, as it reads the signals from the fire and safety buttons, which sends the signal to the relay. The relay allows the power to flow to the launch pad.

Finally we come to the Fire and Safety buttons. To start the countdown both buttons must be pressed down. Additionally, they must remain pressed down during the countdown. If either button is released, the countdown will stop and the launch is aborted.

You will notice that the fire and safety buttons are located at opposite ends of the LCS. This design decision helps negate the possibility of an item falling on the fire button leading to an accidental launch. The use of the key switch, dual power supplies and the requirement for both buttons being continuously pressed all brings additional layers of safety into the system to help prevent accidental launches.

Focus on Usability

I wanted the system to be easy to use and portable. If it is not easy to take out to the flying field, no one will use it. I tried to keep the cost low and while it does cost more than a plain Estes launch controller, it does a lot more too!

I especially wanted this system to be something that middle or high school students could build as part of an overall science and technology project. I wanted it to be more than just a launch controller; I wanted it to be a learning experience. I wanted it to have the ability to spark interest in rocketry, electronics, research and more.

I also thought of this as the baseline system. Over time it could be expanded with additional sensors or other options. The LCS presented here shouldn’t be the end, but rather the beginning.

Finally, it had to look cool. If it doesn’t look cool, well, it just has to look cool!!

Supplies

  1. Hyper Tough 13-inch Tool Box
  2. Nano Board CH 340/ATmega+328P
  3. Panel Mount Type Mini USB 5Pin Male to Female Extension Adapter Cable
  4. 2 Pin Metal Male Female Panel Connector 12mm GX12-2P Silver Aviation Plug
  5. Cabinet Pull Polished Chrome 3 inch (76 mm) Center to Center
  6. SPST Momentary Push Button Switch
  7. One Black
  8. One Red
  9. Keyswitch Keylock Switch with Keys
  10. BMP180 Barometric Pressure Temperature Sensor Module
  11. PCB Prototype Boards
  12. 1 Channel Relay Module Board
  13. SPST Latching Type ON/OFF Push Button Switch
  14. 4-Digit Tube LED Segment Display Module
  15. 4 AA Battery Holder with Leads
  16. 9V Battery Connector
  17. LCM1602A LCD Screen
  18. DHT11 sensor
  19. 15mm Carbon Potentiometer
  20. LEDs 5mm RL5-R5015 - Super-Red LED
  21. LEDs 5mm RL5-G8020 - Super-Green LED
  22. DS1307 Real Time Clock
  23. Piezo Buzzer
  24. 510 ohm resistor
  25. 1K ohm resistor

Step 1: Designing the Prototype

The prototype Launch Control System (LCS) was developed in sections using a breadboard. I worked on one section at a time, making sure the component was working as desired before moving on to the next section. This included both the electrical connections and the coding.

The drawing shows the layout of the electrical components on the breadboard along with a schematic drawing. The next drawing shows the pin assignments for an Arduino Nano controller. If you are using an Arduino Uno the pin assignments will be the same.

Code Repository

Once I had a new section working properly, I would save the Arduino code as a separate file. The file name includes the date so I have a chronological listing of the files. This allows me to go back to a previous working version if I run into issues.

Keeping Notes

In addition to maintaining and updating the fritzing drawings and Arduino coding, I also keep a small notebook on my projects. This allows me to write notes about what was going on during the development process. I make sure I write about problems I encountered and how I solved them.

Even more importantly, I was able to write notes about how I might change things, add new things, or do things differently. Not having the experience of working in this field, I didn’t know what I didn’t know. These notes led to conducting research on how to do certain things, and to see what other options might be available.

As I stated earlier, I was new to electronics and the Arduino. By building this project in a step by step process, it was much easier for me to figure out the cause of an issue when a problem inevitably occurred. By keeping notes and drawings of my progress, I could refer back to them as needed. This was a learning process – and I was learning a lot.

Step 2: Writing the Code

As I started to put the electrical components together, I knew I would needed to write the code to make it do things and to test that code. I also wanted the code to “make sense” so that I could come back later (days, months, maybe years later) and understand what I wrote. This is all part of “documenting the code” as you create it.

Documenting the Code

A major reason for documenting your project is to record what the code you write is supposed to perform. This is a habit I learned long ago when I first started writing BASIC programs on the Commodore 64. It is important that you include enough notes in the code that describes what the code is doing and why. If you come back a year from now and look at the code, the notes in the code should be adequate to tell you what you were doing at the time. If you are asking yourself “Should I add a note here?” go ahead and add it. I have never heard another programmer complain that the code they were reviewing had too many comments. The common complaint is that the previous programmer didn’t add enough comments.

Layout

As you start to write your code you should develop a particular style. Even if you are just writing code for yourself, you will find that there are certain things that you will do for each project. Once you have a style you like, it can be useful to create a template. A template allows you to document each project in pretty much the same way each time. Its habit forming and that's a good habit to have.

Using Functions

As you review the code you will find it makes extensive use of functions. In the main loop you may see a single line that calls another function. The code jumps to that function, executes the instructions, and then returns back. The use of functions helps with organizing your code, makes debugging the code easier, and often allows you to use these functions in other projects - either as is or with some slight modifications. Not having to "reinvent the wheel" for each project saves a lot of time and allows you to focus on new coding challenges. It also prevents you from having to scroll up and down through long code listins looking for a particular section. That can be time consuming and frustrating. Breaking the code into logical functions with descriptive names will be beneficial in the long run.

Multiple Tabs

One of the other characteristics in the code for the LCS is that it uses multiple tabs in the Arduino IDE. Most of these tabs consist of a single function that we discussed in the above paragraph. Multiple tabs can help you organize your programs. It also breaks down long, complicated programs into easy to digest chunks. It also makes it easier to find stuff. If you haven't used functions and tabs in your previous projects I would encourage you to give them a try.

Attached Files

Each of the 17 Arduino files are an individual tab within the program. Make sure all of the files are in a single folder. Name the folder "Launch_Controller_1.0.0.ino". You can open any file and all of them will open in the Arduino IDE as a single project, with the first tab "Launch_Controller_1.0.0" This first tab contains the declarations, setup and main loop.

Step 3: Selecting the LCS Box

At this stage of the development process I had created a working system on a breadboard and written and tested the code. Everything is working as expected. It is time to transition the project from the breadboard to an actual box that you can take with you to the flying field.

There are a number of options that you can look at. There are electrical project boxes that can be purchased through Amazon or electrical supply stores. You can also try the local hardware store’s electrical section to see what they have available.

Another option is to look at something like a pelican case or other hard sided weather-proof case. A 3D printed case is an option, either one downloaded from a web site or one that you design yourself. In this case, I decided to go to my local Walmart and pick up a 13-inch toolbox for under $7.00. The tool box is the smallest one carried at our local Walmart. It has two small compartments on the top, with the one on the right side divided into two compartments. It has a nice handle, with a single latch on the front.

When the box is open it has a single lift-out tray. The tray is deep enough to mount the buttons for the launch system. The box is also small enough that it fits nicely into my hands with my thumbs in the upper corners (this is where the Fire and Safety buttons will be mounted.

With the tray removed there is enough open space in the bottom of the box to mount all of our sensors and our Nano board.

Step 4: Designing the Control Panel

The lift-out tray in the top of the box is where all of the action will take place. It will contain the fire and safety buttons, the clock, the LCD screen, buttons and more. But before we can begin to layout any of this, we have to get rid of the handle in the center of the tray.

There are a number of ways you can do this, but we decided to use a Dremel tool with a cutting wheel. It made quick work of getting rid of the handle, but it was also a bit rough around the edges. It also leaves a pretty big hole in the center of the tray. However, we had a plan for that.

Our next step is to take a piece of poster board and create a template of the inside of the tray. Take your time doing this as everything else during the design of the items in the tray will be based off of this template. The initial template of the inner part of the tray is then transferred to a piece of 1.5mm chipboard.

Chipboard is found at Hobby Lobby, Michael’s and other craft stores. While it is thicker than card stock it is still fairly easy to work with. After cutting out the chipboard template it was time to start laying out our pieces.

Most of the items in the tray are symmetrical, and so this helps with the layout. We divided the template into sections using a T-square and a triangle. Holes for the buttons and lights were drawn using a circle template. When we were happy with the layout, we cut out the openings for the main components.

When building you launch controller, you don't have to follow the same pattern I chose. You can move things around to where they work best for you. Our only caveat is that you keep the Fire and Safety buttons separated to provide that extra layer of safety.

After cutting out the openings on the template, I would set it in the tray to see how these items would be positioned on the remaining plastic of the tray. It also let us see what components would need to be secured to something other than the tray itself.

Satisfied with the layout, the chipboard template was transferred to a smooth plastic sheet. This plastic sheet will be the top of the tray and will hold all of the components. The general shape was cut out and then fit tested in the tray. Care was taken to ensure a good fit. Once I am satisfied with the fit, the main openings are cut out.

With the plastic in place, I could see how the center opening on the tray would impact the layout of the components. I found that I needed to remove some additional material from the tray to allow the clock to sit properly. The same was true of the LCD screen. In the pictures you can see the nylon stand-offs that hold the prototype boards in place.

With the tray properly trimmed to size, it was now time to test fit all of the components. This included adding in the prototype boards under the tray. These were attached using 2.5mm nylon screws and stand-offs. We also added two chrome pull handles to give the project a cooler look. In the one picture you can see all of the components installed prior to painting. The small black ‘dots’ are the nylon screws. Pleased with the results, it was time to add some paint.

All of the components, screws and stand-offs are removed from the plastic. The plastic received a light sanding of 800-grit sandpaper and the plastic is washed off. It is then painted bright yellow. Allow this to dry for at least 24 hours.

With the paint completely dry, it is time to mask off the stripes and add the lettering. Chart tape was used to mask the stripes and 1/4-inch stick-on letters are used to mark the components. This is then sprayed a dark grey. The masks were removed and it sat for another 24-hours to completely dry.

With the painting done, it is time to assemble the components into the tray. With everything in place I was very happy with the overall look of the control panel. In hind sight I probably should have taken some additional time with the lettering to make it a bit neater.

Now I can begin work on the main body of the box, installing components & getting things wired up.

Step 5: Base Components

With the command panel components in place, it is time to start putting the components in the base section of the box. I will return to the command panel after mounting the base components in place.

Mounting the Arduino

The first item to be added to the base is the Arduino Nano controller. However, the Nano can’t be mounted directly to the base. We need some type of mount and were able to use our 3D printer along with a pattern from Thingiverse. The designer “emccarron” (Ed) posted a Nano bracket back in December 2014 (https://www.thingiverse.com/thing:596400). This is just one of 28 designs he has posted.

This bracket works perfectly for us. It holds the Nano tightly and allows room for access to the header pins. It also provides four mounting points to hold the bracket to the base. In the picture you can see the bracket on the left, and with the Nano inserted on the right.

I need it to be easy to connect the computer to the Nano. This can be for updating the software or to send the collected data back to the computer. I purchased a USB mini extension cable through Amazon that had a mounting bracket on one end (https://www.amazon.com/gp/product/B06Y1PWSY7). In order to determine where to position the Nano in the base we attached the cable and placed it in the base of the box.

A small opening was cut into the side of the box to attach the USB bracket. The cable was then looped around the inside of the box and back towards the center of the box. We knew we wanted the Arduino to be near the center of the box, but offset to the rear to allow better placement of the remaining components.

Distribution Panel

With the Nano and USB cable in place it was time to turn to our distribution panel. I have a number of sensors and components that require 5 volts to operate. I also have several that use I2C for communication. I also knew that at some point in the future I may want to expand the capabilities of the system. With this in mind I used a small prototype board to create a distribution panel.

The panel is 14 holes wide and 20 holes long with four mounting holes. I decided to create four rows of connectors in the long axis. To create the distribution panel I soldered four rows of header pins to the panel. Each row ran the length of the panel. To give me room for my fat fingers, each row of headers skipped a row of holes. I start by soldering each pin in place. Then I soldered (bridged) pairs together, and finally the pairs are bridged together. You can see the pins in different stages of soldering in the picture.

The distribution panel is mounted next to the Nano and a set of connecting wires is soldered to the panel and run to the Nano. You don’t need to solder these wires if you don’t want to. You can use wires with female DuPont connectors on each end to make the connections if desired.

Launch Pad Connector

The next step is to install the pad connector. This two-pin connector is installed with the female end attached to the box. The one pin contained two wires, with one going to the continuity lamp on the panel. This plug needed to be located close to the continuity lamp and key switch, close to the relay for allowing full power to go to the pad, and where it wouldn’t interfere with anything else in the box. This resulted in the plug being located on the same side of the box as the continuity lamp.

The male end carries the wires out to the launch pad. This allows us to remove and replace the cables if necessary. I also decided to install a drawer handle on the rear to act as a holder for the wire. There wasn’t any place we could store the disconnected wire within the box, so the next best thing was to wrap it outside the box. The picture shows the wrapped cable and the USB cable on the rear of the box.

Installing the Remaining Components

With the major items now installed, we can install the rest of the components in the bottom of the box. This includes the relay, the Real Time Clock (RTC), the BMP180 and the DHT11 sensors. The relay is positioned close to the pad connector to keep all of the pad firing components in the same general area.

The weather sensors (DHT11 and BMP180) are located on the opposite side. The BMP180 did come with a single mounting hole that we are able to utilize however the DHT11 did not. To attach the sensor to the box, I simply hot glued the DHT11 sensor to a scrap piece of foam board. A couple mounting holes were punched into the board to provide the sensor a nice solid mount.

The Real Time Clock (RTC) also came with mounting holes which I made use of. The RTC was located where it really didn’t get in the way of any of the other components.

One thing that I did use with the DuPont connector was labels. You will notice that each connector has a label that identifies the connection. The distribution panel also has a label attached to the floor of the box identifying the purpose of each row. The connections on the Nano are also marked, although they really can’t be seen in the picture at this angle. This type of labeling helps you make the right connections when you need to replace or repair a component a year or two later, or when a wire comes loose and you’re not sure exactly where it goes. This completes the bottom of the box.

Step 6: Tray Connections

There were a number of connections that needed to be made on the tray. The location of these components was determined by the functions of the device and resulted in the layout seen in the picture. 

To allow this layout to work we need to use a combination of attachments. Some of the buttons are attached directly to the tray, while others are attached to prototype boards which attach to the tray. Finally, a number of connections are required to traverse the depth of the box and connect directly to the Nano. The result was the layout seen in the picture.

In the picture you can clearly see the three separate prototype boards that we used. This was the area that gave us the most trouble putting together. It is also the area that has some of the weakest connections – especially those wires that hang down and connect to the Nano.

On the center prototype board I did try to use both a common power connection and ground connection. I did use connectors where I could, but this section resulted in the most soldering of components.

This area is definitely one that I should have given more thought to, both for the routing of the wiring and to strengthen the connections. I should have made sure that the tray could be removed easily. While it can be removed, it is not easy. While the top panel is busy, I believe better care and forethought would have made this a stronger component of the entire Launch Control System.

Step 7: Power and Storage Compartments

The top of the box has two storage compartments with a cloudy white/clear cover. The compartment on the right was divided into two separate sections.

To make the covers match the rest of the box, they were removed and painted satin black. However, instead of painting the outside of the covers I painted the inside. This reduces the chance of the covers getting scratched and chipped.

The compartment on the left side was selected to store the batteries used to power the system, while right side would hold our accessories – the USB cable and the safety key.

A four-slot AA battery holder fit perfectly in the left compartment with room to spare. This would power the launch pad. There was also enough room to fit in either a 9-volt battery or a LiPo battery below the AA battery holder.

A small hole was drilled in the back corner to allow the wiring from both battery connections to enter into the main box. To provide room for the wires to travel as well as allow both holders to be extended outside the box, a set of plastic rails was glued into the compartment under the AA battery holder. The AA battery holder sits on top, and this provides free movement of the wires underneath. The AA battery holder is not glued to the rails.

The USB cable and the safety key both fit perfectly in the right compartment. Nothing needed to be done there.

Step 8: Finishing the Box

I wanted to let folks know that this was not just another plain old tool box, but rather something unique.

To give the inside of the box a more “high tech” look instead of looking like a tool box, I attached some “protective foam”. The foam does provide some protection to the components in the tray, but its real reason for being there is to hide the plastic molding of the lid. It also hides the wires running from the battery compartment down into the bottom of the box. Our “high tech foam” is just a foam air conditioner filter cut to size.

On the top compartments I used our 1/4-inch white labels to identify the “Power” compartment and the “Extras” compartment (“Accessories” was too long to fit in the space). The raised edge of the cover made aligning the letters very easy.

On the front of the box, we used our Cricut to cut the vinyl lettering for “Launch Control System” as well as the AAEN logo.

Step 9: Tactics to Improve the LCS

If you have followed along from the beginning, you should now have a working, launch control system that tells time, provides weather information and can be hooked up to a computer to monitor the status of the system. However, this is just the beginning. In this section I am going to look at some of the changes, updates and improvements that can be made to the system.

Hardware Updates

There are a number of components that are utilized in the LCS. Some of the components are selected because they are available or they are cost effective. Other components are selected because I already had them in our local stock. Like any project, it can always be improved. Here are just a few things that can be done differently on the hardware side of the LCS.

Replace the DHT11 and BMP180 Sensors with a Single BME280 Sensor

This single sensor will do the work of the two sensors in the current system. It is also rather small, so it isn’t going to take up a lot of space. Finally, it uses the I2C communications protocol, the same as the BMP180. This frees up the pin used by the DHT11 allowing it to be used for something else.

Replace the LCD Screen

There are a couple of improvements that can be done here. The first item would be to use an LCD screen that also uses the I2C communications protocol. The LCD screen in our project uses 6 pins to communicate with the Arduino. Replacing that screen with one that uses I2C would open up all 6 of those pins to be used for other sensors or equipment.

The second option with the LCD screen is to purchase a larger screen. The one in our project is 16 x 2. However, you can purchase LCD screens that are 20 x 4. While slightly larger than our 16 x 2 screen, you can display significantly more data.

Add a MicroSD Card

One of the issues with the current setup is that the data is displayed on the Serial Monitor, but there is no method of saving that data. Adding a MicroSD card module would help solve that. They use the SPI communication protocol, which makes use of some of the pins used by our current LCD screen.

Replace Male Header Pins with Female Header Sockets

On both the Nano and the distribution board I soldered male header pins as connection points. I used the male pins because this is what I had on hand. Looking back, it would probably be better to use female sockets instead. Using the male pins leaves these connection points open to anything that may get into the box area. This could include debris or loose wires falling down. Anything metal could find itself falling on the pins and shorting out the circuit.

Eliminate the Gap between Rows on Distribution Panel

When I created the distribution panel I left a gap between each row. While this worked fine for individual lines, it meant using larger DuPont block connectors when attaching wires in pairs or groups of four. For example, to use a four wire connection (power, ground and both I2C cables) it took a 7-pin connector block, with three of the seven pins empty. This turned out to be a waste.

Wire Management

This is something that I should have given more thought to. How you run your wiring and the connectors you use can make the project easy or difficult to maintain. I should have put more thought into making the hardware as modular as the software, making it easier to remove and replace hardware or upgrade components.

Replace the Arduino Nano

There are several options available here. Given the space available in the box you could look at using an Arduino Mega2560 board. There is a big difference in the number of pins available. The Mega2560 has 54 digital pins and 16 analog pins, while the Uno/Nano has only 14 digital pins and 6 analog pins. This would offer you significantly more inputs for things like an add-on weather station, radio telemetry, and even more options at the launch pad.

Replacing the Nano with an Arduino Uno really doesn’t offer any hardware improvements over the Nano. However, because of its larger size it is often easier to work with. If you are having trouble with the Nano due to its small size, then switching to the Uno may be a viable option for you.

Another option would be to look at a completely different board such as the ESP32. This board comes with WiFi, Blue Tooth and a MicroSD Card Reader/Writer already built in to the board. It also has over 30 I/O pins for you to use. This is a big step-up from the Nano. However, there are some downsides.

The ESP32 uses 3.3-volt logic, and there are a number of sensors that simply won’t work properly unless they have 5-volts. If you decide to try an ESP32 board be sure to think through the sensors and modules you intend to use.

These are just a few of the hardware updates you could perform on this system. Other thoughts include things like a battery charging system, a system to allow various power sources for the launch pad, maybe a wireless relay to the pad, or recorded announcements from a real space launch to replace the buzzer.

Software Updates and Changes

One of the fun things about the Arduino is that we can improve a project by rewriting parts of the software without changing any of the hardware. Additionally, the Arduino can "talk" to other computers and computer programs programs. We see that through the use of the Serial Monitor and the Serial Plotter within the Arduino IDE. These features can allow us to expand the role of the system and how it can be used.

Computer Dashboard

One of the initial things that could be done is to create a dashboard to be displayed on a laptop connected via the USB cable. Instead of having the Arduino calculate results, the raw data could be sent to the laptop through the USB connection. The laptop could take this information and post it on a continuously update dashboard display. This would also be more usable than the current method of scrolling through the data on the Serial Monitor.

In addition to the data, the laptop could interface with the Launch Control System. This would allow the laptop to control the launch. For a research project that would need certain tasks performed at various times during a countdown, the laptop could track all of this, inject ‘holds’ to countdown as needed, and save all of the data for review at a later time.

Settings Section

The LCS has several variables that need to be set before the program can run. This includes the current elevation of the launch pad (the variable baseElevation) and the LED brightness (the variable clockDisplay.setBrightness(5)). The baud rate for communications with the serial monitor is hard coded at 9600 baud. If you want it faster, you currently have to change the code.

You could include the number of seconds you want to start the countdown – ten seconds, five seconds, 30 seconds? Having the user be able to input basic settings instead of actually changing the code can be very beneficial to the user.

Interface with a Portable Weather Station

Many Nanos/Unos/Mega256/ESP32 boards have been pressed into service to run portable weather stations (here is a picture and a link to a posting on Instructables – https://www.instructables.com/DIY-Weather-Station-With-ESP32). Such weather stations could be incorporated into the LCS, providing additional environmental data. The Arduino could be programmed to abort a launch if wind speeds above a certain range are encountered.

Time Synchronization

It is quite possible that the LCS will be used as part of a research project. It also possible that the launch vehicle will have an electronic payload on board. The ability to have a laptop synchronize the time between the electronic payload and the LCS will be necessary to align data points on the ground versus data points in flight, and perhaps even video time sync.

Allow Users to Bypass Non-working Sensors

The current programming of the LCS checks all of the sensors during the boot phase of the Arduino. If it discovers a problem with a sensor, it will display an error message and the program stops.

Additional programming could be crafted to allow the user to bypass the shutdown and ignore the bad sensor. The fire button, safety button and LCD screen select button could be used to accept user inputs (the Reset button is wired directly to the Arduino reset pin and so could not be used).

Software Updates Dependent on Hardware Updates

There are a number of other updates that can be performed as hardware is changed and updated. For example, the switch to a 4-line LCD would require a programming update to take advantage of the additional screen space. Switching to a BME280 would require a rewriting of the current sensor code.

The use of WiFi or other wireless transmitters could allow for remote firing of the launch pad, removing the need for a long cable between the LCS and the pad.

Continuing on the wireless path, a payload with a wireless transmitter/receiver could be sent commands from the LCS to turn parts of the electronic payload on or off, as needed. You could even implement near real time telemetry from rocket.

The use of a Raspberry Pi also brings with it other options. As the Pi has 40 General Purpose Input Output (GPIO) pins that can be programmed in much the same way as the Arduino, it can allow you to write software that interacts with the launch system, the rocket’s electronic payload, and any accessories around the launch pad (such as cameras).

There are a number of new and exciting things that you can implement in your LCS. That's a big part of the fun and challenge of making the system yours!

Step 10: If You Enjoy Rocketry, Consider Joining the NAR

If you enjoy model rocketry and projects such as the Arduino Launch Control System, then consider joining the National Association of Rocketry (NAR). The NAR is all about having fun and learning more with and about model rockets. It is the oldest and largest sport rocketry organization in the world. Since 1957, over 80,000 serious sport rocket modelers have joined the NAR to take advantage of the fun and excitement of organized rocketry.

The NAR is your gateway to rocket launches, clubs, contests, and more. Members receive the bi-monthly magazine "Sport Rocketry" and the digital NAR Member Guidebook—a 290 page how-to book on all aspects of rocketry. Members are granted access to the “Member Resources” website which includes NAR technical reports, high-power certification, and more. Finally each member of the NAR is cover by $5 million rocket flight liability insurance.

For more information, visit their web site at https://www.nar.org/