This doesn't sound right. If you were unable to program anything into the flash, then it would be sitting in the bootrom and SCLK would just have a burst at startup and then be idle (high). The only way you get continuous SCLK is if the RP2040 is executing code out of flash (it could be garbage code that does nothing useful, but the bootrom must have read enough out of flash to be convinced it was a valid image and start executing it).
- Checking all signals on the scope - all of them look normal during read and write. A constant clock signal on SCLK and bursts of data on other pins.
So at the point where you saw "constant clock signal", was it actually showing up on your host system as a mass storage device, or is that only when you pressed the boot button?
Or by 'constant clock signal' do you mean one that's sitting there doing nothing (stuck high or low) rather than clocking? But in that case the other pins (SD0/SD1) shouldn't be doing anything either - again, only active briefly at startup or if you are actively programming it over USB at the time. And SD2/SD3 shouldn't be active at all unless you've exited the bootrom and are running your own code.
SCLK stuck low due to some fault around your boot button could cause this problem (though the schematic and layout both look OK).
----
Looking at your layout I can't see anything actually wrong, though it's disappointing on a 4-layer to have slightly poor grounding - it's still good enough to work OK, but you should be able to do better. Your via holes look to have way too much clearance around them that's breaking up the groundplane. Also you've filled the area under the chip between the outer pads and the ground pad with via holes - it generally gives better results to use that area to do power routing on the top side (ie. connect the RP2040 3V3 and 1V1 power pads together mostly in that ring of space on the top layer under the chip, though you will still need one jumper on another layer).
But these are just casual observations for possible improvement, not things likely to be causing problems. I can't see how you've laid out the crystal, but given you have the USB mass storage working then the crystal must be running reasonably OK.
Statistics: Posted by arg001 — Sat Mar 29, 2025 10:51 am