If you’ve ever wanted to try your hand at creating a Raspberry Pi-like board for yourself, you should check out [Jay Carlson’s] review of 10 different Linux-capable SoCs. Back in the 1960s, a computer was multiple refrigerator-sized boxes with thousands of interconnections and building one from scratch was only a dream for most people. Then ICs came and put all the most important parts in a little relatively inexpensive IC package and homebrew computing became much more accessible. Systems on Chip (SoC) has carried that even further, making it easier than ever to create entire systems, like the Pi and its many competitors.
Only a few years ago, making an SoC was still a big project because the vendors often didn’t want to release documentation to the public. In addition, most of the parts use ball grid array (BGA) packaging. BGA parts can be hard to work with, and require a multilayer PC board. Sure, you can’t plug these into a typical solderless breadboard. But working with these relatively large BGAs isn’t that hard and multilayer boards are now comparatively cheap. [Jay] reports that he got cheap PCBs and used a hot plate to build each board, and has some sage advice on how to do it.
Although he’s looking at 10 different chips, he wound up making about 25 boards and he deliberately avoided using example PCB layouts. This let him optimize for hand assembly and try a few different strategies for things like memory layout. [Jay] points out the boards are more for evaluation than use. He didn’t put any peripherals onboard that you would probably want in a working system. He only included what was necessary to boot the chip into Linux.
There’s a long part of the post where [Jay] talks about why you might want to use Linux, why you might not want to use Linux, and why the Raspberry Pi 4 might not be your best choice, depending on your design goals. He also gives a tutorial on simplified single-chip DDR memory layout.
This has a reputation of being difficult to do, and the post acknowledges that for multip-chip designs, it is harder. However, at the speeds involved and the proposed topology, [Jay] was able to build several working designs and was even able to overclock the memory. The takeaway is that for all the panic over DRAM signal timing on a board, some of it may be unnecessarily strict and buying modules with RAM already in place might be unnecessarily expensive. Of course, some of that is because none of these processors are running at very high-speeds or with overly complex and fast RAM.
The first half of the post is full of information like that, but devoid of any testing of the actual parts. When you get to the bottom half, you’ll see, though, that he uses ten different chips from vendors like Microchip, ST, NXP, Ti, Allwinner, and others. We were impressed with how much work was done, including benchmarks. The actual write up is impressive, too Each part has its own quirks, like the Allwinner part that can only address the first 16MB of flash. He even threw in a video, you can see below.
Truthfully, most of us won’t do this. We’ll just continue to buy boards. We have, however, seen people steal the SoC off a Pi and put it on their own board. If ARM SoC’s aren’t your thing, there have been x86 boards, too.