Welcome Guest, you are in: Login

FUBAR Labs Hackerspace Wiki



Search the wiki

Back to the Main Rocket Page


After testing the air/ethanol engine for a few months I decided to use a stronger oxidizer, Gaseous Oxygen (O2). The engine and plumbing were designed in the first few weeks of August 2012 and built over the second half of the month.



Gaseous Oxygen or GOX for short is an ideal oxidizer for many reasons: it's non-toxic, relatively inexpensive, readily available from gas suppliers, to name just a few. However, despite the fact that we breathe oxygen every second of the day it can be dangerous if misused. Oxygen vigorously supports combustion in high concentrations and can cause explosions if not handled correctly. All testing of this engine was done under the advice of professionals who helped me design and implement safe procedures for handling GOX in a rocket engine.

2012-12-05 - I was recently asked for the list of guidelines I compiled from ARocket for cleaning parts for oxygen service. Here is a PDF of the questions and answers. Use at your own risk.


The engine dimensions are exactly the same as the air/ethanol engine. This enabled me to re-use the previous engine and avoid time intensive fabrication work. Since it is running on GOX the mass flow could be reduced significantly. I also had to decrease the chamber pressure to 150 psi (1.03 MPa) in order to keep the throat diameter the same. The fuel line was basically kept the same; however, the oxidizer line had to be completely re-built with oxygen compatible materials.

The engine is calculated to run with a chamber temperature of 2487 Kelvin or ~ 4000 degrees Fahrenheit. This is above the melting point of aluminum, which means the engine can only be run for a short time before it overheats


One new feature I added to the engine is a purge line. While not technically needed on such a small engine I wanted to start studying purge in prep for larger engines. As the name suggest purge sends a fluid through the engine plumbing to ensure that propellants aren't "going places they shouldn't." In other words, we want to ensure that we keep oxidizers out of the fuel line and vice versa as well as ensure that propellants aren’t pooling in the engine chamber. A typical purge would be run before and after engine firing. For this engine I used gaseous nitrogen from the fuel pressure line.

While purge has been built, it has not been tested in a live fire as of 2012-09-09.

Engine Detailed Specs

Here is a link to the detailed engine specs. This document is in Excel .xlsx format and was scanned for viruses before uploading.



An impressive display of sparks and more normal operation

An impressive display of sparks and more normal operation

Initial tests were just to confirm ignition and to practice safety procedures. Firing times were intentionally kept short (2 seconds) in order to minimize the chance of any failures due to overheating.

I ran 2 tests and both resulted in successful combustion. Short video clips can be found below

There were some interesting sparks that probably indicate combustion stability issues. The upper screen to the right shows an instances of these sparks occurring during engine firing. The lower screen shows a more normal operation. I need to research this further, however, I believe it was caused by a rough surface in the converging section of the throat.

Next Round Of Tests: October - Early November

From October through early November most testing time was spent fixing bugs in the hardware. The majority of the bugs were focused in 2 areas: addressing a design error that caused the engine o-ring to fail and grounding the spark plug/coil.

Frame from an O-Ring Failure Test

Frame from an O-Ring Failure Test

O-Ring Failure - A single hard PTFE o-ring kept the lid of the engine connected to the body. The lid was tightened via 4 machine screws. Due to a mistake made during fabrication of the engine a small part of the o-ring was exposed to the hot gas side of the engine chamber. This did not cause an immediate failure, however, after a few firings the o-ring split in half causing the engine to loose pressure immediately.

The hard PTFE o-ring had given me trouble from the start. It was difficult to compress, which made getting a firm seal problematic. After the failure, I opted for a thinner more compressible Viton o-ring. I was able to modify the existing engine by machining out the old o-ring slot and creating a new one for the Viton o-ring. This time the o-ring was not exposed to the hot-gas side of the engine and the o-ring failure issues subsided.

Spark Plug/Coil - A constant problem was that the spark plug and coil were not properly grounded. This would manifest itself by the Arduino occasionally resetting or the thermocouple alarm LED lighting up whenever the igniter was in use. It eventually caused the failure of: a pressure transducer, a thermocouple amplifier, and an FTDI chip on the Arduino. 3 possible causes were hypothesized: reverse voltage coming back through spark plug circuit, electro-magnetic interference, not enough copper on the ground connection. I worked through each in order.

In order to rule out reverse voltage I built a new spark circuit with an optocoupler. I was a bit suspicious that this was the issue as I was fairly sure a modern automobile LS2 spark coil would have protection built in already. This did not resolve the grounding issues. Next I tried using magnetically shielded coaxial cable. This helped a bit. Finally, I tried using a larger copper wire for the ground connection. Similar to the magnetically shielded wire it helped a bit but was not the root cause. At this point the grounding issues weren’t quite as bad, however, they were still noticeable and I was concerned about testing again until they were fully resolved. Through trial and error I noticed that the issues were much worse when I tested the spark plug/coil on the test stand then when it was just sitting on the ground. I had not previously grounded the test stand to the battery negative terminal so I tried this and it made a huge difference.

Even after all this the thermocouple circuit Alarm LED would still light up when its probe was touching the engine. The thermocouple power was being fed by the Arduino 5V power pin and I wasn’t concerned that it was getting too much current; however, I happened to stick a 7K resistor on it and noticed that it resolved LED Alarm issues.

I began researching this online, however, there are not a lot of others using microcontrollers in this manner and I couldn’t find a plausible explanation. This shows my electrical engineering limitations and will require further investigation.

Good Data: November 18th and 25th

Sequential Frames (l-r & top- bottom) of an engine test on 2012-11-25

Sequential Frames (l->r & top-> bottom) of an engine test on 2012-11-25

The first successful tests where actual data was obtained were done on the weekends of 11/18 and 11/25. During these tests I was able to obtain pressure data and videos of a number of test fires. This included multiple fires to prove the engine was capable of restarting and long duration tests of up to 4.5 seconds.

During these tests I was very impressed with the reliability of the engine. At this point most of the hardware bugs were worked out and setup/firing of the engine was much easier than in previous tests. The engine responded accurately and predictably. Setup/Fueling of the engine was also fairly trivial at least compared to prior tests. Below is a set of pressure data from 3 - 3 second engine fires each spaced about 30 seconds apart from each other. A video of the test can be found here.

The first thing I noticed from the data is that the engine performed almost identical over all 3 tests. The pressure was almost constant during firing and there was little pressure loss as the engine fired. In each of the tests the fuel valve would open at 500 milliseconds. This was followed by 50 millisecond period before the oxidizer valve would be opened. Once the oxidizer valve was opened it would take between 175 and 250 milliseconds for the engine to get up to its normal operating pressure.

I also noticed that after each test the initial pressure would be a bit higher. For the first test (blue line) notice that the curve is almost logarithmic, however the second (red line) and especially the third (green line) tests are essentially linear. The third test essentially spikes straight up and then tapers down to it’s normal operating pressure.

I’m hypothesizing this phenomenon this is caused by improved mixing due to the higher initial chamber temperature at the start of each subsequent test. For the first the pre-firing chamber temperature was ambient or about 5o Celsius. However, after firing the chamber temp was probably about 100-200o. Then by the third it was probably about 300-400o C.

Unfortunately, I cannot be sure this is the case because the thermocouple sensor responsible for reading exterior wall engine temperature would always measure 0o Celsius after the engine was fired. Further analysis is required to understand this phenomenon, however from reading the Datasheet of the AD595AQ Thermocouple Amplifier I used there is a note that says the terminating connections on a pair of thermocouple wires must be kept at the same temperature as the AD595AQ. It is possible that due to the very rapid heating of the engine during firing this requirement was not met causing the temperature to read 0o C, however, further analysis is required to understand this phenomenon.

Here is a second test with a fire duration of 4.5 seconds, which is the longest duration I have yet to fire the engine. This is because the engine is a heat sink and while Aluminum is a pretty good conductor the engine will eventually overheat and melt. Equations can be used to predict this, however, I have not yet nor do I plan to invest the time to calculate this.


The data from the tests is really 2 separate firings. The first is a brief 500 millisecond firing to ensure the engine is operating correctly followed then by the 4.5 second firing.

Notice that the 4.5 second firing also runs at just about the exact same pressure as the prior test. I’ve seen this result with just about every test regardless of the firing duration, which suggests a very consistent and (hopefully) reliable engine.

Additional comments...

The reader may notice a lot of jaggedness in the pressure data. I do not think this is due to an un-steady firing as the transducer exhibited that behavior even when neither fuel nor oxidizer was flowing. Rather I think this mainly a result of the fact that the microcontroller I used, an Arduino Uno, is 8bit and the pressure transducer scaled between 0 and 1000psi. This means that the difference between every measurement would be about 3.9 PSI (=1000/256), which is quite a lot.

The reader may also notice that I claimed the engine would run at 150 PSI, however, the pressure tests show it runs at about half that pressure. I do not have an explanation for this yet; however, I can offer a few theories:
  1. The chamber throat has a larger diameter than 1/8” (0.125”). Just a slightly larger throat diameter could make a significant change in operating pressure for a fixed mass flow rate.
  2. Either my oxidizer, fuel pressure, or both is (much) less than the 500 and 200 PSI respectively they should run at.
  3. The converging section of the throat is causing pressure losses due to poor geometry. Machining the inside of such a small engine was difficult and it forced me to use a 2 stepped angle with an initially much stepper 60o angle followed by a sloping 30o angle. The 30o angle was done using a custom machined bit and the interior surface was a bit rougher than I’d like at this point.

Of the 3, I’d expect 1 or 2 are the most likely contributors to this. 3 could certainly have some effect but I’d anticipate it to be minimal.
  Name Size
- TestFiring.2012-11-25.png 415.50 KB

ScrewTurn Wiki version Some of the icons created by FamFamFam.