Today I tested different CPU speeds and also the "Optimize" settings from the arduino-pico library in the Arduino IDE. As you might know, the default CPU speed for the Raspberry Pi Pico is 133 MHz, which is fine, but why not try to overclock it, right?
I did 3 separate dead time measurements, all of which ran for some time until the average didn't change anymore. You can see the results for yourself in the table below. It's amazing what you can squeeze out of the Pico without having to do much at all:
Setup | Energy-mode dead time [µs] | Geiger-mode dead time[µs] |
---|---|---|
1. Stock settings 133 MHz, Optimize "Small (-Os)" | 16.9 | 5.6 |
2. Overclock 250 MHz, Optimize "Small (-Os)" | 11.1 => 66 % of stock | 2.9 => 52 % of stock |
3. Overclock 250 MHz, Optimize "Fast (-Ofast)" | 9.1 => only 54 % of stock!!! | 2.8 => only 50 % of stock!!! |
("Averaging" has been set to 1 in all of those cases)
As you can clearly see, the dead time almost halved in setting number 3! That's almost 110 kcps max in energy mode and ~360 kcps max in geiger mode without having to change anything except the two device settings in the Arduino IDE.
Setting number 3 was the most I could get on my device. After that, increasing the CPU speed again would always result in instant crashes. In addition to that, the Pico also gets noticeably warmer than with stock settings, of course. It's not a problem at all, though. I don't know how this will affect the device in the long term, so take all of this with a grain of salt!
I compiled a default-device firmware for setup number 3, which is now just called the "overclocked" firmware. You can download it on GitHub just like the other two files: https://github.com/Open-Gamma-Project/Open-Gamma-Detector/tree/main/software
Please keep in mind that it works fine on the Raspberry Pi Pico I have installed here, but it might not run on yours. On the other hand, 250 MHz might not even be the limit on your Pico. You have to try it out for yourself and with the help of the Arduino IDE sketch, it's very simple to do so and you can't really brick your device via software. https://arduino-pico.readthedocs.io/en/latest/ide.html#cpu-speed
Enjoy!
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.