Saturday, August 2, 2014


Last week, my family and I attended NARAM 56 in Pueblo, CO. This was my first time attending any national rocketry event, so I wanted to record my impressions, as well as any advice for other future first-timers.

First I should make it clear why I went:

  1. The first reason was to watch the ULA intern rocket launches. How could watching the launch of a 25 foot tall rocket not be cool?
  2. I've never been to a club launch other than CRASH, which does non-waivered launches, so this would be a neat opportunity to see some bigger stuff fly.
  3. I decided to do my L1 certification attempt.
  4. And finally, I went for the fun of being around lots of other rocket geeks (and vendors).
One thing I've come to realize, which perhaps should have been obvious from the name of the event, is that much of the focus is about competitions (the AM in NARAM is for "Annual Meet", after all). I've never really been into official competitions (rocketry or otherwise), so that's not really my thing. Nevertheless, the sport range was set to be open all week, and there were nightly events at the hotel, so I knew there would be lots to do.

The ULA Launch

One interesting point to make here is that there is really no link between NARAM in general and the ULA launch. AFAIK, the ULA launch happens at the SCORE site in Pueblo every year, and it just happened to coincide with NARAM 56 being there this year. While the ULA launches were a big draw and focal point of the first day of NARAM 56, I'll note two things: First, the ULA page describing the 2014 launches says NOTHING about the NAR, NARAM, or SCORE (while the reverse is not true - the NARAM 56 site does have info about the ULA launches). Second, the ULA interns I spoke to seemed correspondingly uninterested in the NAR and NARAM. They were there on Saturday, did their launches, and then were gone. The few that my wife and I spoke to, even at their information booth, were definitely not there to promote any sort of NAR involvement. To be frank - and to be fair, maybe this was just the handful of interns we spoke with - they didn't seem interested in promoting anything, including ULA. They were pretty wrapped up in themselves. Maybe that's just college kids for you.

Nevertheless, it was pretty cool to watch the launches. Since two out of three of them are O class rockets, we had to be about 2000 feet away. But still, really cool to see. Big, bright, smokey, and LOUD. I'd definitely make the two hour drive down to Pueblo just to see this again.

Here are a few points of advice for first timers if you ever go to see these:
  • Before you go, check out the ULA site for event details. I'd only looked for info on the NARAM 56 site, which didn't have as much of the schedule detail as the ULA site did. So I didn't know the specific launch schedule until we arrived that morning.
  • Get there early, not just to stake out a viewing spot, but to get a close-up look at the rockets. They only allow this for a one-hour window in the morning, and you have to factor in time for the 3/4 mile round trip walk to do this (a big consideration if, like us, you have little kids with you).
  • Bring some sort of sunshade. This year, the launches were scheduled for 10:00, 11:00, and 12:00, but they were somewhat delayed (and I gather that happens for one reason or another every year). 
  • Bring a portable FM radio. We got there late enough that we had to set ourselves a good distance from the PA area. While there's not a bad seat in the house for viewing the launches, we could barely hear the PA, and almost missed one launch because we couldn't hear the countdown. If you get there early enough to stake out a good spot, this won't be an issue. But apparently they were broadcasting the PA on a localized FM frequency as well.
  • As you're hanging out waiting for the launches, chat up your neighbors. Many of the people there to observe have some sort of connection to the project, so you never know what you might learn. We happened to be sitting by a retired ULA engineer who's been an advisor on the project for five years, and also the parents of an intern who built one of the payloads.

Stars 'n'Stripes shortly before launch.

Stars 'n'Stripes goes up.

Recovery of the booster stage of Future. These guys were hot and tired after a long walk.

