Raspberry Pi 5: available now(raspberrypi.com) |
Raspberry Pi 5: available now(raspberrypi.com) |
The hardware is known and well documented has the best OS support.
If I have issues, I can just move the SD card to another one, or just reflash another SD with 0 downtime or fuss.
Availability is a big oof. We learned over the past few years that you shouldn't build anything of any importance on top of RPi because when manufacturing crunches hit "hobbyist" products are first to be sidelined.
1. VQFN package is a pain to deal with. You can't use a soldering iron, so its reflow-only and therefore requires hotplate + reflow hot air to deal with. Due to the difficulty of rework, you likely can't use the soldering iron+solder wick technique to fix solder bridges, for example... and therefore also require a soldering stencil to work with (gotta deposit the correct amount of solder-paste and hope everything works out good). Inspection requires X-Rays as well because everything is "under" the package, so you can't even visually inspect your joints.
I definitely prefer TQFP (seems to be the package with the biggest inventory in practice), and enjoy even the larger SSOP or even SOIC packages available from some competitors. All competitors offer VQFN as an option as well, in case you are truly size-constrained. But in my experience, a 9mmx9mm TQFP-32 is perfectly fine (7x7mm raw, but the leads take up another 1mm for total of 2mm added on the two sides). Your 32-traces are going to take up like half an inch of routing space anyway, so its not like the 5mmx5mm VQFN saves much space in practice IMO (IE: You'll need 6-layers or something... and/or to cut out lines to really take advantage of the space-savings from a VQFN)
Note: Hobbyists _should_ be using hotplates to do the bulk of their surface-mount soldering jobs. But accessibility to soldering iron for rework / touching up problems is a huge advantage to TQFP.
2. 0kB of on-board flash. RP2040 requires external components to boot, complicating the flashing / loading / bootup process.
3. Poor sleep specs, for a microcontroller. Your typical AVR DD (modern ATMega), or STM32G0, or Ti MSP430 / MSPM0 are all in the dozens or low-hundreds of microamps sleep (with some competitors in the ~hundreds of nanoamps for deepest sleep states). RP2040 sleeps at ~0.5mA to 1mA, an order of magnitude more power.
4. Poor power specs, for a microcontroller. Your typical AVR DD, SAMD, STM32G0, Ti MSP430 / MSPM0 are maybe single-digit mA (under 10mA across the board). RP2040 is like 20mA. I kid you not: an 8-bitter like AVR DD can be going full-tilt at like 4MHz or 8MHz and still have less power-usage than RP2040 *at idle*.
5. Lack of peripherals. RP2040 has PIO and SRAM as superpowers... but its got fewer timers, ADCs, DACs, OpAmps, Comparators, than all of its competitors.
---------------
RP2040's main superpower is its 264kB of SRAM. If you need gobs and gobs of SRAM, RP2040 is probably the right choice.
All other situations? I'm pretty sure you'd prefer a 12-bit differential ADC with 16x gain (ex: AVR64EA48), or 12-bit differential ADC (no PGA) + 3x OpAmps (ex: AVR128DB64) and multiple comparators and 4x onboard Vref, or 2x Zero-drift OpAmps + 1x general-purpose OpAmp (ex: TI's MSPM0 line).
Honestly, I'm not impressed by the Pico for general purpose use. The Pico works as a specialized compute-device (high SRAM, high MHz and dual-core), but this is simply impractical for many applications. You'd really rather have ADCs or Comparators in more typical electrical designs. Combo'd with the high-power usage (probably from all that redundant RAM the RP2040 has), and its difficult to recommend.
--------
Going in the other way: Cortex-M4F cores with a floating-point unit, even at 64MHz, will be much-much-much faster than a 200MHz RP2040. Why?
Because hardware float32 matter.
Why do you have 264kB of SRAM when you don't even have a floating-point unit? The RP2040 can't even be a good DSP-like system with all that compute power because you gotta software-emulate floats.
So if you _actually_ need compute power, you'd probably should be picking an STM32F4 (aka: Cortex-M4F) processor instead. RP2040 sits in this awkward zone where its got gobs of SRAM + MHz but is stuck on Cortex-M0+ (lacking floats, and other key instructions), so it doesn't actually have very fast compute in a very common case that matters...
So yeah, RP2040 works if you're willing to rewrite to integer-fixed point... if you don't need peripherals like ADCs or ACs, if you're willing to spend more power and complexity (due to the lack of on-board Flash), and are willing to use leadless VQFN packages. Its... quite a niche IMO.
I've been very surprised to not see other people discussing it.
The rpi3b is still around. You can also get the rpi zero, rpi zero 2 W, rpi pico, etc.
Get the right one for the job. If you need an M.2 SSD or actual 4k video playback, go for the rpi 5, if not, for sth. else.
Yeah, and it costs over $50 for just the SBC:
https://www.amazon.com/Raspberry-Pi-MS-004-00000024-Model-Bo...
I don't think that estimate takes into account the power savings you'd get from an ARM sbc versus a NUC or NUC-like minipic.
I don't think this is relevant. RPis cost is a critical factor in it's usefulness as a disposable toy computing platform, not web servers that need to run 24/7.
Moreover, that cost is further worsened by the need to buy a custom power supply.
For long term deployments, I think recycling what would become e-waste by reusing older enterprise units is better overall for the environment than letting it go to a dump and buying a lower power consumption unit.
TL;DR: TDP is not a factor for me, quick and lowish cost access to devices right away is way more important at the start
I gather all the manufacturers have similar offerings that are available dirt cheap on the used market.
I've owned every Raspberry Pi since the first one but I think the 4 was my last one. They are fun to tinker with with but not great for long-term use in my experience. I felt like I had to babysit it way too often, it absolutely wasn't a "setup an forgot" device, again in my experience. It'd be rock solid for 2-3 months then randomly stop working, rinse and repeat.
A little bit back I bought a cheap (~$250) mini pc to run Home Assistant on and I haven't looked back. The Raspberry Pi 4 did decent at that job but was a little flakey for my liking and I even had a special case with an m.2 adapter so I didn't have to use the SD card. And before "$XX < $200" (whatever these are going for now), I spent over $100 for my RPi 4 (top ram, I think 4? or was it 8?) especially since you need a case, power supply, etc. Also I had to buy a m.2 ssd and that special adapter.
EDIT: I don't doubt that some of you don't have stability issues and/or have a Raspberry 1 that's been running since release without issue. That just wasn't my experience. Maybe that's my fault, I don't know. I know that I bought "raw" boards, kits from multiple suppliers, and expensive cases that came with approved power supplies but without fail in a couple months it wouldn't be pingable/ssh-able and I'd have to power cycle it and sometimes the software on it would just lock up (same software wouldn't have issue on my home server). In the end maybe I'm an idiot or not smart enough to manage a RPi but especially after the stock issues not too long ago and who the RPi Foundation prioritized, coupled with my experience of the hardware, I'm not really interested in the platform.
I was surprised by just how much of the hardware and software of the Pi 5 was custom designed by (or for) the Raspberry Pi org. Custom MIPI implementation, custom IO chip, custom image signal processor, custom camera drivers (w/libcamera), custom video drivers (w/Mesa+DRM). They were able to cut out pretty much all of the Broadcom firmware and the VideoCore is no longer handling the bootup process.
Nope that part remains. The VideoCore VPU does almost nothing other than that and power management on the RPi5 though
All of them are either taking preorders or say they will start deliveries in late december or early january.
The only retailers that seem to have any stock at all are in the UK and buying from there is a nightmare due to brexit (assuming the boards ever arrive at all - they have a nasty habbit of taking people's money but never deliver).
[0] The test on the page looks like "AVAILABLE" and copies as " Available on Nov 03,2023 "
Radxa did have the Taco and Mediasonic does make compact 4/8 bay JBODs bur these are USB only.
There are also various NVME to SATA/SAS adapters but these mostly make use of port multipliers and speed won't be amazing. You'll probably also want some SATA backplanes to make wiring less nightmarish but these are annoying to source at a reasonable price.
My latest idea I had for something semi compact and performant was to try and use a USB4 SSD enclosure with adapters to connect a full size PCIE card. You'd then get a Thunderbolt DAS theoretically.
When I had to buy a SBC last time I couldn’t bring myself to get the Pi 4 because it was missing core features (4K HDR decode) vs the alternatives. But I love the community around Raspberry Pi and it’ll definitely increase my options with this SBC.
I think the Pico/RP2040 works great for most basic electronics projects, and honestly you can get surprisingly far with its processor, up to even basic 3d graphics.[1]
[1] https://sites.google.com/site/tedrossin/home/electronics/ras...
If you want to run kiosk, Pi Zero is a much better choice. It already has all that stuff. It is $10 vs $4. It runs normal OS.
i figured that after a decade of selling millions of Pis, they could establish direct sales channels by now. but instead we are still stuck with re-resellers who charge a hefty markup on marketplaces people outside of electronics would ever visit.
this is like the major critcism that remains for me with their original mission. the price might have started being accessible, but to buy one has almost never been so.
I've had my eye on https://turingpi.com/product/turing-rk1/
Once an 8GB pi cost more than an i3 or i5 mini pc that is capable of being upgraded it became completely pointless even considering them.
The only things I now have running on Pi's is my PiHole on an old Pi 2 - it's been flawless for years, and a Pi 3 that handles humidity detection in the utility room and turns on an extractor fan.
But the Pi probably costs less once you factor in energy costs, no?
It absolutely is. I have 4 RPi devices in the house actively doing work and I only touch them when I need to change a feature or something like that.
1. Front end to my 3D printer - RPi 2.
2. Magic Mirror - RPi 4.
3. Front end to my ancient HP LaserJet to make it wireless - RPi Zero W
4. Detector for Dryer finishing and sending me a text message - RPi Zero 2 W
These require no babysitting whatsoever.
I have Pis that have been running for 3+ years now (and that haven't been running longer because I upgraded them to Pi 3 or 4 boards, although they are performing the same jobs), and it's not just the OS either - I have Raspbian on the Pi 3 that runs my desktop touchscreen monitor (which controls all my lighting, and has an uptime of 167 days), and Ubuntu on my Homebridge/Zigbee gateway (which has an uptime of 61 days because I upgraded it before Summer, but has been running for nearly 2 years now).
If you need more CPU power, the RK3588 boards (as long as they have proper Armbian support) are decent bets, but at that point an Intel N100 might be more interesting since those CPUs can average below 10W on light load and will boost to better overall performance. Yes, they will be more expensive, but the going rate is 16GB RAM and 512GB SSD for less than $200, so...
But if you want something that just works _forever_ at under 5W mean load, the Pi 4 is still it. And you can boot it off an USB SSD to great effect (I have a Proxmox instance running that way).
1. You can configure the zero2 so that when it is connected to the iPad with a usb cable, 2 machine will construct an ethernet over usb and you can mosh from iPad to zero2 without any external network. zero2 also get both the data and power from a single usb cable
2. zero2 is cheap to replace. Micro sd card is cheap and easy to be cloned. You don't worry about software or hardware loss.
3. zero2 is actually quite usable in headless/ssh mode. I used to do the same thing on zero1 and it's a little bit sluggish.
I actually have my entire setup stored in a mint tin box.
Where I've had problems with other Pis has mostly come down to power supplies that don't deliver enough power. Getting a properly sized power supply will likely solve a lot of your issues.
I have docker containers running on my local app server that I literally never think about and have been humming away without issue for years (aside from server restarts or updates which I rarely need to do and it's often as easy as a `docker pull`). That's what I'm looking for, if it requires any more interaction then I'd rather pay more. I'm not saying "my time is worth so much" exactly, it's not like every hour of my day is packed full and I couldn't do some more server admin but I don't want to do that. I have the money (which isn't really all that much more) to avoid it so I do.
It's the same way that in my early 20's I cobbled together local storage servers full of shucked hard drives to save money and now I pay for a Synology and raw drives. I just don't want to spend my free time doing that anymore.
My three Orange Pi 5's are in my home k8s cluster (mostly as local GitHub Actions arm64 builders, but also have m.2 storage for Longhorn and run the occasional one-off) will probably tick along without being looked at again for years.
If you have 3 of those, you can run a Proxmox cluster, which is a godsend for applications like Home Assistant, which require stability and uptime.
The only time I use a Pi these days is when I need to interface with something via the GPIO pins. Netbooting increases the reliability vastly.
With BirdNET-pi, I have had a few hiccups due to the SD cards getting worn out from constant writing.
If that's not an option AND your setup has no power issues (e.g. it has good power supply, externally powered usb hub etc), disabling journalling might also improve performance: tune2fs -O ^has_journal /dev/sdaXXX (can't do it on mounted fs, so either do it from initram consolee, do pivot_root to minimal fs in ram, or do it from another machine)
same for network
The web works again.
The broadcom thing made sense to begin with, they got a great deal on the pricing. But with the likes of the Rock Pro being pretty much on a price parallel now (and higher performing) it no longer makes sense.
I would expect the boards with the RK3588 to still be more pleasant to use than an RPi5, but the RPi5, used with an m.2 drive, should be significantly better.
You'd expect the experience to get better since people have been testing with prerelease software as well, but... we'll see.
You can buy whatever else you want, even cheaper and better today, and after three years, getting a modern supported OS will be a total pain, due to binary blobs, custom drivers, custom "design solutions" etc.
RaspberryPi is currently the only SBC where you can take any revision of it and still get fully working(! yes, even wifi, bluetooth, etc.) software for it, even if it's not the newest and the greatest model.
If anything, support gets better with time, usually.
If you want to talk about bad support, let's talk about something like the NanoPi R5 series. Oof.
1. Raspberry Pi
2. X86 System
3. Barely functioning SOCs with no mainline support and major software issues until eternity.
A lot of the small/mini/micro form-factor systems (even ~five year old used corporate machines) are almost always the (significantly) better option at the price point. I bought a used Dell SFF system a couple of weeks ago for $119 that runs circles around the Pi in every way (16GB RAM, NVMe, real I/O, real USB, PCIe, six core i5, etc) while idling at 9 watts, which makes little difference in operating cost even in locales with the most expensive electricity in the world - especially as the Pi continues to be more power hungry and often requires a fan. The SFF system is even upgradable to 64GB of DDR4 and has a full length x16 PCIe slot and an additional x4 slot.
This machine does everything in my house, even functioning as a 2.5gb router which is already something the Raspberry Pi could never do. Add on a dozen docker containers, a VM or two, and the gap only widens. I did upgrade the RAM for $40 but the systems it replaced more than make it come out ahead on power and cost. You can still resell a Pi 4 for ~$70.
Perhaps most important - availability. There is no shortage of these systems on eBay and elsewhere (or new), there never has been and there likely never will be.
For many years the Raspberry Pi was a good default "go-to" for many applications but x86_64 has come a long way and at this point I struggle to come up with all but a few bespoke use cases for the Raspberry Pi.
A lot of recreational tinkerers are already giving up their free time, and accepting a slightly inferior product to the commercial options. To also spend more would be a step too far :)
Getting my 20-year-old mono laser printer network-enabled with $20 of hardware: Smart, e-waste-reducing move, even if it only supports 300dpi.
Doing the same thing with $100 of hardware: Why waste the time, when a brand new mono laser would cost less, offer better print quality, and have built in wifi?
Setting up a DIY networked camera with $50 of hardware: Fun little hobby project, maybe more secure than the sketchy cloud options and cheap imports that never get firmware updates.
Doing the same thing with $130 of hardware: Just buy from Axis or Pelco or whoever. They'll have figured out the waterproofing, and the night vision, and the PoE, and nobody will call you a dumbass for buying the "wRoNg tYpE oF mIcRoSdcArD"
Early in my career as an EE, I learned that your world could suddenly be upset and swaths of components could suddenly become unavailable to the small manufacturer because an auto company or some other massive customer got preference, so the majority of parts went "on allocation." Meaning that the production runs were allocated to certain customers and if you were lucky then you got the leftovers. You could suddenly not be able to built product for a year because critical parts just couldn't be found on the market. I remember one vendor selling a part that normally cost around $16 for over $400.
It's not specific to the Pi: this happens everywhere.
The low price point got me into them over a decade ago. The ecosystem is why I prefer them even at their top spec lines.
Even at their current prices, the 8GB versions are inexpensive enough to grab instead of a 4GB one, even if there is no initial need.
And I don’t have to deal with the process of buying second hand, maybe will work, maybe won’t, items.
https://forums.servethehome.com/index.php?threads/lenovo-thi...
In the BirdNET-pi I used whatever came in the CanaKit which I’m not even sure if it was branded. I gave that to my parents and my dad replaced it and hasn’t had problems since then.
Fingers crossed, it's been fantastic reliability.
This is my second attempt at solving this problem. In the first incarnation, I attempted to do audio recognition for the sound that the dryer makes when its done, but I just couldn't get it to work well. The sound was too short to generate a good signature.
I paid $195 NEW for a Beelink S12 Mini with 16GB RAM, 500GB NVMe, and an Intel N95 CPU
I believe it is said to idle at about 8W. It's a powerful enough machine you could run a bunch of small VMs on it, assuming your workload didn't involve GPIO or other hardware things.
I rolled a handful of RPis into VMs on one Orange Pi 5 because it has memory to do so and I wasn't using anything Pi specific.
It's been in stock for months every time I cared to look.
https://www.raspberrypi.com/app/uploads/2023/09/40e82000-af3...
SoC support for Rockchip/Allwinner is usually good, except for the newest SoC, where the support may be lacking in some aspects that may or may not matter to whatever usecase at hand.
Checking the board DT before buying is a good idea, to see what's supported.
I have about 8 differnt Orange/Xunlong and Pine64 SBCs, running for between 7-3 years with continuous mainline Linux updates.
So I do have a rPi 5 ordered because they've advertised full upstreamed mesa Vulkan support on release. Maybe desktop OpenGL via Zink on top of Vulkan will be good enough.
It's great that it did not become ewaste, and a computer you have is better than one you don't have, but people likely shouldn't pick up old netbooks over something like a pi.
If you used one for something equivilent to a pihole then I think yes it would cost more over time, although we're likely talking many years of 24/7 runtime for it to then become more expensive, the low power x86 chips are a lot more efficient than they used to be.
That's my new router board, if it works okay!
And... if i can buy it anywhere...
I have an ordinary Orange Pi 5 for my HomeAssistant setup and it's quite alright. Having a real NVME SSD in there instead of an SD card gives me peace of mind. I did some tests with zstd and found it about 50% the speed of my Threadripper (restricted to 8 cores for the test). The non-efficiency cores are therefore probably more than twice as fast as a 2 generation old AMD chip, which is pretty impressive.
For the cost of the Orange Pi 5 Plus, you're starting to get into similarly-equipped Intel N100-based machines. I haven't seen any benchmarks comparing the two, but I'd assume it's faster. So you might want to look at those. (Amazon is expensive; everyone gets these from AliExpress. I also don't know how well modern Intel machines do booting without a keyboard and a mouse; the ARM SBCs do great.)
A fair comparison of cheap phones and a Raspberry Pi would be browsing the web with the "Desktop site" feature enabled in the phone browser.
In contrast eMMC is soldered onto the board, while the m.2 didn't even exist back in 2012 when the first RasPi launched.
eMMC does not have to be soldered-on, either; the Orange Pi 5+ has a swappable eMMC module.
> Moreover, that cost is further worsened by the need to buy a custom power supply.
But you don’t need to?
From RPi5's FAQ:
> Raspberry Pi 5 is a higher-performance computer than Raspberry Pi 4, and you may have problems using an under-powered supply. We recommend a high-quality 5V 5A USB-C power supply, such as the new Raspberry Pi 27W USB-C Power Supply.
As mentioned in a previous HN discussion, not only was RPi5 designed to require a nonstandard power supply, the official "high-quality" power supply for the RPi4 is also considerably underpowered at 15W at 5.1V-3A[1] while RPi5 stands at 27W at 5V-5A.
[1] https://www.raspberrypi.com/products/type-c-power-supply/
5V/5A will also give you 5W extra power on the device for their high performance mode.
But again, it’s not necessary and most uses of a Pi will do fine with 5V/3A.
As for Intel machines, most i've found lately seem to be oriented towards home theater, a lot of useless (to me) video outputs and never enough network cards.
Not sure how low power they are either. This is the Intel that seems to have stopped caring about power consumption completely to win the speed race, and people are buying so why would thy care?
Right now I'm still using a dual core Atom Dsomething from I don't remember when, its main quality is it eats 15 W including 2 spinny discs (2.5" 5400 rpm). An Orange Pi with a ssd and the GPU turned off might eat even less.
I don't think so. Historically, Raspberry pi board always had non-standard power requirements and always required rpi's official power supply to work reliably. My RPi4 board forced me to buy the official power supply to work without weird problems and I did nothing but vanilla stuff with it.
RPi5 worsens this problem by requiring a power supply that draws 5A.
I mean, when you're talking about things (items in your "finite hobby budget") that cost less than a hundred dollars, why are you going to fuss about the "price point?" I am intrigued by how much this appears to matter to people who comment on Raspberry Pi threads.
Hobbyists spent, at times, thousands or even tens of thousands of dollars on microcomputers in the eighties, and that was real money back then. Even the quaint ZX whatevers that were sold in Europe were, in inflation-adjusted terms, much more expensive than a Pi. Perhaps that's why I find these recurring concerns about how much an inexpensive SBC costs to be a bit baffling, particularly in the case of a hobbiest who is only buying one of them.
These low-cost SBCs are often viewed as a gateway product for introducing people to technology they wouldn't otherwise have access to - a system that could be a serviceable PC or launchpad for hobby electronics. The hobbyists you mention, apparently flush with cash and not a care in the world, aren't the people who need the price break. It's low income families with kids that need access to resources that might lead to a better future.
Not to mention that a Raspberry Pi is an embeddable system. It might be a small part of a much larger project, so even a low price might be hard to justify.
But no, let's keep making everything expensive so that computers and technology careers are only accessible to families that already have wealth. We, the Hobbyists of lore, can strut about the city square in our wearable devices and augmented reality headsets while the dirty street urchins scramble behind us, hoping for a fallen scrap, a loose semiconductor or relay they can take home to their families so they might afford little Timmy's leg surgery...
While you've misunderstood my comment so badly I am worried you might have suffered a recent head injury, and I'm not getting any closer to understanding the quirkiness of people who comment on Raspberry Pi related threads which is what I was really shooting for, believe me: I respect the effort here.
> edgyquant
Haha.
Though I did get a buzz from my first CASHTEL order: https://worldradiohistory.com/UK/Mapelin/Maplin%20Electronic...
At least as someone who makes a lot of money I have plenty of good food and a dry roof over my head. However that doesn't mean I have infinite money in the hobby budget.
$40 is a lot of money for teens without income (which is the case for most teenagers across the world outside of the US). Most kids get money maybe once or twice a year and have to spread it out, and then negotiate for other hobby-based purchases when they can. There's a reason forums are filled with people discussing how to maintain sub-$100 Thinkpads!
Usually an SBC is just one item on a project's part list. If I can get one that's equally suitable and 20 Euro less, that's another bunch of sensors, or another smart light, or a few additional PCBs, or a spool of filament, or another display, or other peripheral, or another filter for my photography kit.
> Is there some missing context here, like "...and they only have ten dollars to spend on hobbies during the entirety of 2023 due to the famine wracking their homeland?"
People in that kind of situation will probably not be looking at a Pi 5 for a hobby project. A lot of people are better off than that and still not in a place where a hundred dollars here and there isn't even worth thinking about. I try to limit hobby expenses because that allows me to have more projects and play with more things without cutting into anything more important.
> Hobbyists spent, at times, thousands or even tens of thousands of dollars on microcomputers in the eighties, and that was real money back then. Even the quaint ZX whatevers that were sold in Europe were, in inflation-adjusted terms, much more expensive than a Pi.
At least for the things I do, that's a wildly inaccurate comparison. A Pi is more like a drop-in part like an electrical component would have been back in the 80s, and most hobbyists would not have paid thousands for a specialized diode or the like, and most wouldn't have bought another personal computer for a new project. The closest analog to a proper computer back then would be my laptop, and I did pay "real money" for that. I don't buy Pis as standalone personal computing devices, they're for automation that I can't or don't want to fit on a microcontroller. Two Pi 4s are running Home Assistant deployments, another (zero W) is driving an e-ink info screen, one Pi 3-something sits inside a half-assembled robotics kit, I had another 3-something running OctoPrint until recently. If I had to pay "real money" for any of those, I'd just do without.
(thanks for not mentioning that you could just buy a used PC on ebay for less, har har har)
I wonder if that’s unique to Israel, or if the ease of getting reasonable 2nd hand hardware is unique to the US.
My guess is that most of used PCs come from the US. A lot of companies have refresh cycles where buy new hardware every five years or so. There are a lot of support employees that get cheap mini PCs.
- rpi has GPIO pins
- many rpi boards' max power consumption is around the idling power consumption of a pc, rpi zero 2 can run off a standard usb A port of a laptop
- rpi zero 1/2, rpi 3A and rpi 4 has usb gadget mode which means it can be plugged to a notebook and two machines will connect over usb ethernet. That is especially helpful for debugging headless machines when in a hotel room (no wifi under your control, no ethernet cable).
- yes microsd is slow, but it's also cheap and easy to swap. That means you can: 1. if a board is broken then take out the card and insert it into another board. It will take you 2 minutes max and then everything will be exactly the same. 2. clone your entire microsd card as backup 3. you can swap different OS by swapping microsd. No need to partition your harddisk.
I do my development works on my iPad connecting to a remote VPS. And I always has a rpi zero 2 as my backup when I have no internet connection. You just connect ipad to zero2 using a usb-c to usb-c cable with a usb-c to micro usb adapter, then you can mosh from ipad to zero2 and keep programming. How wonderful!
[edited for formatting]
This is certainly one of the "bespoke applications" I was referencing. That said, I tend to feel that USB GPIO boards[0] are more capable and flexible when/if you need GPIO. There's also the ESP32 series which almost always make more sense for me at least. You can add as many of these as you want to meet any GPIO need you will ever have. In almost every case I've needed GPIO having it available over wifi vs being limited to a few inches from a Raspberry Pi has been tremendously more useful.
> - many rpi boards' max power consumption is around the idling power consumption of a pc, rpi zero 2 can run off a standard usb A port of a laptop
Fair enough, but how often does this really matter? I'm not advocating for unnecessary burning of the planet but as an example at $0.20 per kWh a seven watt delta comes down to $1/mo which (to me, at least) is nothing over the lifetime of the hardware when factoring in the dramatically improved capability.
> - rpi zero 1/2, rpi 3A and rpi 4 has usb gadget mode which means it can be plugged to a notebook and two machines will connect over usb ethernet. That is especially helpful for debugging headless machines when in a hotel room (no wifi under your control, no ethernet cable).
Another bespoke application that is perfectly fair. This can also be achieved with a tiny travel router (I LOVE mine) which will also run circles around gadget mode in terms of performance and functionality - significantly better Wifi, multiple real ethernet ports, it's own USB host for whatever. Running OpenWRT of course so it's still a Linux machine you can do whatever with - including connecting the USB GPIO boards I referenced above.
> - yes microsd is slow, but it's also cheap and easy to swap. That means you can: 1. if a board is broken then take out the card and insert it into another board. It will take you 2 minutes max and then everything will be exactly the same. 2. clone your entire microsd card as backup 3. you can swap different OS by swapping microsd. No need to partition your harddisk.
MicroSD is EXTREMELY slow and unreliable when compared to NVMe, microsd is cheap but you "get what you pay for". You can also achieve similar cost, swap-ability, and ease of overall use with USB flash drives which are often higher performance and more reliable anyway. A full EFI BIOS, bootloader, etc comes in very handy.
These are generally excellent points but the vast majority of Raspberry Pi use cases seem to be people looking for a linux machine/home server/etc that doesn't touch any of this functionality.
But hey, in the end use what works for you!
I did reference the "mini/micro" variants which are significantly smaller - with the sacrifice being loss of PCIe which when it comes to x16 + x4 slots there really isn't any way to get around. Mine can also take two 2.5" SATA drives depending on how you feel about that.
They are about a litre in volume. However they give up the pcie slots for the size.
I agree the lack of floating point and the poor ADC are an issue. I designed a high power brushless motor controller using the RP2040 and the FOC loop only runs at 8kHz which is fast enough for my use, but much slower than a higher end board. I just love this processor too much to use something else.
The main advantage to this processor is that it seemingly will never go out of stock (until it’s EOL date). When I started designing the motor controller in early 2022 during the chip shortage, I went to the Digikey “microcontroller” category with no filters and sorted by most in stock. They had millions of RP2040’s - it was the most in stock microcontroller on Digikey. I guess since Raspberry Pi only have a single SKU for their microcontrollers they can just churn them out in huge quantities.
My goal is to stay invested in this product line until an updated rev comes out with a better ADC and floating point. I bet they’re working on it.
You have a point about RP2040 being a thing that JLCPCB's assembly service benefits from. A singular chip that you "plan to use in most projects", along with pre-loaded pick-and-place machines that have common I2C attachments, makes sense in the scheme of factory design. (While something like Microchip's AVR DA vs AVR DB vs AVR DD vs AVR EA loses out, because SKUs are the enemy of such an assembly line as you'd be forced to manually swap-out reels in between production runs).
Still, RP2040 is a compromised part with plenty of downsides that I've listed above. And as far as a "centerpiece jack-of-all-trades" microcontroller goes, I'm not convinced that the RP2040 is the best to keep preloaded in such a configuration yet anyway to be mass produced into many designs.
But your point stands. It is a production / prototyping issue that intrigues me and I wasn't thinking about earlier.
------------
> Just a note on soldering: I’m perfectly capable of soldering VQFN at home
Well yes. I did say that Hotplate + Reflow Hot Air Gun works. But *soldering iron* is an advantage IMO.
Personally speaking, I don't see any of the chips I use on a regular basis on JLCPCB's list, so I've never felt the need to experiment with it. I can see how its advantageous if those preloaded pick-and-place machines have the chips / components you use though.
I’ve moved to a model of only designing with parts available at JLCPCB (or LCSC, which you can have JLC order internally for you). It requires a change in mindset, but being able to spend $300 on QTY 10 fully assembled complex PCBAs delivered in two weeks is a revelation. No more boxes of components sitting around my lab. No more hours spent doing microscope and tweezer placement. No more orders split across Digikey and Mouser. I order the PCB and everything else from the same place. Hell I got my first CNC machined parts from JLCPCB recently and their quote was 20% cheaper than the other Chinese CNC house I was using.
It’s real nice. I focus on design and testing and not doing assembly.
But if you want super cheap, 'standard'-type uC chip, look at the $ 0.10 https://github.com/openwch/ch32v003/tree/main
Pretty much no MCU in the same price range contains a DAC and most comparable MCUs don't have integrated OpAmps. The external flash has it's disadvantages, but it's also much cheaper to have huge amounts of flash. Typical 1$ MCUs can't include external flash in their address range, so it also can't be added in a similar way.
The RP2040 isn't suitable for a lot of floating point tasks, but floating point tasks on MCUs are not that common. FPGAs are often used as DSP-monsters and floating point isn't very nice on them.
If you need fast processing, with real multitasking, flexible (digital) pheriperals (PIOs can also simulate timers and up to ~22 total timers are nothing to scoff at), some nice fixed point DSP stuff (hardware divider, interpolators), gobs of (external) flash & RAM and great software support the rp2040 is pretty much the way to go as a default micro-controller.
For ~1$ it's a pretty compelling offer which is hard to beat with non-chinese chips.
https://www.digikey.com/en/products/detail/microchip-technol...
10-bit DAC and Differential ADC at $1.00 right now at Digikey.
> most comparable MCUs don't have integrated OpAmps
STM32, AVR, and MSPM0 all have OpAmp chips in their family. No, not every chip. But this means that your assembly code / c-code and drivers just transfer over to the OpAmp family (Ex: AVR128DB48) when you need OpAmps.
So my code I wrote earlier on the AVR16DD14 $1 earlier just magically upgrades to the OpAmp version inside the family.
Bonus points to MSPM0 for having higher quality chopper/zero drift OpAmps even. (Though negative points for TI chips to be out of stock right now lol)
All of these are rail-to-rail in my experience as well. So.... Yeah... The competition is tough these days.
> If you need fast processing, with real multitasking, flexible (digital) pheriperals (PIOs can also simulate timers and up to ~22 total timers are nothing to scoff at)
Spend $5 more and get a real chip if you're actually processor limited. The Linux Capable SAM9X60 is sitting there at like $8. That's a full bore Linux 6.x kernel.
Anyone at the $1 to $3 market ain't doing this for cost/performance efficiency... but instead overall cost optimization. The 600MHz to Ghz class chips are all available at $10 and are a better choice for processor limitations.
If you're scared of BGA, then I'm still willing to bet that STM32F7 or STM32F4 are better choices with hardware Floats and like 200MHz to 800MHz.
But yeah, 8-bitters and Cortex-M0+ chips aren't here to win performance or compute benchmarks. They're here because a potato-chip is all you need to run an ADC + send data over SPI or I2C and/or react to a UART. For all deeper needs, please for good gracious... please buy a $3 or $5 or $8 chip instead.
---------
I do think the $1 to $3 market is mostly about "Making sure you don't have to buy something else". Like having on-board flash (cutting off another $1 from the BOM / assembly), or whatever.
RP2040 goes a different approach, $1 is very cheap and 264kB is a very large amount of SRAM, but it really doesn't contain anything else worth noting (I guess a single-ended ADC and the PIOs like you mentioned). But all the SRAM/PIO in the world isn't enough to get you to output a 10-bit analog signal through a DAC.
I'm somewhat surprised they didn't go with these as they seem relatively powerful+low deep sleep, with builtin wifi/bt, etc? Their analog input I think is limited though
If you need WiFi/Bluetooth, it seems like ESP32 is a good fit. If not, its kind of awful with regards to integration.
---------
I know that not everyone's doing mixed-signal projects. But ADC, Comparators, OpAmps, Timers are just so damn useful. And STM32, AVR, TI all offer a huge amount of analog-components in practice (with pros/cons to each).
Given how absurdly cheap uCs are today, the minute you say "Oh, lemme just get an I2C ADC to add to the ESP32", and suddenly you realize that the AVR64EA32 chip over there is probably the best "I2C ADC" under $2 (16x PGA, 12-bit Differential 350kSample/sec), and you're suddenly wondering what the ESP32 was supposed to be doing if you're not using WiFi/Bluetooth.
I think the ESPs are really the perfect balance of functionality to (low) cost. That and the excellent beginner-level documentation and community.
Displays use tons of power anyway, so 20mA power consumption of RP2040 is fine. And you need 264kB of SRAM for a good frame-buffer, and dual-core means one core can be dedicated for the display and the 2nd core can do all the other functions of your application.
Graphics are likely too large to fit on a typical on-board Flash, so you'll need QSPI (or larger) amounts of Flash anyway, so the weird bootup / requirement of Flash is made redundant.
---------
But general purpose use of RP2040? Uhh... no? Honestly, the RP2040 feels very much like a cut-down microprocessor in its design.
I guess RP2040 has the advantages of Micropython and more than enough SRAM to run larger sets of Micropython code for beginners... which is an advantage for some folk.
---------
I kind of wish that the bottom-tier of microprocessors became more commonplace for hobbyists. Full Linux 6.x kernels and 128MB with a variety of ADCs / Comparators on the SAM9x60 (ARMv5 Microprocessor with on-board DDR2 with ~50mA power usage at downclocked 200MHz)
Why run microPython? Just run Python 3 and G++.
Bonus points: idles at 2.1mA and sleeps at 200uA, so this Linux-capable microprocessor is comparable to the RP2040's idle/sleep specs. (I'm cheating though: DDR2 uses a substantial amount of power and I'm only counting CPU-power. But it still goes to show how absurdly high-power the RP2040 is in practice).
Honestly for many projects needing analog it might be "good enough", but it leaves a lot to be desired, and like the parent said, the moment you're looking for a a i2c adc you end up looking at another MCU anyway.
That's if you need an analog adc which my projects don't (sensors are all i2c anyway) but definitely takes away from being used as a general purpose chip.
It is a shame espressif didn't put a better adc in there.
* The recent AVRs are all differential ADCs, which is highly useful as "voltageA - voltageB" is a common measurement in practice. And its quite different than ChannelA (read a fraction-of-a-second earlier) - ChannelB (read right now), for multiple reasons. (Common-mode noise for one, you'll want to sample at the same time to negate common-mode noise)
* Anti-aliasing filters should be applied for best-practice design against your expected sampling rate... but RC 1st order filters have poor performance. The free-opamps you get from STM32G4 / AVR DB / TI's MSPM0L are easily turned into Sallen-key 2nd order filters, or chained together into 4th order filters or beyond. Or in more practical terms, an RC filter achieves -80db (aka: 10-bits of attenuation of aliased signals) after 4 decades. So a 100Khz sampling rate only has an effective bandwidth of 10 Hz.
Meanwhile, a 2nd order filter gets 80db in 2 decades, so you have a bandwidth of 1Khz.
Yes, despite having a 100Khz sample rate (or beyond) in the digital realm, it only has accuracy and efficacy in a much smaller domain. You have to perform basic analog analysis if you care about any bit of accuracy.
* In the case of STM32 or Ti (which have only single-ended OpAmps), you can build a differential OpAmp to perform VoltageA - VoltageB as a preprocessing step before the ADC.
* I'd say the most common use of differential signals is probably current-measurement across a 0.1 Ohm resistor. If 1-amp is flowing the resistor will have 0.1V across it. Furthermore, there's a common-mode voltage of unknown (ex: the resistor might be 2.3V to 2.4V on the two sides one second... but another time it will be 1.5V to 1.6V), so a single-ended measurement is not ideal. So you need to get rid of the common-voltage while simultaneously taking this difference-measurement.
-------------
So basically... OpAmps win so hard its not even a fair fight. Free OpAmps on your microcontrollers (STM32G4, AVR DB, and TI MSPM0L) chips just win in all things analog, even in the most basic case of just sampling into an ADC in practice.
Of course, for precision design, you need to build an analog circuit out of precision parts (ie: a dedicated precision OpAmp rather than the general-purpose ones you find for free on a uC). But many basic designs can be solved with the free opAmps from these uCs, as long as you taper your expectations. (In any case, its far better than what ESP32 will accomplish without opamps of its own)
You really end up with "the sum is greater than each of the parts". ADCs are so much more useful when you have an OpAmp or two at your disposal.
----------
Note: many uCs have analog comparators which perform "VoltageA > VoltageB" vs "VoltageA < VoltageB" comparisons... which might be sufficient and simpler than using the ADC. I don't think the ESP32 has any Voltage-comparators though.
So its really the mix: an ADC here, a Voltage Comparator there, a few OpAmps for free, a Zero-crossing detector here... suddenly you can build many designs from these $1 or $2 chips with incredible amounts of accuracy. (Well, incredible for $1 or $2 of course. These parts can't replace more expensive analog chips...)
I'm not sure having a new one available that is quite a bit more powerful and costs $25 more is hurting those kids.