PICO2-XXL open source hardware board with RP2350B and exposed all 48 GPIO is now available for ordering https://olimex.wordpress.com/2025/01/10/pico2-xl-and-pico2-xxl-oshw-boards-are-now-available-for-ordering-the-shipments-start-january-17th/ #pico2 #raspberrypi #micropython #arduino
Hello, I received a rev B, but only schematics for rev A are available. After poking around with a multimeter I found that in this revision the SD card MISO has been moved from GPIO12 (EXT1-32) to GPIO24 (EXT1-23). Please upload the rev B files.
I also want to ask you to upload the circuitpython that comes with the board, cause I flashed a different firmware, and only after that I found out that there is no way to download the original firmware with which the board came.
Thanks for the signal.
SD card now in SPI mode by default.
I've uploaded latest schematics and revision changes and also default uf2 binaries. Notice that the uf2 binaries probably don't reflect the change in SD card routing.
I will also update the manual and will upload it later.
I've just received an XXL, and it looks like a nice little board.
One minor criticism - while the connector pads are 0.1" spaced, the two separate blocks either side are not themselves aligned on a multiple of 0.1" with each other. This makes it impossible to use the board with a breadboard or perf board.
For the sake of an additional 0.05" or so of width this could easily be resolved, albeit with the loss of backwards compatibility for the footprint.
You are 100% correct, our people try to squeeze the overall dimension as much as possible and did this for the sake of the lost 0.1" step compatibility, but this board was never intend to go to breadboard anyway so there is no harm?
While clearly you can't solder both adjacent rows into a breadboard or strip board (because they'd then be connected), I *had* planned to put one row from each side into a breadboard with male pins, and then mount female pins for access to the other row. Perf board with pin-to-pin soldering would also have been fine, if the holes had lined up.
As for no harm, with respect I believe you're wrong. This makes it *much* harder for prototypers to use this board all for the sake of a tiny bit of additional PCB real estate, and means I'll probably use the WeAct RP2350B board instead, which *does* have 0.1" grid spacing between the two rows.
(p.s. for more developed projects, a physical CAD diagram giving the row spacing would be very useful so that people can build their own EDA footprints for mounting it on carrier PCBs.)
I've seen some fantastic products from Olimex, but this prioritising of size over usability seems misguided. This is on a par with the bizarre decision by Arduino to put a non-standard spacing between the split row headers on the top edge of the standard shield pinout.
I have a couple of XXL's (Rev. A) and today I started to have a look at the SD-card slot.
In Arduino IDE, I found some examples (e.g. cardinfo.ino) for SD from the Earle Philhower libraries, but I couldn't get it working.
Closest I get is by setting:
const int RP_CLK_GPIO = 10; // Set to CLK GPIO
const int RP_CMD_GPIO = 11; // Set to CMD GPIO
const int RP_DAT0_GPIO = 12; // Set to DAT0 GPIO
With no card inserted this results in:
Initializing SD card...
initialization failed. Things to check:
* is a card inserted?
* is your wiring correct?
* did you change the chipSelect pin to match your shield or module?
And with a card it says:
Initializing SD card...
crc: EEE1F0111EEFF
chk: EEEEEEFFEFFFEEFF
initialization failed. Things to check:
* is a card inserted?
* is your wiring correct?
* did you change the chipSelect pin to match your shield or module?
Does anyone know how to fix this? Or maybe another example that will get me started?
Each board passed SD card test empirically here, we used CircuitPython. It is probably a software issue.
I see your defines are for 1-bit MMC but I am not sure if that demo supports 1-bit MMC data mode. In hardware revision A of RP2350-PICO2-XXL the SD card was configured in 1-bit MMC data mode by default. If you can't find properly working Arduino demo for 1-bit MMC mode, maybe consider configuring the board for SPI mode instead (since SPI mode is better supported by the software). You can populate resistor R24 to enable SPI mode, refer to the revision A schematic here:
https://github.com/OLIMEX/RP2350-PICO2-XXL/blob/main/HARDWARE/RP2350-PICO2-XXL-Rev.A/RP2350-PICO2-XXL_Rev_A.pdf
One thing to consider is that HDMI's HSTX also uses GPIO12 so there would be a conflict using HDMI and SD card at the same time.
Notice that in newest hardware revision B of RP2350-PICO2-XXL this was changed and the SD card is by default configured for SPI mode. Also GPIO12 was changed to GPIO24 to avoid the conflict with HDMI. Boards purchased from us are guaranteed to be hardware revision B.
I don't think I could manage to solder that teeny tiny resistor, even if I had one.
Even some simple through-hole headers I can't seem to get straight...
I'll drop this for now. My Cerberus2100 arrived today. That should keep me busy for a while.
Hmm... There doesn't seem to be a section for Cerberus on this forum?