Hanging out at NARAM in general
  • Sport Launching: We had a great time doing this. It was crowded on the weekend, but from Monday on was low-key. So cool to just be there and see all the rockets and all the flights. Many big rockets (up through M class), many odd rocs. Of course, everyone is happy to talk about their rockets, your rockets, and whatever else. We met a ton of really nice people. Bring a big sunshade and table and set up your spot.
  • Vendors: No vendors ever set up at the hotel, although a room was available for them to if they wanted. There were a whole lot of them at the sport range, but that started to thin out after the weekend (though there was always at least someone selling motors). I never noted anyone offering any special deals for the event (other than 10% off of your next web order or something to that effect). 
  • The competitions: As I said, I'm not really a competitor. But since registration included participation in one event for free, I decided to enter the 160m set altitude comp just to see what it was like (I happen to have one rocket that I've flown with an altimeter that hits within 10m of that fairly reliably). Short story: I don't plan to become more of a competitor in the future. These folks take this very seriously. If you're a newcomer to this, read and understand the Pink Book so you know the process, because (in my limited experience) people at the event were not entirely patient with newbs who don't know the process, and don't have the time, willingness, or people skills to speak the two or three sentences that might make clear what you need to do next. Overall, I find sport launching a lot more fun that the competitions.

Everything Else

There was always something going on in the evenings: viewing rockets submitted for the "fun event" competitions (as well as "real" comps), viewing of prang videos (a scheduled night launch was canceled due to weather), a fundraising auction, etc. This stuff was all neat to see, and another great chance to mingle and chat with other rocket buffs. As I mentioned before, we met so many nice and interesting people.

Final Thoughts

It was a great time. We all enjoyed it - even my wife, who is not really a "rocket person." It was a great chance to get more involved in the hobby, meet people, see some interesting things people have done,  and also feel my way around what specific areas of it interest me most (HPR- yes, competitions - no). While I don't know that I'd go any further than a few hours' drive for another such event in the future, it does make me want to become more involved with my local NAR sections.

HPR L1 - part three - (Successful!) Certification

The start date for NARAM 56 finally arrived (I plan to write another post with my impressions) and we made our way down to Pueblo. On the advice of one of the NAR board members I met at check-in, we spent Saturday just watching the ULA launches and "enjoying the festivities", and had a relaxing day Sunday doing a bit of low power sport launching of our own. I planned to try for certification on Monday, when the sport range would be much more low-key.

The only drawback to this was that over the course of the weekend, I witnessed about a dozen other certification attempts, three or four of which were unsuccessful (including an L2 attempt that blew to pieces a few hundred feet up). That didn't exactly bolster my confidence, but on the other hand, I'd done my homework and was confident in my build and planning.

The weather on Monday was slightly windy, but otherwise good. As soon as we got to the field, I began my prep, loading up a 38mm Cesaroni H120 Red Lightning motor and preparing my payload. In addition to my own data logger, I also included my Jolly Logic 2 altimeter. (Actually my new Jolly Logic. I'd lost my old one the previous day when it came detached from my Mozzie, presumably at ejection. Two zip ties to attach it, from now on.)

The certification process was exactly as I think it should be. Steve Lubliner of SARA (Tuscon) did my cert. He was friendly, and - more importantly - thorough. He checked out the rocket, asked me several questions about the build, and sent me out to the pad. One small comment - "Nice build" - boosted my confidence immensely.

My kids were out there with me to help as I loaded the rocket onto the pad, and my wife took photos. Then there were many agonizing minutes spent waiting for my turn for launch. I was fortunate to have the moral support of family and new friends as I paced about.

Finally - countdown and liftoff! I honestly couldn't have asked for a better flight. Straight up, flawless recovery system deployment (I used motor ejection - no need to complicate things on a cert attempt - plenty of opportunity to get fancy later), and soft touchdown in the field about 100 meters away from the pad.

Loading it onto the rail.

This photo is actually from the second flight (on Tuesday) using a CTI H123 Skidmark motor. Less total impulse, but it makes for a better photo :)

Launch video - also on the Skidmark motor. The camera got bumped and we missed video of the cert flight.

One other change I made to the standard kit: I swapped the 36" flat chute for a 36" elliptical Fruity Chute. Expensive, but I think it lowered the descent rate to a much more acceptable 19 fps (compared to an estimated 28 fps with the stock chute).

Recovery team.

Final inspection and "welcome to high power."

