All-In-One Gamma-Ray Spectrometer

More sensitive to gamma radiation than a Geiger counter with the added bonus of telling exactly what's inside your samples!

Public Chat
Similar projects worth following
Using a small custom PCB, a Raspberry Pi Pico microcontroller and a scintillator (typically NaI(Tl)) you can build your own gamma spectrometer! The needed processing and multi-channel analyzer are all on-board so no external parts are needed, except something to look at the data (with a screen, obviously).

This detector uses a silicon photomultiplier (SiPM) instead of the usual photomultiplier tubes that are more common with these types of DIY projects. This means that the whole assembly is much smaller and also safer, because no high voltages are needed! Also in contrast to projects like theremino you don't strictly need a computer or even an external sound card -- everything is self-contained. You can do standalone measurements using only a USB power cable and save the spectra to the Pico's flash storage or connect to your PC via the Serial-over-USB connection.

Here are some of the most important key facts:

  • Compact design: Total size 120 x 50 mm. 70 x 50 mm area for electronics and additional 50 x 50 mm to mount the scintillator.
  • All-in-one detector: No external parts (e.g. sound card) required to record gamma spectra.
  • Micro-USB serial connection and power.
  • Easily programmable using the standard Arduino IDE.
  • Low-voltage device: No HV needed for a photomultiplier tube.
  • SiPM voltage range from 28 V to 33 V.
  • Low power consumption: ~25 mA @ 5 V.
  • Adjustable preamp gain for the SiPM pulses (affects energy range & resolution).
  • Default Mode: Capable of up to around 40,000 cps while also measuring energy.
  • Geiger Mode: Capable of up to around 100,000 cps without energy measurement.
  • 4096 ADC channels for the energy range of about 30 keV to 1300 keV.
  • Additional broken-out power pins and I2C header for displays, etc.

The principle of operation for the detector looks like this:

Read more »


Schematic of the main detector board

Adobe Portable Document Format - 102.00 kB - 07/08/2022 at 01:06



BOM for the main detector board

ms-excel - 1.61 kB - 07/05/2022 at 17:40



Schematic of the SiPM carrier board

Adobe Portable Document Format - 26.73 kB - 05/19/2022 at 15:34



BOM for the SiPM carrier board

ms-excel - 964.00 bytes - 05/19/2022 at 15:34


  • 1 × Raspberry Pi Pico Microcontroller and heart of this detector
  • 1 × MicroFC-60035 SiPM The silicon photomultiplier used with the scintillator
  • 1 × SiPM carrier PCB Production-ready gerber file in GitHub repo
  • 7 × Components SiPM board See BOM for exact parts
  • 1 × Main detector PCB Production-ready gerber file in GitHub repo

View all 7 components

  • Assembled detector boards

    NuclearPhoenix07/08/2022 at 00:52 0 comments

    The main hassle of getting into this project was always and still is getting all the components for the main detector board and soldering them to the PCB. Although I have reduced the number of individual parts and also uploaded it to Kitspace to make it as easy as possible on the DIY side of things, some of you might not have the time, patience or equipment to solder SMT parts or to take care of getting all the parts and that's completely understandable.

    That's why I'm currently working with a company that manufactures electronics kits and other DIY hardware to offer the main detector board (with the Raspberry Pi Pico) fully pre-assembled. The only things you need to get after that are your SiPM and a scintillator! Especially for the last one there are tons of offers on sites like ebay where you can get a used one cheaply.

    The whole production process has recently started so I'm estimating everything should be ready in the next few weeks. You can expect the price to be somewhere in the neighborhood of $50 by the way. I'm not sure yet if DIY kits (so just all the "raw" parts combined) would be nice to have too or if Kitspace is enough for that -- if you're interested please feel free to leave some feedback!

    I'll post an update linking to the store page once the boards are available.

  • New detector board is here!

    NuclearPhoenix07/05/2022 at 19:52 0 comments

    It didn't take quite as long as expected, now it is here: the revision 2 board!

    Like I announced in the last project log this new hardware revision includes following changes:

    • Custom preamp gain so that you can use different scintillator sizes, SiPMs and of course, change the energy resolution and range.
    • Custom PSU voltage thanks to the new MAX5026 DC/DC converter, specifically made for these kinds of applications (low noise <5 mVpp @ 30V). It includes some potentiometers so that you can set the voltage anywhere from 28 V to 33 V.
    • The peak detector/sample and hold OpAmp OPA2354 has been switched for two OPA357s which are mostly identical. As preamp I am now using the OPA356 which has double the Gain Bandwidth Product (200 MHz) and its gain can be adjusted too now.
    • Improved PCB layout which includes a better mechanical structure and getting rid of the dodgy pin connectors (caused me some headaches lol). Also includes space for you to mount the scintillator on the board so that it's one single mechanical unit.
    • Custom I2C header for the Pico so that you can use it to expand its use case to your own preferences, e.g. connect it to a display, communicate with other microcontrollers, etc.
    • Additional place for an (optional) LM4040 voltage reference on the back side of the PCB. That's the one recommended for the Pico according to its datasheet (and also it's one of the cheapest for the output accuracy).
    • All the power pins are broken out now so that you can tinker with different power delivery solutions or even battery-powered operation. See the Pico's datasheet for more info on this.
    Read more »

  • New detector revision coming soon!

    NuclearPhoenix06/30/2022 at 15:43 0 comments

    Firstly, welcome to all the numerous newcomers to this project that came here from some of the articles released in the last couple of days! I'm glad that so many other people are interested in this kind of (arguably) pretty exotic topic :)

    As you might have noticed, some parts are currently becoming Unoptanium. This includes the OPA2354 OpAmp that's used and most importantly the MicroFC-60035-SMT silicon photomultiplier itself. To try and fix these issues, I'm working hard on replacing these parts in the mean time, until they eventually get in stock again (which will probably not happen too soon unfortunately).

    Read more »

  • New SiPM carrier board

    NuclearPhoenix05/19/2022 at 10:52 0 comments

    I'm currently working on a new detector board that makes this whole thing more modular and usable. It is going to include variable SiPM bias voltage and preamp gain this time. There will also be a better option for mounting than just the pin header now. And last but not least, I'll change the preamp and SiPM DC/DC converter to fit better parts!

    Read more »

