First completely DIY Gamma Spectrometer and MCA Development Board

After finding out my RedPitaya I bought was of the newer version, that has WORSE switching regulators noise wise, I decided to build a complete gamma spectrometer system from the ground up. Complete with a development board and Python software. The Python PC software was written by a good friend of mine.

For the controller I picked the STM32F401 controller, which has a build in 12bit 2.4Mps which I will be using. The reason why I picked that exact µC was at first availability. You could buy Blackpill boards that either have that one or a STM32F411, which is mostly the same, but the core clock and flash storage. 80Mhz vs 100Mhz and 256kB vs 512kB flash. I de-soldered the µC and the crystals plus their associated capacitors. Quite convenient, so I didn’t have to source those parts.
Now luckily both controllers can be bought on Mouser or Digikey.
Despite the possibility that these first µC could be fakes, it doesn’t matter. If, they are very good fakes. Everything tested works as intended. That is DMA, UART, ADC, PLL and the Programming Port. Since all those work, I assume that the rest works too. I may use a SPI ADC in a future version of the Gamma Spectrometer.

Blackpill Board with STM32F401CCU6

Around that chip I made a development board, with all pins made available on connectors. Native USB connectivity is available through a USB isolator and a CH340 chip for USB over UART. There are also two SPI connectors and a combined I2C and UART connector. Some buttons and LEDs are availalbe too and a spare connector.
On one side of the boards is the CSA section, with a secondary amplifier and the PSU for it. The BNC is the CSA input and the SMB connectors are the outputs right after the CSA and after the secondary amplifier. Another SMB connector is a ADC input.
I also made a board with the STM32F303 controller, but that had quite the bad ADC’s in it, as I discovered. The noise was too high. So I went back to the STM32F401.

MCA Status

Right at the end of 2022 the priority is to get the MCA working with DMA, which should reduce the dead time to reach the highest achievable count rate. The MCA is working as it is now, but not perfectly. The CPU handles everything at the moment.
Also there is a small Python program(made by my friend) that displays the spectrum and also saves the data as a .csv file. A nice Radium 226 spectrum can be seen here. Put into Interspec the data shows comparable resolution results to the data from the RedPitaya MCA.
Further steps are the design of a much smaller version of the board. The hope is to replace the RedPitaya MCA with this one, since it is much cheaper and offers better performance, due to the Pitayas worse switching regulators. I don’t want to spend lots of money for a “low noise” version of it. Seems like it they made the new version with worse switching regulators on purpose, so they could upsell you to the low noise one….

A long time has passed and since I last looked at this draft and things changed. Over the course of a year I now have a smaller version of the board with a separate high voltage PCB. It features a encoder connector, one for a small oled display, a separate ADC input for external CSA’s, the onbaord CSA input and of course the high voltage PSU control connector. Recently I discovered these Mornsun modules, which are relatively cheap and low noise enough. I think these modules are cheap enough, so designing an extra HV PCB isn’t worth it. The bias HV is set via a PWM DAC. Good filtering is needed, but when keeping that in mind, everything worls fine.
So far it works to the extent, that I can set the voltage with a encoder and take spectra. Still a lot has to be done firmware wise, but at least the hardware is finished. But university takes up a lot of time and I simply didn’t have the energy so far to continue writing the firmware.
I found that the fact that the CSA portion doesn’t have its own ground plane impacts the noise floor. So in a future hardware revision that will be changed, as the prototype board proved split ground planes provide a good noise isolation and therefore a lover noise floor in the spectrum. But the redesign will only happen, once the firmware is finished and the project as a whole is completed.

Comments are closed.

Website Powered by WordPress.com.

Up ↑

Design a site like this with WordPress.com
Get started