A plot from the data off of my data logger. Two interesting things: First, the GPS seems like it wasn't able to keep up during the quick boost phase, which didn't surprise me. Second, the barometric pressure sensor reported a height about 16% hight than either the GPS or the Jolly Logic altimeter. The accelerometer also reported a peak acceleration slightly higher than the Jolly Logic. But otherwise the data looks as I expect it would. It will take more analysis and testing before I can decide what to trust.

Flight Stats (from the Jolly Logic)
  • Height (AGL): 1449 ft
  • Top Speed: 223 mph
  • Peak/Average Acceleration: 6.6/5.5 G
  • Thrust duration: 1.85 s (seems low compared to the motor thrust curve)
  • Coast to Apogee: 8.3 s
  • Apogee to Ejection: 1.0 s
  • Descent Rate: 13mph
  • Total Duration: 82.5 s

Final Thoughts

I'd like to say that I learned something from the certification process, but that's really not the case. The cert was almost a formality. The learning was all in the advance prep and research. Here would be my advice to anyone else pursuing L1:
  1. Don't get ahead of yourself. Learn the hobby and don't skip steps. Become proficient with low power and mid power first. There is a lot to learn along the way.
  2. Keep it simple. Go with a solid, basic kit and motor ejection. I also chose Cesaroni reloads since they are so much simpler to use than Aerotech.
  3. An absolute must: use simulation software - OpenRocket (my choice) or RockSim. I used this to determine CP/stability, descent rate (and proper parachute choice), and ejection delay.

Friday, July 11, 2014

HPR L1 - part two - The Payload

As I stated in my last post, I can explore and learn with the Torrent kit in a number of ways, but my immediate goal is Level One HPR certification. That said, however, I can't just leave an empty seat in a payload bay when a rocket is going up with a $30 motor.

Aside from rocketry, the other things I've been playing around with a lot lately are electronics and microcontrollers. Some time ago, I'd picked up a GPS component on clearance at Radio Shack for pretty cheap. After testing it out with an Arduino, I decided that I could build a data logger to ride along on my L1 flight. In addition, I've added a couple of very inexpensive sensors I got from China on eBay - a barometric pressure sensor to detect altitude, and a 3-axis accelerometer.

Here's the parts list:
  • Arduino 3.3V Pro Mini - $4 (Arduino Day sale price - thanks SparFun!)
  • Parallax PMB-648 GPS module - I don't remember how much it was.
  • BMP-180 pressure sensor - $2 (from eBay)
  • ADXL345 accelerometer - $3 (from eBay)
  • SD card reader breakout board - $3 (from eBay)
  • 9V batter holder
  • 3 resistors
  • Adafruit half-size Perma-Proto board
  • a small slide switch
  • some 22 gauge wire
  • female headers
  • solder
  • some M2 and M3 screws, nuts, and standoffs for mounting everything
Overall, under $40.

It's not the most compact or elegant package, but mainly with this version I want to see if it works, how everything holds up under launch G-forces and recovery conditions, and what kind of data I get. If it works well, I plan to build a new version, using a 10 DOF board, a micro-SD card, and maybe a better/smaller GPS and a LiPo battery.

Here's a diagram of how I wired it. I mounted the Arduino, the pressure sensor, and the accelerometer on the proto-board, but in this diagram I just included the headers to show where they would be placed, since there are some wires running underneath the breakout boards. The specific Arduino pin connections are detailed in the comments of the sketch.

The ADXL345 board I have has two rows of 5 pins, and is mounted in rows I6-10 and A6-10. The BMP180 is in E12-15. The Arduino has pin 9 at the top left. Note also that the Arduino Micro has A4 and A5 hole that are not on the outer edge, so the green and yellow wires shown at D14 and D15 are actually wires that are soldered directly to the Pro Micro. Also, I chose a 470 Ω resistor for the green portion of the LED because otherwise it looked a whole lot brighter than the red and blue components.

