Alternative STM32 Packages

I’m designing a spinoff of the V3.9 that uses USB-C, has a top-loading SD-card holder, uses an integrated kill switch circuit, and some other component changes. It also forgoes some of the pads to save space.

I’m struggling to layout the board without using blind/buried vias for the BGA version of the STM32 processor.

Since I am eliminating a few of the pads, would it be possible to use the UFQFPN48 package of the STM32?

image

As far as I can tell, I would have to change the pin assignments in the V3 default config file…are there any other pin assignments that occur in ProffieOS?

This is why the V3 board uses blind vias… :slight_smile:

Changing the pin assignments is possible, but it’s tricky.
It’s not because the pin assignments occur in ProffieOS exactly, but ProffieOS makes assumptions about what pins can do what things. For instance, the “data1” pin has to be connected to the right timer AND have analogRead capabilities. There are a lot of assumptions of this type. I spent about two months working out the best possible pin assignments for the V3 board.

You can’t actually “change” those, you would need to create a new file with your pin assignments.
Most likely you would also need to create a new “variant” in the arduino-proffieboard module since that’s where then pin-to-port table lives. When you create new versions of this file, your board is not a V3 board anymore, it needs a new name.

Okay, so if an alternate package is used, I would need to make sure the pins are matched 1:1 with the pin definition table:

Is adding a variant to the master branch something you would be open to?

Sure, but that’s not possible if you go from a package that has 64 pins to a package that has 48 pins.

yes, I would be open to it

Well, a lot of the V3 pads have 2 pins mapped to them.

Also, the Free pads and some of the data pads could be eliminated without affecting primary function.

To be fair, I have not yet dug through the table to cross-reference between the packages,

Awesome, thanks!

Yes, this allows pads on the board to have more functions.
Most of those functions are rarely used though (like additional serial ports, SPI and I2S) so changing those functions around probably isn’t a big deal. But it’s still not a V3 board anymore when you do that.

Agreed. I don’t know what the board would be called.

Well…nevermind. When cross-referencing the pins between packages I noticed the SDMMC interface pins were missing. Turns out the 48 pin package does not include an SDMMC comm interface: