- Joined
- Apr 24, 2020
- Messages
- 2,882 (1.51/day)
So out of curiosity, I began to look into entry-level MPUs (microprocessors). Yeah yeah, Rasp. Pi are available and all... but not really? RP4 is like $70 these days, and besides, there's a huge chasm between 5mW microcontrollers and the 6400mW that a Rasp. Pi 4 can get up to these days.
What about all the people who need an "in-between" device? Something that supports full Linux, USB 2.0 ports (Host or Device), WiFi (with the ATWILC1000), microSD cards, Ethernet... but maybe not all the bells and whistles of a spacious Quad-core 4GB RAM Raspberry Pi 4? And what if you were comfortable with soldering a 14mm x 14mm BGA233 and laying out a 4-layer (or 6-layer) PCB to match it? Okay, so I guess we've entered a niche-within-a-niche-within-a-niche. The vast majority of inventors and engineers probably just need a Bluetooth Radio on a $1 microcontroller plus an Android/iPhone app to control it. Those who need more power often find even the RP4's 4GB of RAM + quad-core modern processors too limiting and are likely going to benefit from a proper large-scale server (or VPS).
Above is the SAM9X60D1G (plus a US penny I photoshopped in attempting to match the scale). At 14mm x 14mm vs a penny's 18.75mm diameter, its pretty small! It contains not only the microprocessor, but also a 1Gbit (128MBytes) of DDR2 RAM. It seems that this MPU+DDR2 package is considered the "beginner friendly" chip for BGA-solderers. All DDR2 traces are internal (the most difficult part of PCB layout), while the BGA portion is well designed to be accessible across a 4-layer PCB (assuming a signal/ground/vcc/signal stackup). There's ample space for capacitors under-the-BGA thanks to those missing-balls. If you're comfortable with reflow soldering (aka: Pancake Skillet soldering for us hobbyists), it seems like this chip/package is actually within our grasps now that DigiKey's 4-layer PCBs (and OSHPark's 6-layer PCBs) are available at $10/sq-inch (and for OSHPark 6x layer $15/sq-inch). The package is still missing the final voltage regulator module. So you still need to pay ~$3 for the voltage regulator plus ~$1 in misc. capacitors/resistors to finish off the design.
For advanced users, the DDR2-free version comes in at $7.90, which is likely a better bargain if you're making a 6-layer board anyway. The reference designs show ample room for 6-layer through-hole vias (no need for blind or buried vias), so we're still within OSHPark's 6-layer specs for cheap hobbyist PCBs... but complexity is far higher if you go this route. What you lose to complexity you gain in flexibility and cost-savings however: purchasing the DRAM separately allows for better customization: 8MB if you're going bare metal, 64MB or 128MB or 256MBs if you need more or less RAM. Furthermore, you can switch to more-expensive (but lower power) LPDDR2 RAM, or DDR3L RAM instead and this SAM9X60 supports it all.
For beginner users, Microchip offers the $58 complete solution, a SoM. But now we're getting well into Beaglebone costs (a far more powerful processor). I'd consider this a bad buy personally dollar-for-dollar, but the SOM is likely a great product for prototyping. Simple 2-layer boards on the cheapest processes would be able to accept this simple single-sided module, and still access all the important parts... and hand-soldering those castilliated edges (albeit tiny 0.65mm pitch) is possible. Annoying yes, but possible.
At 28mm x 28mm, this module is barely larger than a US Quarter or 1-EUR coin. It actually comes with an Ethernet Phy on-board (!!), as well as all the inductors/capacitors/resistors needed to run the voltage-regulator.
I probably should mention the ATWILC1000 and ATWILC3000 modules as well.
Microchip has these SPI + MMC (aka: MicroSD-card pins) WiFi + Bluetooth modules at $8, with mainline Linux support for this highly unusual physical layout. They are obviously designed to take a SPI (you got like 8x of these on the SAM9X60) and 1x MicroSD slot (you have 2x of these on the SAM9X60), but in exchange give you WiFi and (if you pay for the more expensive ATWILC3000) Bluetooth. WiFi and Bluetooth are probably the most common attachments to a Linux box these days so its good to keep in mind. Its not the cheapest WiFi or Bluetooth module, but the promise of plug-and-play / mainline Linux compatibility is a strong selling point.
-----------------------
Cost-efficiency isn't the best. So perhaps I started this discussion off on the wrong foot! Lets instead focus on power-consumption: the SAM9X60 is a 1.2V chip with ~100mA to ~200mA consumption, or roughly 250mW of power worst-case (Dhrystone benchmark). Paired up with some LPDDR2, you can likely get a total power less than 400mW, or 1/10th the power-consumption of the typical Rasp. Pi 4 (~6000mW worst case). Furthermore: best-case power consumption of the SAM9X60 is in the microamps in deep-sleep states, and 2mA (~2.5mW) at idle. This means that the SAM9X60 + DDR2 easily fits within 500mA limitations (common USB2.0 power supplies)
Meanwhile, the entire computer is fully open source (https://linux4sam.org/), with each bootloader stage open source (AT91 Bootstrap, U-boot, and mainline Linux 6.1.x). A huge benefit over the Raspberry Pi 4 (very closed), or even TI's Beaglebone (semi-closed).
---------
Software wise, while yes Linux 6.1.x is fully supported (and the mainline kernel supports this chip well), that doesn't mean that all opensource code runs well on this device. ARMv5 is ancient, a 1999-era ARM design that has references to lol Jazelle instruction sets. There's widespread reported problems with software like Node.js failing to compile, for example and I don't expect anyone to fix that. Still, if you're writing your own code, full access to ulibc and the Linux-kernel provides you with a powerful TCP/IP stack, processes, threads and more. This is far more powerful than you'd get with ESP32 uCs or other such microcontrollers.
-----------
So.... what do you think? I recognize that I'm talking about this chip "in theory" and "in the abstract", and that's because I don't have any experience with it myself. I just... find the specs amusing and hope to figure out a project one day that can take advantage of such a computer. Besides, I'm not sure if anyone around here realizes that you can have a fully-functional Linux computer smaller than a US Penny or EUR-Cent coin. It definitely makes you think about the possibilities of today's hardware, beyond just the standard Rasp. Pi boxes that many hobbyists have experimented with.
-------------
The elephants in the room are: Rasp. Pi and ESP32. Rasp. Pi uses 10x more power, literally an order of magnitude more. While yes Rasp. Pi 4 is more cost-efficient and energy-efficient (under heavy load), the sad truth is that most of our computers sit around doing nothing all day, waiting for a human to show up. I think micro-computers like this SAM9X60 would be a more feasible solution for energy-limited applications, such as solar-harvesting applications in the wild. When you reach into energy-limited applications, using 1/10th the power means needing 1/10th the solar panels and 1/10th the battery to achieve similar results.
With regards to ESP32... well... ESP32 may be cheaper, but it also uses more energy. ESP32 is like 100mA to 200mA but at the 3.3V line. Granted, most of this is due to the extremely high current required to run WiFi (so if you add the ATWILC1000 Wifi module, you'll also gain 300mW+ of energy usage to this SAM9X60), but I think its important to recognize that this crazy SAM9X60 is roughly on the same energy-tier as an ESP32 except you got full size Linux on here. That means processes, threads, filesystems, TCP/IP, OpenSSL, Apache PHP, Python and more. Not this "Micropython" on ESP32, I mean the real thing, real Python.
The SAM9X60 is much costlier though, but in terms of overall capabilities I think the SAM9X60 drives a hard bargain as a superior chip.
What about all the people who need an "in-between" device? Something that supports full Linux, USB 2.0 ports (Host or Device), WiFi (with the ATWILC1000), microSD cards, Ethernet... but maybe not all the bells and whistles of a spacious Quad-core 4GB RAM Raspberry Pi 4? And what if you were comfortable with soldering a 14mm x 14mm BGA233 and laying out a 4-layer (or 6-layer) PCB to match it? Okay, so I guess we've entered a niche-within-a-niche-within-a-niche. The vast majority of inventors and engineers probably just need a Bluetooth Radio on a $1 microcontroller plus an Android/iPhone app to control it. Those who need more power often find even the RP4's 4GB of RAM + quad-core modern processors too limiting and are likely going to benefit from a proper large-scale server (or VPS).
Above is the SAM9X60D1G (plus a US penny I photoshopped in attempting to match the scale). At 14mm x 14mm vs a penny's 18.75mm diameter, its pretty small! It contains not only the microprocessor, but also a 1Gbit (128MBytes) of DDR2 RAM. It seems that this MPU+DDR2 package is considered the "beginner friendly" chip for BGA-solderers. All DDR2 traces are internal (the most difficult part of PCB layout), while the BGA portion is well designed to be accessible across a 4-layer PCB (assuming a signal/ground/vcc/signal stackup). There's ample space for capacitors under-the-BGA thanks to those missing-balls. If you're comfortable with reflow soldering (aka: Pancake Skillet soldering for us hobbyists), it seems like this chip/package is actually within our grasps now that DigiKey's 4-layer PCBs (and OSHPark's 6-layer PCBs) are available at $10/sq-inch (and for OSHPark 6x layer $15/sq-inch). The package is still missing the final voltage regulator module. So you still need to pay ~$3 for the voltage regulator plus ~$1 in misc. capacitors/resistors to finish off the design.
For advanced users, the DDR2-free version comes in at $7.90, which is likely a better bargain if you're making a 6-layer board anyway. The reference designs show ample room for 6-layer through-hole vias (no need for blind or buried vias), so we're still within OSHPark's 6-layer specs for cheap hobbyist PCBs... but complexity is far higher if you go this route. What you lose to complexity you gain in flexibility and cost-savings however: purchasing the DRAM separately allows for better customization: 8MB if you're going bare metal, 64MB or 128MB or 256MBs if you need more or less RAM. Furthermore, you can switch to more-expensive (but lower power) LPDDR2 RAM, or DDR3L RAM instead and this SAM9X60 supports it all.
For beginner users, Microchip offers the $58 complete solution, a SoM. But now we're getting well into Beaglebone costs (a far more powerful processor). I'd consider this a bad buy personally dollar-for-dollar, but the SOM is likely a great product for prototyping. Simple 2-layer boards on the cheapest processes would be able to accept this simple single-sided module, and still access all the important parts... and hand-soldering those castilliated edges (albeit tiny 0.65mm pitch) is possible. Annoying yes, but possible.
At 28mm x 28mm, this module is barely larger than a US Quarter or 1-EUR coin. It actually comes with an Ethernet Phy on-board (!!), as well as all the inductors/capacitors/resistors needed to run the voltage-regulator.
I probably should mention the ATWILC1000 and ATWILC3000 modules as well.
Microchip has these SPI + MMC (aka: MicroSD-card pins) WiFi + Bluetooth modules at $8, with mainline Linux support for this highly unusual physical layout. They are obviously designed to take a SPI (you got like 8x of these on the SAM9X60) and 1x MicroSD slot (you have 2x of these on the SAM9X60), but in exchange give you WiFi and (if you pay for the more expensive ATWILC3000) Bluetooth. WiFi and Bluetooth are probably the most common attachments to a Linux box these days so its good to keep in mind. Its not the cheapest WiFi or Bluetooth module, but the promise of plug-and-play / mainline Linux compatibility is a strong selling point.
-----------------------
Cost-efficiency isn't the best. So perhaps I started this discussion off on the wrong foot! Lets instead focus on power-consumption: the SAM9X60 is a 1.2V chip with ~100mA to ~200mA consumption, or roughly 250mW of power worst-case (Dhrystone benchmark). Paired up with some LPDDR2, you can likely get a total power less than 400mW, or 1/10th the power-consumption of the typical Rasp. Pi 4 (~6000mW worst case). Furthermore: best-case power consumption of the SAM9X60 is in the microamps in deep-sleep states, and 2mA (~2.5mW) at idle. This means that the SAM9X60 + DDR2 easily fits within 500mA limitations (common USB2.0 power supplies)
Meanwhile, the entire computer is fully open source (https://linux4sam.org/), with each bootloader stage open source (AT91 Bootstrap, U-boot, and mainline Linux 6.1.x). A huge benefit over the Raspberry Pi 4 (very closed), or even TI's Beaglebone (semi-closed).
---------
Software wise, while yes Linux 6.1.x is fully supported (and the mainline kernel supports this chip well), that doesn't mean that all opensource code runs well on this device. ARMv5 is ancient, a 1999-era ARM design that has references to lol Jazelle instruction sets. There's widespread reported problems with software like Node.js failing to compile, for example and I don't expect anyone to fix that. Still, if you're writing your own code, full access to ulibc and the Linux-kernel provides you with a powerful TCP/IP stack, processes, threads and more. This is far more powerful than you'd get with ESP32 uCs or other such microcontrollers.
-----------
So.... what do you think? I recognize that I'm talking about this chip "in theory" and "in the abstract", and that's because I don't have any experience with it myself. I just... find the specs amusing and hope to figure out a project one day that can take advantage of such a computer. Besides, I'm not sure if anyone around here realizes that you can have a fully-functional Linux computer smaller than a US Penny or EUR-Cent coin. It definitely makes you think about the possibilities of today's hardware, beyond just the standard Rasp. Pi boxes that many hobbyists have experimented with.
-------------
The elephants in the room are: Rasp. Pi and ESP32. Rasp. Pi uses 10x more power, literally an order of magnitude more. While yes Rasp. Pi 4 is more cost-efficient and energy-efficient (under heavy load), the sad truth is that most of our computers sit around doing nothing all day, waiting for a human to show up. I think micro-computers like this SAM9X60 would be a more feasible solution for energy-limited applications, such as solar-harvesting applications in the wild. When you reach into energy-limited applications, using 1/10th the power means needing 1/10th the solar panels and 1/10th the battery to achieve similar results.
With regards to ESP32... well... ESP32 may be cheaper, but it also uses more energy. ESP32 is like 100mA to 200mA but at the 3.3V line. Granted, most of this is due to the extremely high current required to run WiFi (so if you add the ATWILC1000 Wifi module, you'll also gain 300mW+ of energy usage to this SAM9X60), but I think its important to recognize that this crazy SAM9X60 is roughly on the same energy-tier as an ESP32 except you got full size Linux on here. That means processes, threads, filesystems, TCP/IP, OpenSSL, Apache PHP, Python and more. Not this "Micropython" on ESP32, I mean the real thing, real Python.
The SAM9X60 is much costlier though, but in terms of overall capabilities I think the SAM9X60 drives a hard bargain as a superior chip.
Last edited: