Arduino Launch Control System on Hackaday

Back on January 18, we posted how our Arduino Launch Control System was featured on the Arduino Blog. Well today (January 24) we discovered that it has been featured on Hackaday. You can find the write up at https://hackaday.com/2023/01/23/arduino-is-out-to-rocket-launch.

For those not familiar with Hackaday, it bills itself as “the gold-standard in entertainment for engineers and engineering enthusiasts.” They are a favorite site among the “maker” community and feature a wide assortment of interesting projects in a number of areas. I often go there looking for intriguing projects or articles. They have featured rocketry related builds before, including some of Joe Barnard’s projects.

We are very proud that our little project (our first “solo” project away from the Starter Kit tutorials) has been so well received.

 

Arduino Launch Control System Featured on the Official Arduino Blog

As you may know, the Arduino Launch Control System (LCS) was recently submitted to the Instructables maker site (https://www.instructables.com/The-Arduino-Launch-Control-System-LCS/). This was my second Instructable that I submitted, the first being Project: Icarus (https://www.instructables.com/Project-Icarus-a-Temperature-Sensor-Model-Rocket/). Tonight, I discovered that the Arduino LCS is featured on the Official Arduino Blog.

The Arduino Blog (https://blog.arduino.cc/) is published by the company behind the Arduino line of micro-controllers. On their blog they post updates and news concerning the Arduino boards as well as interesting projects. Today, January 17, 2023, the Arduino LCS was selected to be on the front page of the Arduino Blog (https://blog.arduino.cc/2023/01/17/the-arduino-launch-control-system-is-a-model-rocket-enthusiasts-dream/). The blog post features a short write-up about the project and points back to the Instructables site.

The project was also posted to their Facebook site where it has received over 148 “Likes” within a day of the posting. It was also posted on their Twitter feed where it was viewed over 10.7K times and has over 60 “Likes”.

As someone who is new to the world of electronics and the Arduino, I cannot express how surprised I am to find one of my projects featured. I think it also goes to show that even if you are new to creating electronic projects, with a little bit of practice and patience you can create solid, working projects. So if you have been holding off learning about electronics or the Arduino, let this be an encouragement to go out and start adding this new dimension to your rocketry activities.

 

Arduino Launch Control System v1.0 Released!

We are very proud to announce the Version 1.0 release of the Arduino Launch Control System (LCS). The LCS is designed for a single rail launch system. This release includes all of the code needed to use an Arduino Nano to power a model rocket launch control system that includes a mini weather station.

This release also includes a 164 page booklet that describes how the original system was built, includes tips for improving upon the original design, has a complete parts list and a listing of the entire code.

The code can be found at our SourceForge site at https://sourceforge.net/projects/arduino-launch-control-system

We look forward to your comments and suggestions on this release.

The Arduino Launch Control System-Part 33

Software Updates and Changes

In our last post we looked at some of the updates and changes one can make to the hardware of the Launch Control System (LCS). In this post we are going to look at the software side of the system. One of the fun things about the Arduino is that not only can it be programmed, it can talk to other computer programs. We see that through the use of the Serial Monitor and the Serial Plotter. That 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 that could 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 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.

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 recent 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 quite 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 performed 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 BMP280 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 new 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).

Conclusion

This brings to a close our walk through of the Arduino Launch Control System. As we noted at the beginning of this series, this was the first ‘serious’ project I attempted beyond the scope of my Arduino Starter Kit projects. I wanted you to see what we did for two reasons:

  • To allow any beginner to observe what we did and why we did it. When we made mistakes we pointed them out so you won’t need to make the same ones.
  • To get folks excited about bringing electronics into their rocketry hobby – especially if they have never had it as part of their process. For me, it has added a whole new level of excitement. It also gives me a feeling of accomplishment to be able to create something like the LCS.

A couple of years from now I may look back and wonder how could have made some many errors on such a “simple” project. But this is the equivalent of my “Estes Alpha” rocket from so many years ago. I learned a lot from that first rocket – and I learned a lot from my first rocketry project. Even more importantly – as my first rocket sparked an interest in learning about rocketry and aerospace that has lasted a lifetime, I am pretty sure that I am going to be able to say the same thing about electronics.

Don’t forget the software and the Fritzing drawing showing the entire system is available through our SourceForge repository. Head over to https://sourceforge.net/projects/arduino-launch-control-system and download a copy. It’s all free!

I hope you have enjoyed this series. We would love to hear your comments as well as suggestions on this project and future projects.

Back to Part 32

The Arduino Launch Control System-Part 32

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 our final few posts we are going to look at some of the changes, updates and improvements that can be made to the system.

The Hardware

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 to be used for something else.

Replace the LCD screen
There are a couple of improvements here. The first 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 that our 16 x 2 screen, you can display significantly more data.

Add a MicroSD card
One of the problems 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 reader/writer would heelp solve that issue. They use the SPI communication protocol, which uses 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, we soldered male header pins as connection points. We used the male pins because this is what we 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 may 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 we created the distribution panel we 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 more inputs for things like an add-on weather station and 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 come 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 what about a recorded messages from a real space launch to replace the buzzer.

In our next post we will look at some of the software updates that you might consider for this project.

Back to Part 31                                            Go to Part 33