The pressure sensor and the accelerometer communicate with the Arduino over I2C, and I use the Adafruit libraries to interface with them. The SD card connects over SPI. In initial testing, I tried reading the GPS with SoftwareSerial, but found that it was a lot faster connected to the hardware UART TX/RX lines. Note that in my final configuration, I did not solder the GPS line that connects to RX1, but instead connect it with a jumper, because this needs to be disconnected whenever I re-program the Arduino.

I didn't bother making any sort of power switch that I could access when this is set up inside the payload bay for two reasons: First, since this device doesn't arm any sort of ejection charge, there is no safety consideration for doing it. Second, in testing I found that it will easily run for over two hours on a rechargeable 9V, so it is no problem to just power it up as I prep the rocket for launch, even if it means that it runs and collects ground data while I wait for a launch spot.

When running, the LED flashes each time a write is done to the SD card,  with one color indicating if each of the three sensors is working. Typically it will  flash with red and green immediately on power-up, then after 30s or so, when the GPS gets a fix, the blue will kick in. I've found that I can see these colors by peaking into the vent hole of the bay when it is all loaded up for a final check.

The data is written to a CSV file on the SD card. I get about 12 lines per second of altimeter and accelerometer data, and a new GPS read about once or twice a second (this seems to come in at random times). With an old 2GB SD card in there, I have more space than I'll ever need. I'd considered using EEPROM modules to store the data to save some physical space and power, but it would limit the memory space too much and make it harder to download the data. Plus power use doesn't seem to be an issue, so it didn't seem worth pursuing. Maybe in a future version.

Partly because of its bulk, and partly because I want to save the sled that came with the Torrent kit for a "real" dual-deployment altimeter, I made my own sled for mounting of the electronics. I epoxied four 1.5" lengths of aluminum tubing to a piece of 1/8" thick craft plywood cut to fit all the components, then mounted everything up with the screws. Except the GPS, which has no mounting holes - that is just held on with double-stick foam tape. I'm crossing my fingers on that one (though I may do something else to reinforce it - zip tie holes?).

Overall weight of the electronics, battery, and sled is 148g.

All completed, here is what it looks like, before and after mounting it on the sled:

And finally, here is the Arduino sketch I put together:

/* Torrent datalogger payload
   millis, altitude (m), x accel (m/s^2), y accel, z accel,
   lat, long, GPS altitude, course, speed, satellites, date, time
 * SD card attached to SPI bus as follows:
 ** MOSI - pin 11 - green
 ** MISO - pin 12 - blue
 ** CLK - pin 13  - yellow
 ** CS - pin 4    - orange
 Altimeter, accelerometer (I2C):
   Connect SCL to analog 5
   Connect SDA to analog 4
   Connect VDD to 3.3V DC
   Connect GROUND to common ground
   Yellow wire to Arduino RX

 Status LED
  red - 7 green - 8  blue - 9
#include <SD.h>
#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_BMP085_U.h>
#include <Adafruit_ADXL345_U.h>
#include <TinyGPS.h>

int led = 13;
int red = 7;
int green = 8;
int blue = 9;
boolean red_status = LOW;
boolean green_status = LOW;
boolean blue_status = LOW;
unsigned long last_fix = 1;

File myFile;
Adafruit_BMP085_Unified bmp = Adafruit_BMP085_Unified(10085);
Adafruit_ADXL345_Unified accel = Adafruit_ADXL345_Unified(12345);
float adxl[3];
TinyGPS gps;

void setup()
  Serial.begin(4800);  // necessary for GPS read
  pinMode(led, OUTPUT);
  pinMode(red, OUTPUT);    
  pinMode(green, OUTPUT);
  pinMode(blue, OUTPUT);
  /* Initialise the altimeter */
    //Serial.print("Ooops, no BMP085 detected ... Check your wiring or I2C ADDR!");
  /* Initialise the accelerometer */
    /* There was a problem detecting the ADXL345 ... check your connections */
    //Serial.println("Ooops, no ADXL345 detected ... Check your wiring!");

  // On the Ethernet Shield, CS is pin 4. It's set as an output by default.
  // Note that even if it's not used as the CS pin, the hardware SS pin 
  // (10 on most Arduino boards, 53 on the Mega) must be left as an output 
  // or the SD library functions will not work. 
   pinMode(10, OUTPUT);
  if (!SD.begin(4)) {
    //Serial.println("initialization failed!");
  //Serial.println("initialization done.");
}  // setup

