Confirmed the fuse is tripping because the current_detect hasn’t been changed to the IO pin. In REV1 the current_detect is moved to the XL9555, with notification using the XL9555 interrupt pin.
Thank you all for testing. I’m afraid the PSRAM detection in that firmware can’t be trusted because of my mistake.
There was an error i fixed where the system_config structure was initialized after the psram init. I wanted to be sure that issue was fixed and did a quick test, I’m pretty sure that’s the firmware I uploaded.
After testing on my board I can confirm that I uploaded that firmware. I’m sorry for that oversight.
The spark fun dev board with PSRAM didn’t arrive today so I don’t yet have a known good target to debug. Hopefully tomorrow morning.
This firmware is compiled for Bus Pirate 7 REV0 and includes fixes for the PSRAM detect and memory allocation tests. It should be a true and accurate assessment of the PSRAM on your board.
HiZ> i
[...]
Bus Pirate 7
https://BusPirate.com/
Firmware main branch @ unknown (Mar 20 2025 13:15:45)
RP2350B with 512KB RAM, 128Mbit FLASH, 64Mbit PSRAM
S/N: E7426283131008BD
Storage: 0.20GB (FAT16 File System)
[...]
HiZ> psram
PSRAM setup complete. PSRAM size 0x0
PSRAM not detected - done
But with the older firmware I still get:
HiZ> i
[...]
Bus Pirate 7
https://BusPirate.com/
Firmware main branch @ unknown (Mar 18 2025 16:50:06)
RP2350B with 512KB RAM, 128Mbit FLASH, 64Mbit PSRAM
S/N: E7426283131008BD
Storage: 0.20GB (FAT16 File System)
[...]
HiZ> psram
PSRAM setup complete. PSRAM size 0x800000
Failed to allocate memory 1
Could this be for example that the first two data lines are properly connected to the PSRAM, but there are soldering issues on the other two? Then once you activate QPI mode and use all 4 lines it would fail.
But does the new size detection code already use QPI while the old one didn’t? Or is it something else?
For testing my 7Rev0 I was previously using the binaries posted in this thread. But now I want to bend the firmware a bit to my will, so I have to compile myself.
The regular main branch is missing some parts for 7, the build for target bus_pirate7 failed, even after uncommenting the cmake rules for it.
I then tried the “psram_test” branch. This built fine and I can connect, but the output on the screen is garbled. There is some output visible, but it looks like some parts are rotated 90° and the colors are a bit off. Very strange. So I think something is wrong with this build too.
@ian could you check which branch you used to build your last binaries for the 7Rev0? Thanks.
The bp7R0 branch should compile OK. You are right there are bits of stuff everywhere. But bp7r0 should work (without uncommmenting anything). If it doesn’t, let me know and I will check it now.
Also, if you’re on main make sure you have the latest arm GCC, Henry enabled some C23 stuff.
Hmm, is there a reason to believe that the ADC of the 7Rev0 is more noisy than the other versions?
Or was the limitation to one decimal place in the v command done because it already was this noisy on the previous versions?
I hacked the ADC code a bit to show me all digits and the values jump around like 100 mV or so. This is a bit more than I would have expected. The RP2350 even got the improved ADC in comparison to the RP2040.
I did a quick git blame and there were no changes (except reformatting) to this code since initial firmware checkin in 2023.
So it could indeed always have been that noisy. Will probably check against my BP5.
I don’t think the ADC of the RP2350 is exceptionally good, for example what even the basic STM32 have is much better. But the ADC isn’t that bad that it fluctuates like 100mV, even after the voltage divider.
So there could either be issues with the opamps and muxes, or in the way the software drives them. Like giving them enough time to settle after switching the mux.
Looks like a side quest was just unlocked
I was only referring to the ADC. For my tests I’m driving VOUT from the outside to reduce any inaccuracies that could be caused by the internal regulator.
No, Nome of the rp chip adc are especially good, but 2350 did calm down a lot. I haven’t experienced similar issues on 7r0, but I will poke at it a bit tomorrow.