How Do You Get PCI-E On The Atomic Pi? Very Carefully.

At this point, you’ve almost certainly heard about the Atomic Pi. The diminutive board that once served as the guts of a failed robot now lives on as a powerful x86 SBC available at a fire sale price. How long you’ll be able to buy them and what happens when the initial stock runs out is another story entirely, but there’s no denying that folks are already out there doing interesting things with them.

One of them is [Jason Gin], who recently completed an epic quest to add a PCI Express (PCI-E) slot to his Atomic Pi. Things didn’t exactly go according to plan and the story arguably has more lows than highs, but in the end he emerged victorious. He doesn’t necessarily recommend you try the same modification on your own Atomic Pi, but he does think this sets the stage for the development of a more refined upgrade down the line.

[Jason] explains that the board’s Ethernet controller was already communicating with the Intel Atom x5-Z8350 SoC over PCI-E, so there was never a question about whether or not the modification was possible. In theory, all you needed to do was disable the Ethernet controller and tack on an external PCI-E socket so you could plug in whatever you want. The trick is pulling off the extremely fine-pitch soldering such a modification required, especially considering how picky the PCI Express standard is.

In practice, it took several attempts with different types of wire before [Jason] was able to get the Atomic Pi to actually recognize something plugged into it. Along the way, he managed to destroy the Ethernet controller somehow, but that wasn’t such a great loss as he planned on disabling it anyway. The final winning combination was 40 gauge magnet wire going between the PCB and a thin SATA cable that is mechanically secured to the board with a piece of metal to keep anything from flexing.

At this point, [Jason] has tested enough external devices connected to his hacked-on port to know the modification has promise. But the way he’s gone about it is obviously a bit temperamental, and far too difficult for most people to accomplish on their own anyway. He’s thinking the way forward might be with a custom PCB that could be aligned over the Ethernet controller and soldered into place, though admits such a project is currently above his comfort level. Any readers interested in a collaboration?

Like most of you, we had high hopes for the Atomic Pi when we first heard about it. But since it became clear the board is the product of another company’s liquidation, there’s been some understandable trepidation in the community. Nobody knows for sure what the future looks like for the Atomic Pi, but that’s clearly not stopping hackers from diving in.

17 thoughts on “How Do You Get PCI-E On The Atomic Pi? Very Carefully.”

Best bet is some flatflex PCB connected to a PCI Express card slot with it’s lines running to the chip overlay area like a modchip for consoles. It’s doable as long as all the lines are accessible with a inch or so flatflex area from the PCI slot.

Being as the Raspi 4’s internal bus is now PCIe instead of USB 2.0, who want’s to be the first to attempt it there? Frankly, I won’t be surprised if we see (unofficial) versions of the Pi 4 with the same PCIe-over-USB3.0 craziness that bitcoin miners have been using for a while. I recently added a bunch of these extenders and a PCIe multiplier card to an aging machine (yay! more expandability!) and it works surprisingly well.

It remains to be seen; but it would be pretty neat if the rPi 4 version of the “Compute Module” variant skips the USB chip on the PCIe bus and simply makes the PCIe lane available.

For the purposes of the standard rPi 4 USB support is a pretty solid default choice; but for modules designed to be slotted into a carrier board that suits its maker’s purposes just exposing the PCIe lane would be vastly more versatile.

I’ve wanted PCIe in an SBC for ages now. I hope they can do something with the RasPi 4 as I’d love to see crazy stuff like attaching a dedicated GPU, adding Ethernet ports, running a 10gbE, or adding a storage controller.

I’m also curious if they are planning a new computer model and expose the PCIe on it.

Wonder what the pad pitch is on the ethernet footprint. If it’s not too fine, you could probably design a PCB with vias lining up with the necessary pads on the board, and wick solder into them to make the connection. Definitely makes me want to pick up an Atomic Pi. I have ample patients for micro soldering… but zero knowledge of the workings of PCIe busses and the like.

On one of my router (n class), there is a non-populated footprint for a 5GHz wireless chip. The interface is likely to be PCIe as it has the familiar pads for some 0402 series caps on 4 lines. In theory, that could be hacked to connect to a PCIe SATA card.