Skip to main content
shopping_basket Basket 0

Building a Cosmic Ray Detector Part 2: Assembly and Initial Testing

Andrew Back

CosmicWatch main PCB

CosmicWatch theory of operation, and assembling and testing the main PCB.

CosmicWatch is a project from MIT in the US and Poland’s National Center for Nuclear Research, that enables anyone with basic electronic skills to build a low-cost desktop detector for the muon particles which are created when cosmic rays collide with the earth’s atmosphere.

In Part 1 in this series we took a look at primary vs. secondary cosmic rays, how we would go about detecting the latter, and introduced CosmicWatch. In this post, we will take a look in more detail at the theory of operation for the desktop muon detector, before going on to cover assembling and testing of the main PCB, with some thoughts also on reproducible design.

Theory of operation

Schematic Diagram: Theory of operation

The plastic scintillator material we’ll be using is Bicron BC408 and this is specified as having a high light output, with stated applications including muon detection. When secondary cosmic rays pass through the aluminium enclosure of our detector and then the block of scintillator material, this will generate a tiny flash of light, which will then be detected by the coupled photomultiplier.

DC-DC Booster Circuit

In the previous post, we discussed how a silicon photomultiplier (SiPM) device is far more convenient than a photomultiplier tube (PMT) since it is a great deal smaller and does not require a power supply of up to thousands of volts. However, a SiPM does require a high voltage by digital standards, of around 30v. The detector is powered via USB and hence has a 5V supply, so a boost circuit based upon the LT3461 step-up DC/DC converter (761-8670) is used.

SiPM PCB board schematic

When a photon strikes the SiPM device it results in an avalanche effect, whereby a single electron turns into a current in the order of millions of electrons. The photomultiplier device is structured as microcells and the current produced is proportional to how many of these were triggered, which corresponds to the incident photon flux and allows us to measure this.

Amplification Circuit

The voltage associated with a single microcell discharge is in the order of a few millivolts and when a muon passes through the scintillator, it’s apparently typical to see a few dozen photons. Hence amplification is required and this is taken care of by an LT1807 precision dual op-amp (779-9508) based circuit, which provides a gain factor of around 24x.

Peak Detector

The amplified signal is next sent to a peak detector, which holds the pulse sufficient time for an Arduino to measure the voltage, before then decaying ready for the next pulse.

Main PCB Schematic

The microcontroller ADC samples the waveform at approximately 178kHz. The Arduino also takes care of other tasks, such as converting the measured pulse amplitude to SiPM pulse amplitude, recording event time and dead time between events, controlling the OLED screen, and sending data to a computer attached via USB.

SDcard PCB Schematic

There is also a small board with a Micro SD card socket, which attaches to the mainboard and can be used to record data locally. This may prove particularly useful where the most compact solution is desirable, or where only battery power is available, for example.


Main PCB - unpopulated

We started out assembling the main PCB by soldering the passive components, such as resistors and capacitors. The vast majority of the components are SMD and so an illuminated magnifier or microscope comes in handy.

smd components added to main PCB

Next, the ICs were soldered, along with pin headers.

IC and pin headers added to main board PCB

A 2x4 male header on the underside of the board is used to connect the small Micro SD card PCB. The instructions note that the 6-pin header from the Arduino Nano should be used, along with 2x pins from its main header strips. However, we’re using a genuine Arduino — instead of a clone — and this comes with all the headers soldered. This wasn’t an issue, though, as we had some strips of 0.1” pitch header and simply cut two 4-pin lengths of this to use.

header added to connect the small Micro SD card PCB

Next, the Arduino Nano was soldered and following this, it then became apparent that we did have an issue: its 6-pin header will interfere with the SiPM PCB when this is fitted to the 6-pin female header on the main PCB. De-soldering the Arduino wouldn’t be much fun, since it was reasonably difficult to insert and hence removal after being soldered is likely to be even less fun. So it was decided that we’ll have to simply clip the pins on the Arduino header.

Initial testing

Initial testing of PCB

Following the completion of assembling the mainboard, we can carry out some basic testing. First, we apply power via the Arduino Nano USB socket and then measure the SiPM power supply at the 6-pin female header, to confirm the operation of the boost circuit. Above we can see that we did in fact measure the expected 29.5V.

Now on to programming the Arduino.

Screen shot - programming the Arduino

The firmware makes use of a number of Arduino libraries and most of these come bundled with the IDE, with just a couple to install.

Screen shot - sketch was then opened in the IDE

The sketch was then opened in the IDE, compiled and uploaded to the Arduino Nano.

Seeed Studio OLED module

A Seeed Studio OLED module (174-3239) had been cabled to the 4-pin socket at the front of the mainboard, which sprung into life after programming. Obviously, at this point any readings displayed will be erroneous, since the SiPM device is not connected.


Component parts

A number of the items specified in the bill of materials are generic/clone parts with vague identifiers. As such it’s not always going to be easy to procure them and much easier to get something close but not compatible. With this in mind it was decided to try and substitute these for authentic parts — e.g. genuine Arduino Nano — and those from recognisable vendors, since it should make it easier for others to recreate the build. This approach has worked so far with the OLED module, while the genuine Arduino Nano should be fine with the 6-pin header clipped, although de-soldering this prior to fitting the Arduino to the main PCB is likely preferable.

For the Micro SD card slot, a number of parts were tried against the footprint, some of which we already had in the workshop and a couple more that were added to the parts order. However, none of these quite fit and so we’ll have to try again to find one that does.

While making something as low cost as possible is clearly a laudable aim and particularly when it’s intended to be built by schools and colleges, there is also something to be said for reproducibility, with designs utilising parts that can be sourced globally and reliably over time. Of course, one shouldn’t complain too much when a design such as this has been made freely available and one solution to such issues is to create your own version that addresses them!

Next steps

In the next post, we’ll take cover put together the SiPM plus scintillator assembly and testing the completed detector with a Raspberry Pi connected to its USB port.

Andrew Back

Open source (hardware and software!) advocate, Treasurer and Director of the Free and Open Source Silicon Foundation, organiser of Wuthering Bytes technology festival and founder of the Open Source Hardware User Group.

Recommended Articles


March 16, 2021 08:13

Very interesting, an area I have not explored but now tempted!
Would the detector detect Radon if it was enclosed in a light-tight container but with airflow through path?

0 Votes

March 16, 2021 15:17

@Boss I imagine so, since an issue with the detector is distinguishing cosmic from background radiation, with radon being one source of the latter. This is addressed by having two detectors in coincidence mode. Not sure how you would do the opposite and not count cosmic radiation. Though it's probably comprativiely low and with radon the alarm level may be much higher. There may be also be particular scintillator and maybe filter materials that could be used. Could also be that for such simpler applications, where you want to raise the alarm when there is some worrying level of ionising radiation, you could even just use an ionisation chamber, which is much simpler and cheaper to make. I built one of these nearly 10 years ago:

March 18, 2021 08:03

@Andrew Back Thank you. Yes I recall your previous article, I shall have a read. Many years ago I worked on a laser Raman system with a liquid Nitrogen cooled CCD for low noise and cosmic ray events were an issue causing huge spikes on the generated spectrum or occasionally severe distortions which were put down to the direction of impact of the cosmic ray. The spectra shape was known as we were only looking at the Raman signal from Nitrogen and Oxygen in a defined range, this was fact was used to calculate a 'spectra quality factor' to decide whether to repeat the data collection. At the time we never considered the cosmic ray 'noise' was anything other than an annoyance, but perhaps it could have been a useful tool!

DesignSpark Electrical Logolinkedin