Raspberry Pi Pico 2 and the Open Gamma Detector
The RP2040 microcontroller that is being used in the original Raspberry Pi Pico finally got a worthy successor: the RP2350! And with it Raspberry Pi released a new and improved version of the Pico, fittingly named the Raspberry Pi Pico 2. This is a big change for the Open Gamma Detector project, because it is going to substantially improve device speed and analog readout.
The Raspberry Pi Pico 2, sourced from their Pico 2 product brief, see below.
It’s a drop-in replacement part for the original Pico, which means the pinout and sizing is the same as well as the software should be compatible with any changes, which is actually pretty huge. Ideally, the original Arduino IDE sketch can be reused without any modifications and the used pins on the device also remain the same.
The new RP2350 boasts double the SRAM (520 KB), double the onboard flash (4 MB) and more powerful ARM Cortex-M33 cores. With it finally comes an FPU for faster floating point calculations and they actually fixed the DNL issues with the ADC boosting its performance by 0.5 ENOB! That means I can finally drop all of the botched code for the DNL issue compensation.
The chip also adds a ton of new security features and optional RISC-V cores, which is very exciting to see, but not really relevant for the project. However, this is going to make the Pico 2 and RP2350 hugely more popular for all kinds of different IOT projects as soon as a wireless version comes out.
What I’m excited to see as well is how the power draw changes for the whole device and if the switching regulator on the board changed, which could affect the noise levels on the board and most importantly, the noise at the ADC voltage reference. As far as I’m aware they also changed sleep and dormant modes, which should make them a lot more useful and more low-power compared to before. Anyways, the new core architecture will definitely change power draw, I’m sure. Let’s hope it’s for the better :D
I have pre-ordered a Pico 2 now and I’m going to have a look at it as soon as it arrives. I’m certain it’ll be a substantial upgrade in all of the relevant aspects to the project. I’ll keep you updated!
Check out the product brief from Raspberry Pi (PDF): Raspberry Pi Pico 2
Let me know what you think and how this is going to affect all kinds of different projects!
Update after testing - 29/08/2024
Just tested the board and the results are pretty amazing actually.
The DNL issues, are obviously gone and with it the cps correction
setting and some of the code in the event interrupt that had to handle the 4 error channels. Finally no more random peaks or missing channels in the spectrum! :tada:
Due to this combined with the more powerful processor cores (and FPU), the total dead time reduced significantly, which is probably the biggest change. With the same settings both on the Pico 1 and Pico 2 at default settings the dead time in energy mode halved (!) from ~24µs to ~12µs. The dead time in Geiger mode actually reduced more than that, it only registered ~1µs of dead time on the Pico 2, while the Pico 1 had about 4µs. This is of course only the software-measured dead time, there will still be a bit of a constant overhead on top of all of that, that cannot be measured in software. It’s pretty safe to assume that this hasn’t changed too much between the revisions, so the relative decrease in dead time is very significant.
The flash size is now triple that of the old version at 3 MB reserved for custom spectrum storage. This means you’re able to record almost 3x the amount of spectra before running out of space, which is also huge.
The cherry on top of all of this is that power efficiency went up too. Without any further changes, the detector now consumes a good 10% less power than before according to my testing. I will also investigate the new sleep/dormant modes of the RP2350 as soon as there is support for these.
On a side note, I was able to overclock the Pico 2 to 250 MHz at the default 1V core voltage in the sketch, which is 25 MHz higher than with the Pico 2 (225 MHz). Therefore the overclock
uf2 file will be clocked at 250 MHz from now on.
All of the hardware and software files are up to date now for the Pico 2 and development will continue on the Pico 2 from now on. The new board revision 4.2 is unchanged from the old one besides the switch to the Pico 2 and an updated BOM position for the out-of-stock buzzer.
Comments