I try to build a radiation detector using of an arrangement of silicon photomultipliers (SiPMs) coupled to a scintillator and I want to read out the number of photons recorded by each SiPM sensor. I need to build a data acquisition system to store the recorded SiPM signals on disk, so that I can analyze them on my PC later. I expect event rates of around 10³ - 10⁴ events per second, where each true event generates a signal in several sensors at the same time. The rate per sensor is probably an order of magnitude smaller.

There are many academic publications dealing with the simultaneous readout of many individual SiPMs. However, these are mostly state-of-the-art experiments using high-end customized ASICs and VME crates, which are out of my reach. This is more of a hobby project and I do not have advanced equipment at my disposal. Therefore, I would like to build the readout chain with parts I can buy off the shelf. But I am unsure how to do this exactly and have some questions:

  1. Is it realistic to attempt to create a multichannel SiPM readout at home with off-the-shelf components or is this too ambitious? Ideally, I would like to use parts I can either plug into a prototype board or solder manually, but especially some of the high-performance components (like a multi-channel high-speed ADC) mainly come in compact packages. Is it feasible to use evaluation boards to use such components?

  2. Does the following readout chain seem like a reasonable approach or am I missing something important?

    • A simple bias voltage supply for the SiPMs
    • A shaping and amplification stage for each of the SiPMs to extract and form the signals
    • Digitization of the signals with a high-speed ADC
    • Feeding the digitized signals into an FPGA, where discriminator and trigger conditions are defined
    • Sending the accepted events to a PC, where they are stored for later evaluation
  3. I'll probably start with a small number of SiPM sensors, but the goal is to use a large number of sensors simultaneously (I am envisaging 64 or more). I think this will be challenging and the above steps will become more complicated. I guess this would require a number of FPGAs working in parallel and then some coordination between them. Are there established ways how to handle a very large number of inputs?

Thank you in advance for your suggestions!

Note: This is an edited version of my original question to be more specific

  • 1
    \$\begingroup\$ The DIO (digital input/output) card you linked to won't be of much use since you are looking at analog signals. \$\endgroup\$
    – JRE
    Dec 29, 2020 at 15:02
  • \$\begingroup\$ What is the bandwidth of the sensors you want to use? In other words, how many times per second do you need to read the analog value of all 64 sensors? \$\endgroup\$
    – JRE
    Dec 29, 2020 at 15:03
  • \$\begingroup\$ Whoops. I see "10³ - 10⁴ events per second" - is that per sensor? \$\endgroup\$
    – JRE
    Dec 29, 2020 at 15:04
  • 1
    \$\begingroup\$ This question is way too general to answer. If you're going to ask for design help, you need to clearly define your problem, your specifications, and your goals, since these define what the thing you're designing will be. \$\endgroup\$ Dec 29, 2020 at 21:00
  • 1
    \$\begingroup\$ Sorry, but this question doesn't really fit here. At present it is not specific enough, but even if the requirement were specific "design this for me" is a project commission, not a question for a stack exchange site. The most practical thing you can do is look at what others are using for this purpose; academic papers tend to explain the apparatus in a lot of detail. \$\endgroup\$ Dec 29, 2020 at 22:42

1 Answer 1


However, I do not know how these steps are best realized in practice. What components should I buy to create such a data acquisition chain?

This is a large and open area of research, with literally hundreds of papers exploring different approaches. It is not realistic to summarize an entire of field of research in a couple paragraphs. Instead, I recommend you head over to Google Scholar and begin reading. Fortunately, the literature is relatively accessible, and there are a lot of good online PPT presentations from CERN and elsewhere reviewing the topic.

But in general, detection is going to involve pulse shaping (to improve time resolution and prevent pile up), discrimination, and then a digital hardware to record the arrival time. The exact form of that hardware is going to depend on your choice of detector, required time resolution, and how much work you put into the design (e.g. custom vs. off the shelf hardware).

For example, there are many boards available (for example these DIO cards), but I am not sure if they are sufficient or how they integrate with the other parts of the data acquisition chain.

I would probably try to find something designed for TCSPC. Otherwise you're going to have to try and implement all of that yourself, which is going to be hard if you're not familiar with acquisition hardware.

Edit for more information:

I expect each event to cause a signal in only five to ten SiPMs, so the event rate per sensor is one order of magnitude lower, i.e. around 10² - 10³ er second

Typical SiPM dark count values at room temperature at on the order of 100,000 dark counts per mm^2. Are you actually able to measure 100 events per second on your detectors? Do you have access to liquid nitrogen or other cryogenic cooling?

  • \$\begingroup\$ No, this is a project at home. I do not have access to advanced refrigeration, but I thought that the trigger condition would be enough to filter out most dark counts. Since a true event creates a reasonably strong signal in different SiPMs simultaneously, I believe that for example a simple threshold condition on the sum signal will reject most dark counts. Is this reasonable or are there other problems associated with dark counts? \$\endgroup\$
    – Sentry
    Jan 10, 2021 at 22:28
  • \$\begingroup\$ By the way, I read up on TCSPC and this is an interesting subject. It's not quite what I'm trying to achieve, but the literature explains very well how the precision timing is done. \$\endgroup\$
    – Sentry
    Jan 10, 2021 at 22:31
  • \$\begingroup\$ It is reasonable if each event generates enough photons that you can get above the background dark counts. \$\endgroup\$ Jan 11, 2021 at 0:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.