-
SiPM internal capacitance, transimpedance and charge amplifiers
04/18/2026 at 15:46 • 0 commentsThere has been a lot going on with the project lately :)
The SiPM sensor I originally planned to use (MICROFC-60035-SMT-TR1) has 3.4nF internal capacitance, which is huge. Normally, to compensate for this in a transimpedance amplifier (TIA), a capacitor is connected between the inverting input and the output. Since the capacitance is so large, the circuit will effectively behave more like a charge amplifier rather than a true transimpedance amplifier.
I think this may be a problem because a charge amplifier, by its nature, integrates the input signal. If we simplify the math: integrals are slow, derivatives are fast. There are gamma spectrometers with charge amplifier as first stage so the design is not wrong however. The pulses will be slower and wider, so the device will have lower time resolution. In that case, using a fast ADC and FPGA might be overkill, also fast ADC are expensive.
My idea is to switch from the AD9226 (65 MSPS, single channel) to the AD9238 (pin-compatible variants: 20/40/65 MSPS, dual channel). I plan to use the 40 MSPS version for now and switch to a higher sampling rate later if needed. This already saves roughly 20 euros.
Since the ADC has two channels, I could use two smaller SiPMs (3×3 mm) with two analog front-ends. Two channels require twice as many op-amps, so the savings form choosing different ADC are eaten, but I still think this is a better solution because:
- The sensor capacitance is roughly x5 lower.
- Having two channels gives the opportunity to perform some digital processing in the FPGA (I don’t have idea about digital processing yet, but I will look into it later).
The downside is that the total sensor area will be twice smaller: 6x6 mm vs. two 3x3 mm sensors.
In the image below, you can see how one channel currently looks. It includes a TIA and a differential amplifier. Due to the ADC change, the element values will change, but the general idea will remain the same I think.
![]()
-
Try to keep it easy to solder and cheap
03/25/2026 at 22:34 • 0 commentsI think it's best to handle all the math is in the FPGA (but I don't know FPGA). That way, no need for a peak detector or RC circuits, and it’s a lot easier to fix code than it is to reroute a PCB. Also I've tried to choose easy to solder chips:
- MICROFC-60035-SMT-TR1 as a sensor
- LTC6268 as transimpedance amplifier
- LTC6363 differential amplifier
- AD9226 fast "and good?" ADC
- iCE40HX4K + SPI flash for data handling
- maybe some STM32 for communicating with outside world
TBD:
- SW tools for iCE40HX4K
- divide project on what can be done in v1 vs what can be touched in v1, learned and finalized later.
-
LTspice+JupyterNotebook simulation of sensor biasing
03/21/2026 at 18:15 • 0 commentsMost important, there's a relatively cheap photomultiplier diode, looks perfect for this project: MICROFC-60035-SMT-TR1.
I've decided to change plans and use a regular DC/DC converter plus a silent voltage regulator at the output; this way, the output voltage will be well-stabilized and can be adjusted for temperature changes.
If I made the math right, mentioned above diode needs a bias of 28.89V - 29.22V (why it's not constant later on in post) assuming the device will work in temperature range of 20C-35C (meaning 15C span)?
I've made this simulation and it seems to work (but it's just a simulation):
![]()
![]()
The silicon photomultiplier (SiPM) requires not only a stable bias voltage, but also temperature-dependent voltage adjustment. This is necessary to compensate for the parameter called "temperature dependence of Vbr" (breakdown voltage), specified in mV/°C. As the SiPM temperature increases, its breakdown voltage shifts, causing its detection characteristics to change. To maintain consistent meassurements, the bias voltage must be increased proportionally - by the specified mV/°C value for each degree of temperature rise.
The TPS7A4901DGNR regulator uses a feedback (FB) pin to monitor its output via a resistor divider. By injecting additional voltage into this node, we trick the regulator into sensing a higher-than-actual output, causing it to reduce the real output voltage. This provides a mechanism for precise voltage adjustment through an external control signal directly from microcontroller or via DAC for better precision.
I didn't simulate gathering the actual temperature, as this seems easy.
![]()
![]()
The diagrams were made in LTspice, and then raw output files were parsed in Jupyter Notebook Python to produce the above diagrams; this way, the diagrams look much better, and it's possible to do extra math.
Jupyter Notebook is a web server that acts as a nice wrapper for small scripts, etc.; it's not a full IDE, but it works great for small snippets of code. It's containerized and launched inside Docker, but the web port is exposed so that on the host it can be accessed via a web browser.
-
Choosing a Scintillator crystal, PIN photodiode, and its biasing
03/18/2026 at 19:08 • 0 commentsChoosing detector elements
This project will be much more expensive than what I was thinking - scintillator crystals and PIN diodes are expensive! I've found a shop online that has scintillator crystals, and it seems to me that this one will be good:
- Sodium-doped cesium iodide crystal (CsI(Na)), 10x10x10mm .. $290.00 + tax + probably duty because they are in China and I'm in Europe. EDIT: just use cheapest NaTI that is sealed (because it's hygroscopic) https://www.epic-scintillator.com/NaI-crystal-scintillator/NaI-crystal-30x24mm?sort=p.price&order=ASC or maybe use cheapest plastic one to check if device works and then switch to better ones: https://www.epic-scintillator.com/Plastic-scintillator?product_id=912&sort=p.price&order=ASC EDIT2: this site is cheaper: https://www.ost-photonics.com/product/diameter-1-inch-x-1-inch-naitl-scintillator/
- S3590-08 PIN photodiode .. 111 euro + tax. EDIT: this is better/cheapper: https://eu.mouser.com/ProductDetail/onsemi/MICROFC-60035-SMT-TR1?qs=byeeYqUIh0MxSRIaBcfS6g%3D%3D or https://eu.mouser.com/ProductDetail/ams-OSRAM/SFH-2240-A01?qs=T%252BzbugeAwjjFSBEKp8QF2A%3D%3D choose scintillator first, it's usable shape wavelength peak will dictate sensor choose.
Hopefully, the frontend is the most pricey part, I think.
Choosing sensor biasing
The PIN diode can be biased either negatively (pulses will be positive, meaning signal peaks when a particle is detected will be higher than the background) or positively (peaks will be lower). Negative biasing seems better, so I will stick to it.
The S3590-08 can withstand 100V of reverse voltage, so I plan to bias it with -70V - that should be good enough and it gives margins (I want to be extra safe since it costs money!).
The easiest and cleanest way, at least for a prototype, is to just use 12V batteries in series. I've already used this when I was building a semiconductor radioactivity detector (which is a much more simplified version of the gamma spectrometer being designed here). The problem with batteries is that they lose voltage over time (although the PIN diode takes almost no current) and they take up a lot of space on the PCB/device.
I was thinking about a DC/DC converter to produce the needed -70V, but then I would need a coil or a transformer in it, and I don't want to mess up the small signal from the diode with EMI interference from a coil. Maybe that's not a problem at all; I don't know, as I haven't built such a thing before.
I then moved toward a voltage multiplier and designed a Dickson charge pump using LTspice, which at least in theory would give me the needed -70V from a usual 5V. Here is the circuit and simulation:
![]()
![]()
Will this circuit work in real conditions with all the parasitic capacitances, resistances, etc? I don't know, so I will put space on the PCB for both batteries in series and this charge pump. If the pump works, great, if not, I will use batteries in the first prototype.
Robert Gawron





