Projects and Technical Ramblings

Estimating BB Muzzle Velocity With A Voice Recorder And A Curtain


If you’re reading this blog, the chances are that at some point you’ve had a hankerin’ to do some science.

There’s a certain type of mind that looks at things and just wonders about them. Why does that transformer make that buzzing sound? What’s the muzzle energy of this BB gun lying on my desk here? Whether this is a useful activity or just intellectual navel-gazing is difficult to say.

The BB gun in question is pretty terrible – without a piece of electrical tape in the right place it tends to explode in every direction apart from the one in which it’s pointed. However, this does mean there’s a pretty hefty spring hiding in there, which is what got me wondering. How would I measure the muzzle velocity though?

One way of measuring projectile speed is to record it from the side with a high-speed camera against a backdrop of known feature size, à la Mythbusters:


I want to do this with the things in my desk and kitchen though (science right now), and my phone camera only goes up to 60fps, so that’s right out.

Walter Lewin has a great demo at the end of this lecture where he fires a rifle through two wires with a current flowing through them, and then measures the time between the wires breaking to calculate the speed. Unfortunately I don’t have this lying around in my kitchen either.

This is the method I came up with:

  • Rest the BB gun on a chair, a known distance (4m) from a curtain (use a tape measure)
  • Turn on my phone’s voice recorder
  • Fire the BB gun at the curtain a bunch of times

This is all the data I need to find the average velocity. Primary school science: speed = \frac{distance}{time}

Opening up the recordings in Audacity:

We see two features:

  • When the gun is fired
  • When the BB hits the curtain.

I measured the times between these using the cursors in Audacity, and stuck it all into a spreadsheet. Subtracting the time for the sound to propagate back from the curtain (4m / 330 m/s = 19 ms) we get an average Time of Flight (ToF) of ~112ms.


Using Student’s t distribution it was straightforward to calculate a 95% confidence interval for the projectile’s average speed: between 33.6 and 38.3 metres per second. Ballin’.

After counting 100 of the BBs into a little jar and weighing with my kitchen scales, I also knew that the average projectile mass was 0.11g +- 0.05.

However. Substituting this value into E_{K}=\frac{1}{2}mv^{2} does not give you the muzzle energy, because the BB’s speed is not constant, due to air drag. Neither does it give you the average KE. In fact, it’s pretty useless. We’re going to need to do some modelling.

I assumed that the drag force experienced by the ball was equal to its cross sectional area multiplied by the dynamic pressure:

F = -\frac{1}{2}\rho v^{2} A

Where \rho is air density and v is speed.

Newton’s second law then gives us

m\ddot{x} + \frac{1}{2}\rho \dot{x}^{2}A = 0

Where m is the projectile’s mass and x is its horizontal displacement from the muzzle.


\textup{Let }R = \frac{\rho A}{2m}

\ddot{x} + R\dot{x}^{2} = 0

At first this looked nasty, so I stuck everything into a spreadsheet and did Euler integration (difference equations).

Then I realised you can substitute \dot{x} for v. Oops.

\dot{v} + Rv^{2} = 0

\frac{dv}{dt} = -Rv^{2}

Separate variables:

\int{\frac{1}{v^2}dv} = -R\int{dt}

\frac{1}{2v} = Rt + c

To find the constant, we’ll want to find the position in terms of time, so we rearrange and integrate:

v = \frac{2}{Rt + c}

x =\frac{2}{R}ln(Rt + c) + d

After measuring a line of BBs with a ruler, I found my constants and the specific function, shown in red above. Making the time step smaller shows that this is pretty much a perfect fit. Success! Using our model, we can now predict the BB’s velocity at every point in its 112 millisecond flight.

The answer to the original question? About 63m/s, with a KE of 0.22 Joules. Enough energy to lift an apple 20cm off of a table. Ouch. However, by the time the BB reaches the curtain 4 metres away, we can predict that it will have only 1/9th of its initial energy.

Using kitchen scales and a ruler to calculate the gun’s spring constant, it’s quick and easy to find the work of travel (about 1.4 Joules) and determine that the gun is approximately 15% efficient at turning spring energy into muzzle energy.


5 thoughts on “Estimating BB Muzzle Velocity With A Voice Recorder And A Curtain

  1. Pingback: Estimating BB Gun Muzzle Velocity with a Voice Recorder and a Curtain

  2. Pingback: Estimating BB Gun Muzzle Velocity with a Voice Recorder and a Curtain - Tech key | Techzone | Tech data

  3. Pingback: Estimating BB Gun Muzzle Velocity with a Voice Recorder and a Curtain | Ad Pub

  4. Pingback: Estimating BB Gun Muzzle Velocity with a Voice Recorder and a Curtain | Hack The Planet

  5. You may marry my daughter


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s