0
\$\begingroup\$

I really love the "standard Qwiic connector" initially intoduced by Sparkfun for connecting / "chaining" I2C components. Really amazing and super convenient in day to day life when developing electronics.

I was wondering if there is something similar for SPI? I was looking for it online, and could not find any. The only thing I found was a discussion on a Sparkfun forum: https://forum.sparkfun.com/viewtopic.php?f=102&t=55581 . The main content was:


What about a solution where you have a "12 pins connectors" (or a number like this):

  • GND
  • PWR
  • MOSI
  • MISO
  • SCK
  • 7 more digital IO pins, chosen among the "boring" pins which do not have too many special capacities. On many modern MCUs (Artemis for example), there are often more pins than we need and / or more pins than broken out on the development boards, so that would not hurt.

Then, what about each "receiving end" have a small "7-pairs-of-pads" array and / or a DIP and / or another way to select which CS/SS to use for which SPI peripheral?

A solution like this would allow fast prototyping for up to 7 SPI devices on the same cable system. That would be enough for very many users.


Do you know if something similar already exists? If not, do you think that the suggestion made there would be reasonable? Or is there any problem with this approach?

\$\endgroup\$
2
  • 2
    \$\begingroup\$ No standard. Recommend SCK be next to GND. and MOSI and MISO be as close to GND as possible. \$\endgroup\$
    – DKNguyen
    Aug 4, 2021 at 13:58
  • 1
    \$\begingroup\$ @DKNguyen beat me to it. No standard I am aware of for SPI. I am not sure that qwiic connectors are fully a standard either, maybe an emerging standard? Or possibly just a commercial differentiation strategy by Sparkfun. \$\endgroup\$
    – RowanP
    Aug 4, 2021 at 14:11

3 Answers 3

4
\$\begingroup\$

No, there are no standards for I2C or SPI connectors and their pinouts.

What you are referring to would be manufacturer specific.

If you just want something that is commonly used like Qwiic, take a look at Pmod or whoever makes modules that utilize SPI buses.

\$\endgroup\$
1
\$\begingroup\$

The only "problem" with that approach is that you either need to have a separate select line for for each device (as mentioned) or you need to have the devices be daisy-chainable (not supported by all devices). With the first method, you need to determine how many devices you want to support and then each device attached to the bus needs to have a connector big enough to accommodate all the data and select lines, a method of setting the address, maybe another connector to attach to the next device in the chain, and all the traces to make it happen. To me, this all points towards having a fixed number of SPI connectors on the same board as the controller, each connected to its own select line.

For prototype devices, we sometimes use Phoenix Contact Combicon PTSM plugs since the only tool you need to make up the connection is a very small flat screwdriver or tweezer.

\$\endgroup\$
1
\$\begingroup\$

As far as I know, there is not a standard pinout for SPI itself, but you could pick a standard header that meets some other standard that happens to include a SPI bus and use that.

If your goal is to be able to buy pieces of off-the-shelf hardware and plug it into the header, then you could pick a standard connector part number and pinout that matches any popular hobbyist/development/prototyping system that includes a SPI bus.

One option that comes to mind is one of the various Arduino expansion headers.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.