Author Topic: Supporting multiple external MCUs on one board, multiple footprints or jumpers?  (Read 3308 times)

0 Members and 1 Guest are viewing this topic.

Offline mojibber

  • Thread Starter
  • Posts: 5
  • Location: Sweden
Hey hey! I’ve designed a couple boards in the past using the pro micro footprint and they’ve worked great, but I want to provide a little more flexibility to people building these boards and also support another cheap easily available MCU like the RP2040-Zero. So the person building the board would have the option of using a Pro Micro compatible MCU or a RP2040-Zero.

There’s a couple ways that I could do this, but I wanted to get some feedback on what might be nicer from a build perspective.

1. Have a separate (potentially slightly overlapping) footprint for the new MCU and the person building the board just has to make sure that they use the correct footprint (which shouldn’t be hard as they won’t fit into one another). This would leave some pads showing (the unused ones) which may not look great (as this is a board with all components exposed) but functionally it would be fine.

2. Use exactly the same footprint for both MCUs (I.e. have a lot of shared pins) but provide solder jumpers to be made/cut somewhere on the board for the pins that have different functions on the different boards. E.g. the GND on the pro Micro will share a GPIO pin with the RP2040-zero so a solder jumper will have to be set to determine where this pin gets routed to on the PCB. This method would require a little extra work/soldering on behalf of the builder (though would this introduce more room for error?) but strikes me as the more elegant solution.

Anyway keen to get any and all feedback on these ideas, or if there are other options that I haven’t considered yet! Thanks!

Offline suicidal_orange

  • * Global Moderator
  • Posts: 4771
  • Location: England
Without analysing the pinouts my first thought was that the jumper option would be very complicated - have you actually looked at it to see how many pins are compatible?

Another possibility if you have a bit of spare height in the design could be using longer bent pins which connect to different positions under the MCU.  This would be the most complicated option for the builder but would look cleaner than jumpers and cuts or being able to see half an unused footprint.
120/100g linear Zealio R1  
GMK Hyperfuse
'Split everything' perfection  
MX Clear
SA Hack'd by Geeks     
EasyAVR mod

Offline mojibber

  • Thread Starter
  • Posts: 5
  • Location: Sweden
Depending on how you mount the MCUs (either face up or face down) then there's either 5 or 7 pins that need to have some sort of jumper setup.

294512-0

I marked them in red. Yellow are pins that have slightly different uses but could be configured to be the same ultimately and green are ones that are pin compatible.

I think facing down is better for USB-C port longevity, though it hides the boot and reset buttons on the RP2040, but that shouldn't be an issue as the reset can be configured to a specific pin.

2 footprints would look something like this (excuse the incomplete silkscreening) which may not be too bad once something is placed there.
294514-1

Pinouts attached at the bottom too for reference.

Offline suicidal_orange

  • * Global Moderator
  • Posts: 4771
  • Location: England
That is surprisingly similar.

Could you run traces from (e.g) 2 to E6 and 3 to B4 then just advise if you're using a Pro Micro don't connect those pins?  Assuming the holes aren't tight just not soldering them would be enough with no mods required.
« Last Edit: Sun, 18 December 2022, 16:22:26 by suicidal_orange »
120/100g linear Zealio R1  
GMK Hyperfuse
'Split everything' perfection  
MX Clear
SA Hack'd by Geeks     
EasyAVR mod

Offline Findecanor

  • Posts: 5036
  • Location: Koriko
A few years ago I spent way to much time on trying to find a combined footprint for Teensy 2.0 and Pro Micro/Elite-C ... only to see an announcement that the Teensy was going to be discontinued. (...)
My best solution was a combination of options 1 and 2. The overlapping pins were where pins on a short edge crosses a long edge, and only those needed jumpers or be N/C pins that get soldered but have no trace going anywhere.
« Last Edit: Sun, 18 December 2022, 16:32:23 by Findecanor »

Offline Leslieann

  • * Elevated Elder
  • Posts: 4519
If you're making them in bulk, why not just two models that share all but that part.
The price difference is going to be minimal and would offer a more premium look, which is a big deal in this hobby. I guess what I'm asking is, is anyone even asking for this?

My other thought is both controllers are already pretty cheap, especially in small lots or large lots, is it really worth offering an option, just pick one. I get the wanting options, but sometimes options are just more complication.
Novelkeys NK65AE w/62g Zilents/39g springs
More
62g Zilents/lubed/Novelkeys 39g springs, HK Gaming Thick PBT caps, Netdot Gen10 magnetic cable, pic
| Filco MJ2 L.E. Vortex Case, Jailhouse Blues, heavily customized
More
Vortex case squared up/blasted finish removed/custom feet/paint/winkey blockoff plate, HID Liberator, stainless steel universal plate, 3d printed adapters, Type C, Netdot Gen10 magnetic cable, foam sound dampened, HK Gaming Thick PBT caps (o-ringed), Cherry Jailhouse Blues w/lubed/clipped Cherry light springs, 40g actuation
| GMMK TKL
More
w/ Kailh Purple Pros/lubed/Novelkeys 39g springs, HK Gaming Thick PBT caps, Netdot Gen10 Magnetic cable
| PF65 3d printed 65% w/LCD and hot swap
More
Box Jades, Interchangeable trim, mini lcd, QMK, underglow, HK Gaming Thick PBT caps, O-rings, Netdot Gen10 magnetic cable, in progress link
| Magicforce 68
More
MF68 pcb, Outemu Blues, in progress
| YMDK75 Jail Housed Gateron Blues
More
J-spacers, YMDK Thick PBT, O-rings, SIP sockets
| KBT Race S L.E.
More
Ergo Clears, custom WASD caps
| Das Pro
More
Costar model with browns
| GH60
More
Cherry Blacks, custom 3d printed case
| Logitech Illumininated | IBM Model M (x2)
Definitive Omron Guide. | 3d printed Keyboard FAQ/Discussion

Offline Applet

  • Posts: 487
  • Location: Sweden
Personally, I'd stick to one MCU and one footprint. The pro micro-footprint already have a bunch of options if someone wants to build it with an MCU you did not design it for. Do consider that you'd need to do multiple software implementations of QMK and VIA for users to be able to use the different MCUs out of the box.

There's currently a project in GB that uses multiple MCUs: https://geekhack.org/index.php?topic=117575.0

Offline mojibber

  • Thread Starter
  • Posts: 5
  • Location: Sweden
Maybe one MCU will be simpler (and that's how the board is out and released at the moment), I guess over time the RP2040 powered Pro micro footprint boards will become a little more ubiquitous and cramming as much as possible onto firmware that will fit will then be less of an issue. Maybe also Pro micros will decrease again in price finally.

The jumper solution that I played around with a little ended up looking like this which isn't too bad at all I think!

294721-0

Out of the box it will function as it does today as a Pro Micro board, but if someone wants to use a RP2040 then then can by cutting those jumpers and soldering the 4 other ones!