Measuring Density

Let’s kick things off with something I’ve been exploring recently. I had noticed that dark roasts take up a lot more space in the basket than light roasts, and thought I would try to measure the density of the beans to see how it correlated with the type of roast, where the beans came from, etc.

There are a few different ways of measuring density, each with different strengths and weaknesses. The three methods I considered most carefully were:

  • Bulk density. This is the measurement you would get if you put a bunch of beans into a graduated cylinder, measured their weight, and divided by the volume indicated by the graduated cylinder. This is a very easy measurement to make, but it’s also difficult to do it accurately, and the bulk density isn’t likely to give us insight into the extraction process.
  • True density. This is the density of the beans themselves, and doesn’t take into account the way the whole beans pack. The challenge here is measuring the volume of the beans. This could be done with water displacement, but now you’ve got wet beans. It could also be done with a gas pycnometer—something which could be made at home. However, it would be difficult to incorporate gas pycnometry into my morning routine.
  • Puck density. This is the density of the tamped puck in the portafilter basket. It’s easy to measure the volume of the tamped puck, since the basket provides a nearly cylindrical form, and the mass of the puck is something we often measure anyway. In this case we’re also measuring the properties of the puck we’re about to extract, so it seems likely we might be able to get some insight from the measurement.

I want to come back to gas pycnometry, as I think it could be a good way to characterize a new bag of beans when it’s first opened.

Ultimately, however, I chose to measure puck density by measuring the distance from the top of the basket to the top of the puck. This can be done quickly and accurately using a caliper as a depth gauge, as shown here:

Measuring depth using a caliper

This could be done using a commercial depth base attachment like this one, but I designed and 3D printed my own along with a little foot for the bottom of the depth rod.

Before each measurement, I zero the caliper with the depth rod against the counter. Then I position the base of the caliper across the portafilter basket and push the depth rod down until it touches the surface of the puck. This gives me my depth, d. Then I calculate the volume of the puck, V, as follows:

    \[V=\pi \left( \frac{D}{2} \right)^2 (d-d_0)\]

where D is the inside diameter of the basket, and d_0 is the depth of the empty basket. Finally, we can calculate the density of the puck, \rho, as follows:

    \[\rho = \frac{m}{V}\]

where m is the mass of the puck.

We can use these measurements to look at puck density using three different beans:

Puck density for three different beans

From left to right, these are:

  • Monogram Coffee’s Dumerso, a very light roast
  • Five’21 Coffee Roasters’ Ethiopia, a medium roast
  • Nordstrom’s Debut Espresso Blend, a very dark roast

In general, dark roasts are less dense than light roasts, although other factors can come into play as well. In the next post, we’ll look at the effect of grind setting on puck density.


  1. Dark roasts expand more. Dark roast coffee has less caffeine by volume, but more by weight. Not sure how this is in any way relevant. Dose and grind are determined by the cup.

    1. The initial goal here was really just to measure density. The plot at the end was one of the first indications that the measurements might be working as expected, and might produce meaningful information (e.g., in this case we could ask if density is correlated with the roast, altitude at which the coffee is grown, etc.), but of course such a plot isn’t very useful on its own.

Comments are closed.