View all 4 project logs

  • 1
    Solder SiPM carrier board components

    All the SMD parts, the pin header and the SiPM itself. Orient yourself with the schematic and BOM. You can solder the pin header or, even better, use small wires instead.

    Optionally, you can also skip this part and use the raw SiPM on its own and try to solder some small wires directly to it. That's not recommended though, as this whole process is quite delicate.

  • 2
    Couple SiPM with scintillator

    Center the SiPM on the scintillator crystal and put some silicon grease between the two parts to optimize the coupling (and minimize reflections)

  • 3
    Wrap scintillator assembly

    Use black electrical insulation tape or similar non-transparent material to wrap the whole assemby, but watch out for the connector or cables, of course. This will reduce light passing to the SiPM to an absolute minimum, otherwise it won't work properly. You should use multiple layers of tape just to be sure.

View all 9 instructions

Enjoy this project?



ysyangsongzz wrote 07/19/2022 at 09:44 point

I will try the DIY project ,I hope you provide new information.

  Are you sure? yes | no

ysyangsongzz wrote 07/18/2022 at 09:47 point

Your answer:The energy resolution is at about 15% @ 300 keV, very highly dependent on the scintillator crystal of course and your whole SiPM/crystal assembly. In fact, I'm not even sure 15% is the best, it's just what I achieve with my simple used scintillator. I couldn't test it with Cs-137 at the nominal 600 keV yet.

My question:This resolution is a little poor. The resolution of normal Nai scintillator spectrometer can reach 7%~8%. Can the energy resolution be improved by changing Nai and increasing the number of SIPM?At present, this product cannot measure Cs137?

  Are you sure? yes | no

NuclearPhoenix wrote 07/18/2022 at 15:23 point

Like I said, I bought my scintillator used so I don't know the energy resolution 100% for sure. You will probably have a better resolution with a brand-new crystal from a reputable manufacturer. The detector can measure Cs-137, of course! I simply haven't come around to measuring it since I don't have it  at home currently ;)

In fact if you can get a great mount with the new SiPM carrier board, you will surely get an even better resolution. By the way, most of the cheaper commercial spectrometers have an energy resolution of up to 12 - 13% so that's not too far off. However, that's measured at the Cs-137 662 keV line so you can't compare it 1:1.

  Are you sure? yes | no

ysyangsongzz wrote 07/18/2022 at 09:20 point

OK,NuclearPhoenix .I see it again.

  Are you sure? yes | no

ysyangsongzz wrote 07/18/2022 at 08:29 point

Hello,NuclearPhoenix .Is the NaI crystal used  one inch in the DIY project? SIPM is 6mm*6mm. I want to ask how SIPM and Nai are coupled to ensure the photon collection rate.  THe energy resolution question in the PMs,the PMs is what?

  Are you sure? yes | no

NuclearPhoenix wrote 07/18/2022 at 09:15 point

The coupling process is described in the build instructions and on GitHub. "PMs" are the private messages here on Hackaday, you sent me a message there.

  Are you sure? yes | no

ysyangsongzz wrote 07/15/2022 at 00:36 point

Hello,NuclearPhoenix .How many sipms are used in this DIY projet? What is its resolution to Cs-137? Schematic v2.0 version has been released on GitHub website. When can the corresponding v2.0 PCB be released?

  Are you sure? yes | no

NuclearPhoenix wrote 07/15/2022 at 12:05 point

Just one SiPM, otherwise I would have stated so in the documentation. The PCB is already released on GitHub. I already replied to your energy resolution question in the PMs.

  Are you sure? yes | no

ysyangsongzz wrote 07/14/2022 at 02:42 point

Have you considered the temperature drift of SIPM?

  Are you sure? yes | no

NuclearPhoenix wrote 07/14/2022 at 15:51 point

No, it's not temperature corrected since this is a DIY project designed for use in controlled environments. Of course there is some drift, but if you use it close to the nominal 25°C you will not notice it.

  Are you sure? yes | no

Wesley Ellis wrote 05/19/2022 at 00:36 point

Neat project, but I think there's a typo in "a USB power cable and safe the spectra to the Pico's flash storage" where safe should be save

  Are you sure? yes | no

NuclearPhoenix wrote 05/19/2022 at 09:17 point

Yes, thank you!

  Are you sure? yes | no

yahyabangash2004 wrote 05/06/2022 at 16:06 point

Good initial

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates