Here are some of the most important key facts:
- Compact design: Only 60 x 60 mm (not including scintillator).
- All-in-one detector: No external sound card required.
- Micro-USB serial connection and power.
- Easily programmable using the Arduino IDE.
- Low-voltage device: No HV needed for PMT.
- Low power consumption: ~25 mA @ 5V.
- Geiger Mode: Capable of up to 30,000 cps without energy measurement.
- Default Mode: Capable of up to 10,000 cps while also measuring energy.
- 4096 ADC channels for the energy range of about 30 keV to 1300 keV.
The PCB is single-sided and has only two layers so that it is easy/cheap to manufacture and assemble by hand. I also chose to use only 0805 size components that can still be easily hand-soldered with some practice. This is what the PCB front side looks like:

The 2x3 female pin header should be facing the back-side so that the SiPM board plugs in correctly!
Depending on the scintillator size (which changes the amount of photons emitted), you'll probably need to change the gain resistors of the first preamp. This will only be done once, since you probably don't switch scintillators on a daily basis. By doing it this way, best performance and consistency are ensured. I'm using a 30.5 cm^3 scintillator and a gain of about 69 for all of the measurements below. If you know your scintillator volume you can easily adjust the gain by the volume fraction.
To analyze the recorded spectra and plot the serial data live, I have set up a progressive web app. With it you can download and export spectrum files, connect via the serial interface straight to the Pico and much more!
Some example spectra:
Spectrum of a cup with Uraninite

Spectrum of an ionization smoke detector with 0.9µC of Am-241 inside:

More information can be found in the GitHub repo!
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