arduino physics

Building the CosmicWatch muon detector.

The pyramids at Giza. From left to right, the Third Pyramid of Mycerinus, the Second Pyramid of Chephren, the Great Pyramid of Cheops.
Photo Credit: National Geographic Society.

In 2017 I read this article in Physics Today. It describes how MIT student Spencer N. Axani designed and built a muon detector. I had just read Luis Alvarez’s autobiography ‘Alvarez: Adventures of a Physicist‘. In it he describes how he and his colleagues ‘X-rayed’ the Second Pyramid of Chephren using muons. You can read his original paper here. This process is called muon radiography and an international collaboration called Scan Pyramids recently used it to discover a hidden chamber in the Great Pyramid of Cheops. I became fascinated with muons and decided to build it at home.

What are muons?

Muons were first discovered by Carl D. Anderson and Seth Neddermeyer at Caltech in 1936. Anderson had already discovered the Positron in 1932 and shared a Noble Prize with Victor Hess for this achievement. Muons are a species of the ‘particle zoo’ called Leptons. They have the same charge as an electron but about 207 times its mass. The muons we detect on earth are mostly ‘secondary muons’. These are created when cosmic rays interact with the molecules in the upper atmosphere About 10,000 muons impact every square meter of the earth every minute. The solar weather, temperature and pressure all effect this ‘rain of charged particles’.

One of the most interesting aspects of muons is that they are one of the easiest ways to directly demonstrate the relativistic effects of time dilation and length contraction. Although it’s interesting to read about and learn that these are real effects it still feels very ‘theoretical’ and inaccessible. By directly detecting the muon flux and doing some basic math we can deduce that the only way 10,000 muons can arrive here every minute is because of relativistic time dilation. Let’s do some math and see how this works.

We know from creating muons on earth that they have a mean life time of approximately 2.2 microseconds. That’s 2.2 millionths of a second. If we say that most muons are created at 15 km above the surface of the earth and travel at 99.4% of the speed of light Newtonian physics predicts they can only travel 660 metres before decaying. This is clearly no where near the 15000 metres they need to get to the earths surface. So what is happening? Relativistic time dilation extends the lifetime of the muon, so they live long enough for a significant number to reach the earths surface.

0.995c * 2.2 \mu s \approx 660 m

So we need to introduce the Lorentz factor.

\Delta t = \Delta t_ \mu \frac{1}{\sqrt{1-v^2/c^2}}

How does it work?

The device that detects the muons is a square, transparent piece of plastic scintillator. Scintillators emit visible light with a wavelength of around 425 nano-meters which is a purplish blue when a charged particle or high-energy photon travels through them. A silicon photo-multiplier is attached to a face of the scintillator with optical gel. The entire detector is wrapped in aluminum foil and black electrical tape to keep it light-tight and inserted into an aluminum case. The aluminum case stops alpha and beta radiation from giving false positives. Gamma radiation can still penetrate so the detector can also be used as a Geiger counter!

When a muon travels through the scintillator it emits a flash of light which causes the SiPM to emit a small (10-100 mV) pulse about 0.5 microseconds in length. This is the yellow wave form in the photo below. The op-amp then amplifies the pulse by a factor of six and stretches the wave-form in time so it can be read by the Arduino. The amplified and stretched wave-form is the purple trace below.

Oscilloscope showing signal from the SiPM (yellow) and the processed signal read by the Arduino (purple).

The Arduino is loaded with software to calculate the time and magnitude of each detected pulse. The OLED screen displays the number of events detected and the calculated rate of events per second. This is known as the ‘muon flux’. 10,000 muons are expected to travel through every square meter per minute. Therefore we can calculate that out detector which has an area of 0.0025 square metres should detect 25 muons per minute. This translates into muon flux of approximately 0.4 Hz.

Serial monitor output from the Arduino showing time stamped muon events with pulse magnitude and detector ‘up-time’.

Building the detector.

When I started this project I was studying remotely so I didn’t have access to the resources of a university campus. Also components tend to cost a great deal more than in the states. I was unable to find plastic scintillator for a long time. Eventually I found some already cut and polished on eBay. I estimate the entire project cost me $500 AUD. I also brought an oscilloscope, but that had been on my wish list for a long time and this project was just an incentive to buy one.

It was the first time I had worked with Surface Mount Technology. I was always more of a through-hole component and breadboard kinda guy. This was a great introduction to SMT and taught me a lot about its pros and cons. Don’t look too closely at the soldering, its pretty shocking. I also made several rookie errors during construction. The worst was deciding to ‘clean’ the SiPM with 90% pure alcohol and then reading the datasheet which specifically mentions isopropyl alcohol as causing immediate and lasting damage. Of course I ruined the most expensive component in the whole project. An $150 lesson in always reading the datasheet first!

Because I took so long to find the scintillator, by the time I ordered the PCB’s from Breadboard Killer an updated version of the detector had been released. Version 2 has slightly improved electronics and a better layout. However, because I didn’t want to invest another $190 in PCB’s I decided to proceed with version one.

Testing the OLED screen.

The build was quite straight forward apart from needing to invest in tweezers and a magnifying glass to deal with the SMT components. I wont go into the details because everything is very nicely documented on the CosmicWatch website. Grady from the excellent Youtube channel Practical Engineering recently built the updated version here.

The plastic scintillator wrapped in black tape.

I designed a custom 3D printed case for the detector that is small than the one specified and removes the need for a separate sensor casing.

CAD section analysis of case design.
Detecting muons.
Plot of muon events over several days. Note the events are stratified into lines. I’m not sure why this is.

This is a fantastic project by Spencer and his colleagues. Particle physics can seem super inaccessible to the average student. The desktop muon detector taught me so much about Arduino, SMT, particle physics and more. Please reach out if you need any advice on building or finding components.


Mars Regolith Collection Rover

A team project for Engineering Design Process at UNSW. We had to design a prototype rover to collect Martian regolith for 3D printing radiation shelters like this. Our design is radio-controlled with 4WD, skid steer and a regolith capacity of 5 kg. Download our design report or watch the video below to learn more.