Is it possible to build an add-on card that has mini PCI-E slot, SIM slot and LED and that can be attached to Raspberry Pi 2 GPIO header?

It would save me one USB port and it would be more neater and compact than having 3G USB modem dongle sticking ugly out from Raspberry Pi 2. Note: I'm total new to electronics.

This guy connected USB port directly to WWAN module:

But Raspberry PI GPIO header has no USB D+ and USB D- pins so what to use for those? UART TX/Rx pins ? I2C1 SDA/SCL pins ? Do I need USB-to-Serial UART/I2c chip ? How many resistors, what type and where to put them?

Heres Raspberry PI 2 GPIO header:

enter image description here

So what parts would I need (besides Mini PCI-e connector and female header for GPIO) and how to connect them?

Or if it is not too much trouble, could someone post Fritzing file that I could study?

Note: Im not trying to add PCIe devices to Pi. I try to use WWAN 3G Module that uses USB 2.0 for signaling (like Chris Stratton mentioned) and all the modules just happen to be in Mini PCIe form.

Pi GPIO can't be directly connected to pins 36 and 38 in Mini PCIe slot (because GPIO lacks USB D+ & D- pins).

So can I use USB-to-UART (or I2C ?) bridge chip or not ?

  • 2
    The reason people are downvoting is because you have no clue what PCIe is, and if you had done some preliminary research you would have known. Since you still posted the question, it shows that you did not do the research, which is bad form on StackExchange. No one will have a Fritzing file because doing this thing in Fritzing is like doing 3D physics modeling in MS Paint.
    – pipe
    Commented May 7, 2016 at 12:57
  • 1
    Is you need USB, you need the USB pins, no others. If those are only available on the USB connector that is where you will have to get them. You can get a short USB extender cable to change the physical positioning of the device. Or if you are really determined you could solder directly to the board at the contacts of the USB connector and bring out a short cable. Or you could pay a bit more and get a UART interfaced GSM solution. Commented May 7, 2016 at 12:58
  • 1
    @pipe - there is some legitimate reason for confusion between things which are actually PCIe electrically, and those in the mini-PCIe form factor that only utilize USB signalling, which is how the linked project of using such a module with a pi is possible. Commented May 7, 2016 at 12:58

2 Answers 2


If it is a USB device in MiniPCIe format, you have to use the USB connectors on the Pi. The I/O header has no USB capable pins.

If you don't want it sticking out, you could possibly cut the USB cable end off and solder the wires directly to the underside of the RasPi board to where the USB connectors are soldered on, you just have to make 100% sure you get the correct pinout. However I would not recommend this. It is easy to solder to the wrong place or short something out and fry your Pi. If you have limited electronics experience, stick to plugging things in to the USB port.

If it is a PCIe device in MiniPCIe format, you cannot connect it to the RasPi. There are no PCIe lanes exposed to which you could connect it up. There are devices like the USB3380EVB which convert from a USB slave to PCIe root port which would allow a PCIe device to connect to the RasPi. However you would have to write from scratch a Linux driver for the device, which is not something worth doing.


There is a new product sbcpoe-rpi3b+-mpcie from n-fuse that actually offers a mini PCIe slot for the Raspberry PI with a small modification (wire soldered to USB test pins). Naturally it can't offer a PCI lane as the RPi does not expose a PCI bus in any way. In addition, it offers Power Over Ethernet functionality for the RPi 3B+.

Your Answer

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