float get_altitude() {
  sensors_event_t event;
  if (event.pressure) {
    float temperature;
    float seaLevelPressure = SENSORS_PRESSURE_SEALEVELHPA;
    float my_altitude;
    my_altitude = bmp.pressureToAltitude(seaLevelPressure,
    if ( my_altitude < 0 ) {
      red_status = LOW; 
      return -1;
    else {
      red_status = HIGH; 
      return my_altitude;
  else { 
    red_status = LOW; 
    return 0; }

void get_accel(float *pdata) {
  sensors_event_t event; 
  if (event.acceleration.x) {
    pdata[0] = event.acceleration.x;
    pdata[1] = event.acceleration.y;
    pdata[2] = event.acceleration.z;
    green_status = HIGH;
  else {
    green_status = LOW; 
    pdata[0] = 999; 
    pdata[1] = 999;
    pdata[2] = 999;

bool feedgps() {
  while (Serial.available()) {
    if (gps.encode(
      return true;
  return false;

void gpsdump(TinyGPS &gps) {

  float latitude, longitude;
  unsigned long fix_age;
  gps.f_get_position(&latitude, &longitude, &fix_age);
  if (fix_age == TinyGPS::GPS_INVALID_AGE )
    blue_status = LOW;
  else if (fix_age > 2000)
    blue_status = LOW;
    blue_status = HIGH;
  int year;
  byte month, day, hour, minute, second, hundredths;
  myFile.print(month, DEC); myFile.print("/"); myFile.print(day, DEC); myFile.print("/"); myFile.print(year);
  myFile.print(hour, DEC); myFile.print(":"); myFile.print(minute, DEC); myFile.print(":"); myFile.print(second, DEC);


void led_on () {
  digitalWrite(red, red_status);
  digitalWrite(green, green_status);
  digitalWrite(blue, blue_status);

void led_off () {
  digitalWrite(red, LOW);
  digitalWrite(green, LOW);
  digitalWrite(blue, LOW);

void loop()
  myFile ="torr06.csv", FILE_WRITE);
  if (myFile) {
    //digitalWrite(led, HIGH);
    if ( millis() - last_fix > 4000 ) {
      blue_status = LOW;
    if (feedgps()) {
      last_fix = millis();
    myFile.println(' ');
    //digitalWrite(led, LOW);


Tuesday, June 24, 2014

HPR L1 - part one - Building the Rocket

The next few blog entries concern my attempt for NAR Level One High Power Certification.

the motivation

At the end of July, I plan to attend NARAM 56 in Pueblo with my family. The initial motivation for this was to watch some of the really big HPR stuff, in particular the ULA launches. But of course I have to participate to some degree. In talking about it with my wife, she actually was the one who convinced me to go for my certification, reasoning that as long as we're taking several days to go down there, I might as well make the most of the event. How could I argue?

the rocket

For my L1 build, I selected the Madcow Torrent, for several reasons:
  • I like the kit designer. I've had one other Madcow kit, and really liked it.
  • The kit is not a giant stretch in terms of construction techniques, since it is all cardboard and wood.
  • I like the vendor. The Torrent is available (only) from Apogee. Their website is really excellent in terms of education and information, including a whole series of videos on construction of the Torrent. They have great customer service, and are always responsive with questions. Plus I like to buy from a local (Colorado) company, and it doesn't hurt that I was in the Springs so I didn't have to pay shipping.
  • I wanted something with a good size payload so I can experiment with my own custom-built avionics.
  • I can grow quite a bit with this kit. If all goes well, after I get my L1, I can further pursue L2 with this same rocket. Also, I can get experience with dual deployment easily since it comes with an ebay.

The one thing I don't like about the rocket is that, due to its weight, I can't fly it at the local CRASH launches. So for future flights, I'm going to have to attend either NAR national events, or else join up with NCR. Not a big deal though, since the 38mm H+ motors for this aren't cheap - I won't be flying it all that often. 

the build

I don't see the need to post any pictures of the build, because it's basically been "by the book" - or video in this case, following along with the Apogee tutorials. There are a couple things I will note:

  • Glue or epoxy? I struggled with this decision quite a bit. In general, I'd rather not use epoxy unless I need to. And reading around, the results are interesting. Everyone says that for wood and paper, wood glue with give you just as strong a bond as epoxy. But it's rare to see anyone say that they've done an HPR build with wood glue, with the very notable exception of the Apogee videos. I even went so far as to email Mike Stoop at Madcow to ask his opinion. His answer was interesting:  
me: I'm following the Super DX3 instructions from Madcow, which say to use epoxy.
On Apogee's website, they have a series of construction videos in which they use wood glue for all the wood/cardboard joints.
Reading various forums, the general consensus seems to be that for wood/cardboard, wood glue is as strong as epoxy, and lighter. Yet a lot of people still exclusively use epoxy on their HP builds.
I was just wondering what your take is on this. 
Mike Stoop: I would tend to agree on the wood glue - it is much easier to use.  However, we have not built any of our kits with wood glue, we only use epoxy.  Sorry can’t be more help on this. 
In the end, I decided to go with wood glue, though I still lose a little sleep over the decision, particularly since it really wouldn't have hurt to just have used the darn epoxy. Will it hold up? time will tell. But it's only my first HPR build - probably won't be my last.
  • Shock cord/mount. Not a big modification, but I did not tie my shock cord to the eye bolt on the forward ring. On this 4" diameter rocket, it is easy enough for me to reach in there and attach it with a quick link. I like the flexibility this offers. Also, I purchased a nomex sleeve for the tubular nylon shock cord.
  • Internal fillets. There are a couple of nicely documented builds of this model on the Rocketry Forum. Following the lead of a couple of these, I put some good internal fillets on my fins and motor mount. First I glued only the forward centering ring onto the motor tube. I then glued this inside the airframe, using the UNglued aft ring to position it. Removing the aft ring, I was able to put good heavy fillets on both sides of the forward ring. Next I mounted the fins, and again, with the aft ring not in place, I was able to put good internal fillets on the fins where they connected to the airframe and motor tube. Then finally I glued in the aft ring.
  • Motor retention. I bought an Aeropack retainer to use with this rocket, which would've been great if I hadn't messed up and left not quite enough of the motor tube exposed to attach it fully. So instead I went with a Madcow retainer.
  • Finally, I added parachute swivel.

I've considered getting a larger parachute than the 36" that comes with the kit. Some reviews indicate that it may be a bit undersized, and my simulations with OpenRocket bear this out, showing an approximate descent rate of 28 fps for the fully built rocket with ebay sled. I've decided to stick with the stock chute for the initial flight and see what the actual descent rate is from my Jolly Logic 2 altimeter. Again, hopefully I won't regret this decision, as a damaged rocket will result in a failed certification attempt.

Throughout the build, I've weighed all components and re-weighed them as they'd been assembled, updating a detailed OpenRocket design. I'll do the final real-world CG measurements when I've go the paint on, but for now it looks like I've got good stability (1.5 to 1.6 cal) for H and I motors.

One other thing I'll comment on. Being a little old-fashioned, I like books. And you can't argue that Harry Stine's Handbook of Model Rocketry is anything but a great book to have. I also like the comprehensiveness and level of detail in Tim Van Milligan's Model Rocket Design and Construction. So I decided to buy Modern High Power Rocketry - 2nd ed. from NARTS. I won't mince words here - it was mostly a waste of money. While the book is a good overview of the topic, it doesn't really go into great depth on anything. The information it provides is readily available from vendor/organization websites, casual web browsing, or even the two books formerly mentioned. Many of the diagrams look like they were done on a Commodore 64. Further, it is extremely repetitive. Each chapter not only rehashes much information from other related chapters, but there are numerous sidebars that add nothing other than repeating information from the main text. The chapters on Level 3 are interesting and fun to read, but most likely won't ever be of practical use to me. There is exactly one new and worthwhile piece of information I got from this book: substitute closed (forged) eyebolts for the open eyebolts generally supplied with kits. They don't weigh much more and are much stronger. Alas, I read this after I'd already mounted my open bolts with epoxy, but I don't imagine it will be a problem on the four pound Torrent. But definitely something to keep in mind for future HPR builds, especially if I ever get to something big and really heavy.

the motor

For my certification attempt, I'll be using a Cesaroni H120 in a Pro38 casing. I've never used a reloadable motor before, so the simplicity of the Cesaroni system (compared to Aerotech) was appealing. Also, I like having the ability to put spacers in the casing, so the Pro38 case can be used with various sizes of reloads. I purchased 3-grain case with two spacers, but plan to purchase 6-grain case as well in the future for L2 certification. This will allow me to use a huge range of Cesaroni 38mm reloads.

The clincher, however, was the Cesaroni certification special, which gives you the casing for free. Can't beat that.

the payload

On the certification flight, I plan to have my trusty little Jolly Logic 2 on board, as well as a custom-built data logger. I've got all sorts of plans and ideas for avionics, but for this initial attempt, I plan to build something to log GPS, altimeter, and accelerometer data. Details on this in my next post…

Monday, February 10, 2014

How do you keep track of your launch data?

Once I got back into model rocketry, I realized that I'd like a good way to keep track of my rockets, and where and when they launched. By profession, I'm an Oracle DBA and developer, so naturally my first thought was to create a database app. My next thought was that it would be nice to have it online, so the data would be available - and updatable -  on any device at any time. But I'm not a web developer.

The perfect solution for me is Oracle Application Express. It is an easy-to-use web platform for development of database applications. At least it has been easy for me to learn, with a background in database development.

The best part of it is that Oracle operates a free Application Express (ApEx) instance, and you can sign up to get a free workspace for personal use in about two minutes. You get (I think) 10MB of space, which is plenty of you're just keeping track of your own launch data, or even that for your own club. (And if you want to grow it beyond that, you can run your own db and app server for free with Oracle XE - up to 4GB.)

So I set about to create my own app, the brilliantly named rocket log. It took me just  a couple hours to put the entire thing together, from start to finish. It keeps track of three main entities:

1. Rockets, of course. For each rocket, I can track basic attributes like name, manufacturer, build date, engines used, etc. plus a single photo.

2. Launch Sessions, to track the places, dates, and conditions for each launch day.

3. Launches. Each launch is associated with a single rocket and launch session. Not only do I track the basic data like date and motor used, but I also have spaces for specific launch data provided by the altimeters I have, including functionality to upload a CSV of time vs height data from my FD-Altimeter, then compute status such as max speed and height and display the data as a graph. I also keep launch simulation data (from OpenRocket) here, so I can quickly reference it when trying to choose a motor for a launch.

Finally, I have a page where I maintain a list of motor types I use, along with links to the NAR motor data sheets.

Another nice feature of ApEx is that it provides templates for easy development of mobile-friendly pages as well. So I've got one app that I can access either from a laptop or from a smartphone, so I can check motor data or add launch info out in the field.

Since I built it, I've put it to good use keeping track of 21 rockets and 80+ launches so far. Of course, once I got the basic functionality completed, I moved on to other projects, and I have a list of desired enhancements that I'll probably never get to:
  • Provide the ability to easily switch between English and Metric units.
  • Allow for the addition of URLs/links on most pages. For example, on a rocket page, I should be able to add links to the manufacturer's product description page, or to reviews and launch reports on external websites. On the launches page, I should be able to add links to external photo sites. Also maybe a page for general links to favorite vendors and such.
  • I need to do some clean-up on my implementation of motors, including making the recommended motor list on the rockets page a pick list.
  • I need to enhance the navigation within the app.

I've created a read-only guest login to the app so anyone can log in and look it over. Please do, and leave comments if you have ideas or suggestions. Or let me know what you do to track your own data.