As computer programmers, our code runs on a wide variety of machines. From 2TB of RAM dual-EPYC servers with 128+ cores/256 hardware threads, to tiny single-core Arduinos running at 4MHz and 4kB of RAM.
While hobbyists and programmers around the world have become enamored with Arduinos, ESP32, STM32 Pills, and Rasp. Pi SBCsā¦ thereās a noticeable gap in the typical hobbyistās repertoire that should be looked at more carefully. This gap is the entry-level MPU market, perhaps best represented by Microchipās SAM9x60, though STMās STM32MP1, NXP i.MX ULL, and TIās AM355x chips tightly compete in this space.
I hope to muse upon this category of processors, why its unpopular butā¦ why maybe today, you should give it a closer look.
Impedance-controlled 6-layer PCBs USED to be too complex for a hobbyistā¦ but theyāre accessible today
This sectionās title says it all. Typical MPUs require PCB complexity thatā¦ at least 10 years ago, was well beyond a hobbyistās means. In the 2010-era of the fledgling āMakerā movement, 2-layer PCBs were the most complex you could hope for. Not just from a manufacturing perspective, but also from a software perspective. EagleCAD just didnāt support more layers, and no manufacturer catered to hobbyists to make anything more complex. Paying for $500 NRE fees each time you setup a board just wasnāt good on a hobbyistās budget.
But today, OSHPark offers 6-layer boards (https://docs.oshpark.com/services/six-layer/) at reasonable prices, with tolerances specified for their dielectric (and therefore, impedance-controlled boards are a thing). Furthermore, KiCAD 7+ is more than usable today, meaning we have free OSS software that can lay out delay-matched PCB traces, with online libraries like UltraLibrarian, offering KiCAD Footprints and Symbols sponsored by Microchip/Ti/etc. etc. Thereās also DKRedās 4-layer service, JLCPCBās services from China and plenty of competitors around the world that can take your 6-layer+ gerbers and give you a good board.
We live in a new era where hobbyists have access to far more complexity and can feasibly build a bigger electronics project than you ever dreamed before.
The classic team: Arduino and Rasp. Piā¦
Arduino and Rasp. Pi stick together like peanut butter and jelly. Theyāre a barbell strategy providing the user with a low-cost, cheap, easy-to-customize chip (ATMega328p and other Arduino-level chips) operating at single-digit mW of powerā¦ with a large suite of analog-sensors and low latency and simplicity.
While Rasp. Pi offers Linux-level compute solutions, āgrown upā C++ programs, Python, server-level compute. Albeit at the 6W (for Rasp. Pi 4) or beyond, so pushing the laptop-level power consumption. Butā¦ that gives us a good team that handles a lot of problems cheaply and effectively.
Orā¦ is it? This barbell strategy is popular for good reasons from a problem-solving perspective, but as soon as any power and/or energy constraint comes up, its hopelessly defeated. Intermediate devices, such as the ESP32 have popped up as a āmore powerful Arduinoā, so to speak, providing more services (WiFi / Bluetooth, RAM and compute-power) than an Arduino can deliver, but is still far less than what Rasp. Pi programmers are used to.
What does a typical programmer want?
SAM9x60: ARMv5 at 600MHz, 128MB DDR2, Linux 6.1.x, dual-Ethernet 10/100, USB in 28mm x 28mm
When Rasp. Pi launched a bit over 10 years ago with 256 MB and a 700MHz processor and full Linux support, it set off a wave of hobbyists to experiment with the platform. Unfortunately, Rasp. Pi has left this ātierā of compute power, chasing the impossible dream of competing with Laptops / Desktops. IMO, the original Rasp. Pi 1 hit a niche and should have stuck with that platform.
This SAM9x60D1G-I/LZB SOM module is a mouthful to say. But at 28mm x 28mm its roughly the same size as a US Quarter. Butā¦ at $60 it sounds like a bad value. Okay, it is a bad value, but stick with me here, this represents far more than you might think.
SAM9x60 chip is fully open source, and fully documented at https://linux4sam.org. You get a full builtroot environment, a fully documented stage1, stage2, and stage3 (UBoot) bootloader. You get all 2000+ pages of documentation. You get PCB layouts, you get fully open source Linux drivers and kernel modules. You get the full āmakeā available from Microchipās github. The openness to this chip is insane, especially if youāre used to Rasp. Pi.
And perhaps most importantly: SAM9x60ās reference design fits on 4-layer boards. (This is an INCREDIBLE feat of engineering. Microchip has spent a lot of effort simplifying this 233-BGA chip and trying to get it onto the simplest means possible). Note however, that Iād personally only be comfortable with a 6-layer design here. (SAM9x60ās reference design is signal/ground/power/signal stackup, which is frowned upon by modern PCB theory. signal/ground/power/signal/ground/signal would be a superior stackupā¦ and 6-layers is cheap/available today anyway, so might as well go for 6-layers). In any case, the 4-layer demonstration reference board (https://ww1.microchip.com/downloads/en/Appnotes/AN_3310_Connecting-SDR-and-DDR-Memories-to-SAM9X60_00003310a.pdf) is far more documentation and discussion than youād ever hope to be released by the Rasp. Pi group. The openness to this platform is like night-and-day.
While the SOM completed module is costly, truth be told it ārepresentsā the platform and is likely not intended for mass usage. The true benefits to SAM9x60 (and other entry-level MPUs) is that all the chips are readily available at fair prices, and can be custom-assembled to your needs. At $8 per SAM9x60 and at $3 to $5 for 128MB DDR2 (depending on vendor), and at $3 to $5 for the power-chip, youāll get a minimal booting Linux box with a fully custom PCB design doing whatever you wantā¦ with a fully customized motherboard / PCB doing whatever you want.
Another Devboard: https://www.microchip.com/content/dam/mchp/documents/MPU32/ProductDocuments/UserGuides/SAM9X60-Curiosity-User's-Guide-DS60001783.pdf
4-layer design again, though this time using the SiP module (on-board DDR2 to minimize the need to run impedance / delay-matched lines all over the place). This devboard costs $130, but the openness is likely well worth the costs. Its truly a design you can build on top of and customize yourself.
Coolā¦ but why would I need this?
Well, to tell you the truthā¦ I donāt know yet. Power-constraints are the obvious benefit to running with these chips (SAM9x60 + LPDDR RAM will use 1/10th the power of a Rasp-Pi4, while still delivering a full Linux environment). But beyond that Iām still thinking in the abstract here.
Iām mostly writing this post because Iāve suddenly realized that a full custom MPU comparable to first-generation Rasp. Pi is doable by a modern hobbyist. Albeit a well studied hobbyist comfortable with trace-matched impedance controlled transmission line theory on PCBs, but I took those college-classes for a reason damn it and maybe I can actually do this.
Its a niche that 10 years ago was unthinkable for hobbyists to cheaply make their own SBCs from scratch. But today, not only is it possible, but thereās 4 or 5 different vendors (Microchipās SAM9x60, TIās AM355x, STM32ās STM32MP1, etc. etc.) that are catering to hobbyists with full documentation, BSPs and more. Weāre no longer constrained to the designs that Rasp. Pi decides to release, we can have those 2x Ethernet ports weāve always wanted for example (forā¦ some reason), or build a bare-metal OS free design using only 8MB of SRAM, or use LPDDR2 low-power RAM and build a battery-operated portable device.
Full customization costs money. Whatever hobby project we do with this will cost far more than a RP4 or even RP5ās base price. Butā¦ full custom means we can build new solutions that never existed before. And the possibilities intrigue me. Full control over the full motherboard means we have absolute assurances of our power-constraints, our size, the capabilities, supporting chips and other decisions. Do you want LoRA (long-range radio?). Bam, just a module.
And you might be surprised at how much cheaper this is today than its ever been before.
Conclusion
Thanks for hearing my rant today.
This form factor is really intriguing to me and Iāll definitely be studying it moving forward as a hobby. Hopefully Iāve manage to inspire someone else out there!
Andā¦ yall are just going to make a quadcopter with this, arenāt ya? Sighā¦ wellā¦ drones are popular these days for good reasonsā¦
How many layers does the Orange Pi Zero pcb have?
Answer: Good luck finding out. Thatās not documented. But based off of the layout and what I can see with screenshots, far more than 4 layers.
A schematic alone is kind of worthless. Knowing if a BGA is designed for 6, 8, or 10 layers makes a big difference. Seeing a reference pcb-implementation with exactly that layer count, so the EE knows how to modify the design for themselves is key to customization. Thereās all sorts of EMI and trace-length matching that needs to happen to get that CPU to DDR connection up-and-running.
Proving that a 4-layer layout like this exists is a big deal. It means that a relative beginner can work with the SAM9x60ās DDR interface on cheap 4-layer PCBs (though as I said earlier: 6-layers offer more room and is available at OSHPark so Iād recommend a beginner work with 6 instead)
With regards to SAM9x60D1G-I/LZB SOM vs Orange Pi Zero, the SAM9x60D1G-I/LZB SOM provides you with all remaining pins of accessā¦ 152 pinsā¦ to the SAM9x60. Meaning a full development board with full access to every feature. Its a fundamentally different purpose. The SOM is a learning-tool and development tool for customization.