Introduction: Overkill Model Rocket Launch Controller!
As part of a huge project involving model rockets I needed a controller. But like all my projects I couldn't just stick to the basics and make a handheld single-button controller that just launches a model rocket, no, I had to go extremely overkill and make it as complicated and over the top as I could possibly think of. I did have ideas to make this even more over the top, however those ideas were a bit out of the budget for a 16 year old student.
After much research and planning I could not find any resources in the way of 'briefcase rocket controllers' as they are not exactly a common item, so I needed to design my own from scratch. The main part of my whole project, the rocket itself, is made from carbon fibre and looks pretty badass, so I wanted to continue this theme through to the controller, and the steel launch pad (currently incomplete).
But what does this controller do? Why did you make it?
Well my model rocket isn't exactly a typical rocket with fins and a basic launch pad with a guide rail. Instead the rocket is filled with custom electronics and thrust vector control equipment. Thrust vector control, or TVC, involves moving the engine inside the rocket to direct its thrust and therefore steer the rocket to its appropriate trajectory. However this involves GPS guidance which is ILLEGAL! So my rocket uses TVC to keep the rocket super stable going upright with a gyroscope on the flight computer, no GPS equipment. Active stabilisation is legal, guidance is not!
Anyway through this long intro I still haven't explained what the controller does! The launch pad as I previously said is not just a stand with a guide rail, rather a complex system filled with electronics a mechanical parts, like a real launch pad. It includes a pneumatic piston to retract the strong back, clamps holding the rockets base and upper body and many other things which I will explain better in future YouTube videos.
The controller not only sends all the wireless signals to control the launch pads systems and launch the rocket, but it also allows me to adjust the settings of the launch. Whether it is actually launching, or just being held down to the pad for a static fire of the motor. Whether or not I have the retractable strong-back pneumatic system activated or not. Does the rocket have side boosters as seen on the Falcon Heavy. Or do I need to test the wireless connection between the controller and launch pad. These are all just some of the functions this controller can do.
Quick note: These are not the final labels as I do not currently have access to my usual Roland GX-24 vinyl cutter. I also do not have the battery yet, I will be using a standard RC car/plane LiPo, 11.1V and about 2500mAh.
Before we get started with the step by step instructions on how I made it I would like to make it clear to everyone that a controller like this can be used for much more then just launching rockets depending on what you make it for. It could control a wireless rover, control an RC helicopter/drone, be adapted to a portable computer or gaming system. Your imagination really is the limit. If you wish to build this controller I would also strongly recommend you design your own schematic, switch layout and all your own software. Make it truly YOURS.
As I am in Australia my parts and links will likely be different to any of yours so I would recommend doing your own research! I have a full parts list PDF of everything I used here. I also recommend using your own parts to make your controller custom to what you need/want it to do!
The basic parts list:
- A case of some sort
- Acrylic panel
- Buttons and switches
- LCD screen, voltage readout
- PLA filament
- 3D carbon fibre vinyl
- A speaker and audio module (if you want it to talk)
I have kept the tools basic, you can use whatever you have:
- Dremel with cutting blade
- Soldering iron
- Cigarette lighter (for heat shrink tubing)
- Screw driver
- Pointy nose pliers
- Squeegee (for applying vinyl wrap and stickers)
- Stanley knife (for cutting acrylic)
Step 1: Getting Started
What do I want my controller to do? What buttons/switches and functions does it need? What do I want it to look like? What is the budget? These are all necessary questions to ask yourself before you begin to tackle this task. So start off by getting a notepad and writing down ideas. It also helps to do research on existing controllers, you might just find that golden idea.
You will need to think of every single function your controller needs to perform and what type of buttons/switches you are going to need for it. In my case this was controlling multiple parts of a launch pad and launching a rocket. So I needed switches for settings, a way of starting the launch sequence, security codes to ensure no one else can launch the rocket and some other minor things.
My big emergency stop button was absolutely essential for my form of controller! The controller starts a 15 second countdown sequence during which the launch pad prepares to launch the rocket. Any time during this 15 seconds some form of danger could become present, the big red button cuts all power to the controller, stopping any more wireless signals from getting to the launch pad and ensuring the rocket CANNOT launch.
I also need a way to control an external 12V revolving light, the Arduino can only output a 5V signal so a MOSFET was used for this task. A MOSFET was also used to create a circuit to ignite the rocket motor with a wired connection to the controller. If something is not working on launch day with the wireless control I am able to wire the igniter leads to the controller to launch the rocket.
Once you know what your controller needs to do it is time to create the circuit diagram of all your components and figure out how you will set them out on the main panel...
Step 2: Layout & Wiring
A good component layout is essential for versatility and usability, as well as aesthetics which is honestly all I care about. This explains why the antenna is in front of the emergency stop button? I found this layout by getting the original foam from the case and moving the components around on it until I was happy with how it looked. The remaining open space in the middle is for some fancy decals, but as I previously said I do not have access to a vinyl cutter right now, so instead I have my project logo sticker next to it.
Once you have designed this layout, mark the spots of the components on acrylic board along with the hole dimensions and board outline dimensions, this will be cut in the next step. I used 3mm acrylic.
Once you know all the components you need and where they go you will need to create some form of schematic or table of where the connections all go. Here is my pin table and my schematic. Do not copy my documents as my components will be different to yours and therefore the connections will be different, however your welcome to use mine as a guide, for free. The schematic was made just for this Instructables as I only used the pin table to make my controller, therefore the schematic is rushed and may have errors! If you would like a copy of the Fritzing file send me a message on any of my social media accounts and I will email it to you, for free once again!
When planning your wiring you will need to consider how many pins you have on your Arduino (I recommend an Arduino Mega or Arduino Mega Pro). You will also need to research your components and see if there is any specific pins they have to go into, for example you may have SPI or I2C components which need specific pins. Once you find the exact pins that certain components need you can then fill in the remaining digital and analog pins with other inputs and outputs such as switches, buttons, LED's, buzzers and MOSFET's.
All the documents are available on my dodgy website: https://robinsonaerospace.wixsite.com/rocket/documents
Once all this planning is complete, you are on to the fun stuff...
Step 3: Cutting
It is time to cut the main acrylic panel and then cut all the holes for the components! Be careful, your about to make a huge mess! Make sure you have marked out every cut and make sure they are right. You can cut away more material, but you cant add it back once its gone... well not very nicely anyway! I made a mistake when cutting my main panel, I didn't score the line enough with the Stanley knife and it took away too much material when I snapped it, fortunately this was easily covered up by making a gap to lift the panel.
To cut the main board shape I clamped a steel ruler along the edge lines and dragged and Stanley knife along the line until I was about half way through the panel, this took a LONG time. I then clamped the acrylic to a table with the cutting line on the table edge and the part I want on the table. The bit handing over the edge then easily snapped off with a bit of force, however it left some daggy edges. I used a hammer to roughly clean up these edges and then a Dremel with a sanding bit to make them smooth. My case has round corners so I had to round off the corners of the acrylic with the Dremel, using a cutting bit to start with and finishing with a sanding bit.
Once you have the panel outline you can use a combination of a Dremel cutting blade and a drill to cut all the holes in your panel. Big circles were done with many small Dremel cuts, rectangles and squares were cut with the Dremel and small holes were drilled. All these holes can be cleaned up with a file, sand paper and a Dremel sanding bit afterwards.
Its time to clean up any cracks or rough edges with the vinyl wrap...
Step 4: Wrap & Mount
I bought some super cheap carbon fibre vinyl wrap on eBay to cover the whole panel, real carbon fibre was going to be too expensive and very messy but I did consider it. Cut a piece of vinyl slightly larger then the panel, whether its carbon, wood?, gloss black or you might just want to paint it! It's up to your preference. Then carefully peel back a small amount of the adhesive cover and begin applying it to the board. Make sure you use a squeegee to remove any bubbles as you go along. Carefully lay down the vinyl and wrap it over the edges tightly. Depending on the quality of your vinyl you may need to add some extra glue! If your super fussy you may also want to slightly soften the vinyl with a hair dryer or heat gun to get super smooth corners.
Once this is done it is time to cut away any vinyl that is covering the holes for your components. Be careful to not mess up your beautiful vinyl work!
Now you can mount all the components in their spots. The components may need nuts, screws, glue/epoxy or friction fit. Generally most components go in easy enough. My NRF24 long range transceiver module was sitting on an angle in the hole, so I added a washer and it straightened it up nicely. This part needed to be held in with epoxy, so I quickly mixed some up, OUTSIDE!
I needed somewhere to store the NRF24 antenna when the case was closed, so to avoid loosing it I decided to make a 3D printed clip that gets screwed into the panel. This clip is available on Thingiverse here!
With your panel looking complete (apart from any labels you may want to add) it is time to flip it over and start the wiring...
Step 5: Soldering & Wiring
Each of my wires are soldered on to the components and then ran to the Arduino, where they are plugged in with male header pins. I had to custom make these wires by cutting the plugs off jumper wires, soldering them to an appropriate length of wire and then insulating them with heat shrink tubing. Before you begin soldering, mount your micro controller on the back of the panel so you can plan your wire lengths accordingly. I recommend making your wires longer then they need to be, this helps with neatly organising them when its all done. You may also have small components like resistors, screw terminals and MOSFET's to solder onto some perf board.
When your wires are soldered you can plug them all into their Arduino pins and then use cable ties to try and make it all neater. This process takes a long time but is so worth it and very satisfying!
The speaker in the 3D printed housing is for a future upgrade which involves playing .wav files and making the controller talk/play sounds.
This whole process took me over two days straight as making custom wires and insulating every connection is extremely time consuming! Just put on some music, grab some snacks and start soldering. Make sure your schematic is close by!
With all the wiring complete it is time for the SOFTWARE...
Step 6: Software
I have currently got basic software to get all the settings and to accept security codes however my software is incomplete as the launch pad is unfinished! I will edit this section and add all my software and an explanation of it when I am done!
Everyone's software will be different depending on what your controller will do. It is at this point that your controller starts to come to life! I recommend researching how to program each of your components and then designing your software with a flow chart. You can see my setup software flow chart here, although I have not got a flow chart for my launch sequence software yet.
The easiest way to tackle large amounts of software is to plan it. The more you plan it the easier it is. Start by wiring down notes and progress to a final flow chart diagram showing everything your controller needs to do and how the system is navigated. Mine shows what is displayed on the LCD screen as well as how to get between sections. Once you have designed your software and know how to program each component, grab a coffee and get a much done as you can in one evening. Do this over a couple of nights and it will be done before you know it! Forums and the Arduino website will become your best friend over these few nights!
My biggest tip, this will save your life! When you are setting your buttons/switches as inputs you must use this piece of code: pinMode(6, INPUT_PULLUP);
If you do not add '_PULLUP' your buttons/switches will bounce and not work. I learnt this the hard way and spent 5 hours of extra work on this alone before I realised my simple mistake.
By the end of your software you would have uploaded it at least 100 times for testing, but there is still more testing to be done...
Step 7: Testing
Testing, testing, testing. The key to making any project perfect and function the way it needs to. If something doesn't work you will have to track down the problem, possibly replace components, do some rewiring or in the best case just change a tiny bit of code. No project will ever work perfect first try. Just persist with it until its done and working smoothly.
Once it works perfect your ready to use it! In my case this is launching rockets...
Step 8: Launch!
Your were all waiting for some sweet launch photos/videos! Sorry for doing this to you but the first launch is still at least 3 months off. I need to make the launch pad and finalise every part of the entire project. I am currently 6 months in and have worked every day since I started. It is an absolutely huge project!
I am currently working on a big video about how I made the controller as well as what is does and a few demos. This will hopefully be on YouTube within a week!
With that being said you can follow my progress up until the first launch and through all the initial failures and tuning. I am working on many YouTube videos regarding the project and I am constantly posting to twitter and Instagram. There is some big YouTube videos coming regarding the rocket itself, the launch pad and of course launches. Here is all my accounts...
My Dodgy Website: https://robinsonaerospace.wixsite.com/rocket
Step 9: One Step Further!?
As I said earlier I am not done yet! I still need to get the battery, mount it and make the final labels.
However I have had many other ideas on how to take this one step further!
- Raspberry Pi computer with screen built into case lid
- Banana plugs for wired backup launch
- External antenna on a tripod
- Battery charging with a plug on the main panel
- Programming with a plug on the main panel
- Real carbon fibre panel
- Supports behind panel to stop bending
I apologise for the lack of progress photos! They were taken on my phone as I didn't think to take many.
I hope this inspires you to make your own! I'd love to see your work....