In any given field there are epoch-defining moments, those events after which nothing was quite the same as it had been before. It’s been a decade since the launch of the first Raspberry Pi single board computer. This was by no means the first inexpensive computer board, nor was it the first to support the GNU/Linux operating system, but it was among the first to promise a combination of those two. Coupled with support from a crop of British 8-bit alumni meant that from when it first gained publicity in early 2011 it garnered a huge buildup of interest.
We were first teased with a USB stick style prototype, which morphed into a much larger Raspberry Pi alpha board and finally into pre-production boards much closer to the model launched at the end of February ten years ago.
How To Disappoint Every Single British Geek At 6 AM
Pedants will claim that the 10th birthday of the Pi is technically not yet upon us because those first Model B boards went on sale on the 29th of February 2012, a leap day. The two distributors, RS and Farnell, were both putting them on sale with the expectation of selling around 10,000 units — a prediction that proved woefully inadequate, with both websites collapsing under the weight of would-be Pi-purchasers within seconds of opening up at 6 AM.
I was ready to order at 6 AM, and was only able to order mine halfway through the day. That short wait would be just the beginning — because they received so many more orders than anticipated, the bulk of the orders weren’t fulfilled until May. Nobody had imagined how wildly successful the Pi boards would become.
I still have my first Model B from 2012, it’s an early 256 MB Chinese-made model without a CE mark and with a pair of stick-on copper heatsinks that I added. Later that year, production would be moved to the Sony plant in South Wales, and a few revisions including a pair of mounting holes would be made to the original form factor with the 26-pin expansion connector and RCA video socket.
I remember unpacking it, and the novelty of being able to bring up an LXDE desktop on my TV and surf the Web with the Midori browser that featured in those first OS distributions. After a spate of experimenting with the capabilities of its GPIOs, I put it to work on my big project of the day: continuous gathering and processing of language data.
It replaced an old laptop for this task, and even though it wasn’t quite as fast, the benefits of having a headless Debian box using only 2 W continuously were immediately apparent. It was soon joined in this task by a Welsh-made Model B, and together these two would spend the next several years on my windowsill building a searchable English-language news corpus. In this paragraph we’re touching on the root of what made the Pi special, because while I was crunching language data so many others were doing all sorts of interesting projects; this thing was and is an infinitely versatile platform with a tiny price and power budget.
Ten Thousand Boards Becomes A Global Phenomenon
The rest of the Pi story will be familiar to many readers. After a major overhaul of the form factor in 2014 for the B+ there have been a succession of ever more powerful flagship products in the Pi range, alongside the Compute modules, the diminutive Zero range, the RP2040 microcontroller and Pico board, and the accessories such as the cameras or the touch screen.
Alongside all this, a thriving ecosystem of third-party add-on boards and accessories evolved, and of course a host of copycats. They made a UNIX workstation into a few-dollar component (taking a minor liberty with the description of UNIX), and we’ve made hay with it. There’s the Raspberry Pi potted history in a few paragraphs, but there’s more to their last decade to think about. Perhaps it’s worth standing back and assessing where the Pi people have got it right, and where they maybe could have done a little better.
What Did They Get Right?
Despite the astounding success of the Raspberry Pi range, the boards themselves have never been the most capable hardware on paper. The original used a SoC from a set-top box that was more like a powerful graphics chip with an incidental application processor. Broadcom’s reluctance to expose their family silver meant we never really got the most from the graphics chip, and thus even with updated SoCs in more recent Pi revisions it’s always been an easy win for competitors to stuff a board with a fast tablet or phone SoC and claim it as a Pi-beater.
The seed of the Raspberry Pi’s success lies not in the hardware itself, but in the effort they put into supporting their software distribution and the community surrounding it. When you buy the competition you in many cases get a flaky distribution with a kernel version hacked to work with the chip manufacturer’s binary blob for the SoC, and that version is never updated. The Pi people by contrast have put the effort into keeping their software distribution updated with new kernel versions, and the fact that an up-to-date 32-bit Raspberry Pi OS still runs on my 2012 Model B is what has kept them at the top of the tree.
And How Did They Mess Up?
My main gripe with the Raspberries is that they can be opaque when it comes to the needs of their hardware developer community. We clearly want something more than their sketchy partial schematics, and a clear communication channel for the smaller peripheral manufacturers would cost them relatively little in the way of resources and would make the lives of the small-time hardware developers so much easier.
I remember in 2015, when I was running my kit operation, seeing another small producer of add-ons quit the Pi business and go back to the Arduino world when the new Pi Zero’s form factor had evidently already been shared with only a select few of the larger producers, leaving those suppliers with launch products for the Zero while the rest of the field had bet the farm on the Model B form factor. If I had Eben Upton’s ear on this subject, I’d suggest that a formal hardware developer’s program for their second decade could be of immense benefit to both Raspberry Pi and their community.
Where Next When You’ve Got It All?
Having taken stock of their first decade, where next for the main Raspberry Pi product lines? The flagship single-board computers are the archetypal Raspberry Pi and there seems no sign of their popularity abating, but in a sense they are the victim of their own success.
Most every new board since 2014 has been essentially an upgraded version of the same product. While the latest Pi 4 is a quick and capable board, it suffers from becoming a genericised piece of hardware. The move to a 64-bit OS should slowly draw a line between the newer and older boards, but since the 32-bit products are slated to feature on the Pi Zero well into the middle years of the decade, this may take a while to happen.
Perhaps it’s the wild-cards in the pack that show the most potential. The Pi 400 all-in-one computer is a genuinely different product to which the competition have no answer. It’s a usable desktop machine, and future versions with faster SoCs and more memory can only make it more so. The Compute Module 4 feels like the more exciting Raspberry Pi, and given that it offers the opportunity for a designer to spin their own individual take on a Pi, it’s not difficult to see why. We have a pretty good idea what the Model B form factor will look like in the future, but we can not forsee where individual designers will go with the corresponding Compute Modules. We’re looking at you to create the landmark Raspberry Pi-based products of the next decade.
The last ten years for the Raspberry Pi have successfully delivered a succession of super-cheap Linux boards, spawned an ecosystem, and maintained one of the best supported software communities in its class. Their missteps have been relatively few and their successes many, but can they keep it up? If they don’t lose sight of their customers and keep that software support up-to-date, we think so. Check back in ten years for another decade of Raspberry Pi news!
…and it still plays awful video.
Awful is rather overstating it, hit the hardware accelerators and its good (even on the older models), and with the Pi4 family CPU decoding is pretty good too (made much better if you put a heatsink on and give it a little overclock).
Yes its not a match to everything else you could possibly compare it to, but a size, cost, powerdraw and performance comparison of anything else never makes it look awful, just sometimes its not the best tool for the job – As like any tool so very versatile it doesn’t excel at every task you can put to it, though it does most of them really quite well with the shear grunt of the Pi4. If all you want is to watch video a smartphone/ Nintendo Switch (or even 3ds), ‘smart’ TV, etc might be the best choice for you. If you really want it all you need a full spec and power draw PC with the GPIO interfaces (if wanted) provided probably by a Arduino, teensy or Pi (others are available of course but those are the common 3 I would suggest)…
“hit” the hardware accelerators?
ok, for the pedantically accurate (and less likely to break the poor SOC or your knuckles if you took that seriously…), select the right encoding for the videos such that you can use the hardware acceleration in your Pi.
Don’t many Pi’s have comprehensive hardware acceleration for numerous formats, yet that is disabled save for payment of an additional license fee?
I lost video acceleration/video support in VLC when upgrading from Pi 3 to Pi 4 years ago..
Now using Kaffeine..
(paraphrasing others like you) “It doesn’t do what I want it to do.”
The problem is not the Pi, it is the user trying to fit a square peg into a round hole.
Funny that it’s not even the shape that’s the problem. A square peg can fit into a round hole if the peg is small enough. People are just expecting too much from a small device!
So, the Raspberry Pi 4 I bought, widely touted as a “desktop replacement”, doesn’t even perform as a basic multimedia PC, and it’s MY fault? Ok, I get that.
A pi 4 is a perfectly good multimedia device, able to play videos and music very well (though use HDMI audio or an audio hat to get better quality sound).
What it isn’t is the computer to edit or view your 8K 120fps camera footage on, or other stupidly high end challenges that even a 200w+ gpu would find a bit of a workout, but for normal playing HD video use it is just fine, add a heatsink (even a tiny one will help alot) and a little overclock and it can handle many video streams at once reasonably well too… Infact right now i’m working on freecad (well shifting parts around idly trying to figure out the right design) and watching the Iplayer…
The only challenge with the Pi4 as a multimedia device that really is a fair comment has nothing to do with the Pi, as all the Widevine reliant streaming services won’t work on anything ARM64 because google hasn’t made widevine for arm64, so workarounds required (but as until recently the default easy to find Raspbian image was 32 bit arm that doesn’t apply much either)… Yes its not as snappy at shifting to full screen etc as your many times more power hungry computer, but unless you are setting it up for failure it will work just fine, just not quite as quickly as a bigger computer might (though for most common desktop tasks it isn’t any slower than even a top of the line CPU/GPU combo – with the internet you are generally waiting on the connection to push all the data, with initial application load times its the disk you are launching off (so a PC with the fastest NVME SSD will be a bit quicker), and for everything else the computer is waiting for the uselessly slow fleshbag to tell it to do something else anyway).
Oh also as it only has at most 8gb of ram a tab fiend like myself does find it won’t handle the desktops browsing session very well…
Uh.. Yes! If you buy something that does not meet your requirements, it is your fault. Very much so!
A “desktop replacement” does not mean it will do whatever you throw at it. Even x86 systems can’t do it all, you need to buy one that is appropriately sized to the workloads you’re going to throw at it.
For swallowing hype generated by over excited fanboys..
ABSOLUTELY.
YES INDEED.
All your fault.
Pro tip..
There is a bit of text under the headline. .try reading it.
And sorry to be the one to inform you…
“basic multimedia PC” is as nebulous and meaningless a term as “desktop replacement”.
Yes this attitude is exactly why I don’t even bother with open source anymore.
It plays video fine if you know what you are doing with it.
I beg to differ I used the original raspberry pi about ten years ago till the newer model came out with a lot of success running Kodi on it and using it on my tv as a media player and it never struggled actually (although it was overclocked and I had heatsinks and a fan on it). All the models kept up with whatever video I threw at it. Even up to 1080p 3d movies. I have since moved to using a fire box for my movies with plex. But I do have a pi4 running retro games at 1080 and it works like a charm
The last day of February is Rare Disease Day. But they define it as the last day, so every four years it’s one day later
The coolest new feature on the Raspberry Pi 4 (or 400), currently in PUBLIC BETA, is the “Network Install”. Literally you will be able to plug the board into your network and have it boot and install from the Internet with no additional hardware other than your normal router’s DHCP server.
(ref: https://www.raspberrypi.com/news/network-install-beta-test-your-help-required/ )
And still no suspend to RAM, not even on those “low-power” Zeros. What a joke.
Yeah, why arent you done yet? if you need it so much then you should be working on it now. Complaining about free software not getting done, what a joke.
Many would like to implement this feature but it is not possible since the ARM part is just a coprocessor there and you need to work also with the main media processor (some call it GPU but the GPU is actually a different and kinda documented part!) which is super-proprietary with documentation under NDA available only to bigbussiness contractual partners.
So what you are really saying is that it does not meet your requirements. Got it. Next time word it that way and we’ll all understand it the first time around.
If it does not fit your needs, you need to find a different product.
Over half of Pis are sold for commercial purposes.
Very true, and there is no denying the Zeros are low-power, idles at a very low draw and runs flat out with low power draw too – for something that is getting close to a usable all purpose desktop in performance that is pretty darn impressive, I don’t know of anything else remotely as well supported that can do what the Pi’s can, or much that is even close…
When something with a superior sleep and suspend is really your requirement you probably never wanted the horsepower of the Pi’s arm cores anyway, if you are planning on spending so long suspended/idle that the power draw during that time is important it really doesn’t matter much if it takes 10 seconds or a few mins to do the processing of the awake moments, as you are clearly spending many times that in the suspended state…
>Over half of Pis are sold for commercial purposes.
I never knew that. Can anyone name some products that have “pi inside” ?
Here’s one https://www.sharpnecdisplays.us/system-on-a-chip
They are also widely used for testing purposes. It’s a lot cheaper to have gobs of them running automated tests than building dedicated environments for dev/qa/uat with regular systems. You can also use them for throwing load at software systems for performance testing.
^ THIS. Where I work there are over 340 Pi’s running hardware testing and we are a smallish site in the company. Python is ubiquitous in test automation, Pi is a cheap, quick, easy, supported way to run python and have GPIO for turning things on and off.
$199 and Up for a 8GB Raspberry Pi! Check the prices lately?
Taking away the video card price demand because of mining, which is now dropping, it seems that the remainder of the chip shortage centers on SOCs and Micro-controllers. Last time I was at a Honda dealer, I didn’t see too many cars there. There are Subaru models that aren’t available.
I have to wonder why only these 2 classes of parts. Memory is still out there for about as much money as you would expect to pay. You can buy a CPU for about average price. You can buy a SSD, for an average price. But not SOCs and certain microcontrollers.
I wonder to wonder two things: are the chips being held back on purpose? Are the chips going toward military use, such as drones or missiles?
Military avionics likely use their own designs, incorporating whatever specific hardware is required, like their specific encryption methods or anti-tamper/self-destruct fuses, and won’t be using high-end fabs. After all, a missile guidance chip needs to survive being a missile more than it needs amazing speed or energy efficiency.
On the other hand, this might have cut into automotive ECU production, as that has a similar profile.
There is a huge demand for Pis. Bored people at home who want another one + people who want to try them for the first time + production shortages = scalping.
According to the Pi people on their forums they produced almost as many Pis last year than the year before.
The reason people sell them for those prices is because people will buy then instead of being patient enough to buy them when they’re back in stock. Some sellers will let you setup notification for when they come back in stock.
You question was already answered on this site before. Do the research to find the article. In short: problem is with chips manufactured using relatively old technologies. That’s why RP2040 is available – it’s new and uses new manufacturing technology.
Still booting on a broadcom binary blob?
Yes. And according to how they fly off the shelves and how many of them are used in commercial settings, that is not a problem at all.
If it does not fit your requirements you can use something else.
That “binary blob” is an professional real-time OS, actually, by the name of ThreadX.
It’s been used in avionics, embedded hardware, research etc.
And it’s running on the GPU, which acts like a chipset and BIOS (the GPU I mean).
– It even plays the role of a bootloader with built-in FAT support.
That’s why booting is so easy on the Pi!
The boot partition on your SD card is read by the GPU+RTOS.
The ARM core itself is like a co-processor and is free to run Linux, RISCOS etc. Or any hombrew OS.
Security concerns should be low, I think.
“As of 2017, ThreadX is packaged as part of X-Ware IoT Platform in full source code and with no runtime royalty payment.”
Source: https://en.wikipedia.org/wiki/ThreadX
can i get source to the pi bootloader/RTOS???
Why do you even want it? It’s only used to boot. If open source bootloader is a requirement, then, at this time, the Pi does not fit your needs and you need to find another solution.
A closed source bootloader does not diminish the boards’ capabilities in any way.
“Why do you even want it?”
good question. i want it because this claim:
“A closed source bootloader does not diminish the boards’ capabilities in any way.”
isn’t true. a closed source blob with a well-defined and stable interface can be fine if it has no obvious bugs or downsides, but pi’s bootloader is the opposite of that. it’s got unbelievably bad power management, for example, which would usually leave me poking around in drivers or in something like ACPI. i’ve looked, the touchy parts of the drivers are all in the closed source blob and the interface is both poorly designed and poorly defined (i.e., undocumented). the open source parts are all thin wrappers. the wrappers have source *and* documentation but the blob itself has neither. things normally done in userland, like managing HDMI, are handled on boot-up in a way that changes with each update (the newest update might even be reasonably described as an improvement!). it isn’t *stable*. it’s hugely diminishing.
the linux kernel benefits from an enormous number of driveby contributors (like me) who only fix some narrow bug or add support for some new variant of an already-known piece of hardware. pi doesn’t get that benefit. because it isn’t open source, it doesn’t get the open source magic. that’s why i want source.
@Greg A.
All that tells me is the Pi is not a board that meets your requirements. Find another one.
You want open source, find, I like it too. Given your stance on this though, I hope you use motherboards for your computers that are also open source.
i think you were correct to put the goalpost at “A closed source bootloader does not diminish the boards’ capabilities in any way.” if that was true then the closed source blob wouldn’t bother me.
but yes, there is nothing intrinsically wrong that pi is a closed board and suffers all of the deficits of a closed board. i just believe it should be described as such. its bugs and infelicities are so frequent that i always want the source and yet it is never available. it’s a bad combination and it shouldn’t be treated as being strong particularly for its support of the open source community, when it leaves us alienated from the open source tools needed to fix our copious problems.
In the wikipedia article linked by Joshua is a link to this repository:
https://github.com/azure-rtos/threadx/
I was not aware that was the same ThreadX as the Pi uses. Is it?
@Criatura
Sorry, I made a mistake. While it is the threadx that is used in the boot blob, it is only a part of it. There is still missing costum code to compile/make it run on the gpu. That is probably the proprietary part under NDA.
(Sorry, I am not really knowledgeable on this matter. I just looked at the wikipedia article, saw the the repository and posted without properly thinking through.)
ehh
… custom code …
well depending on how you look at it, you need to properly dress it up to make it work
Sorry for nitpicking, but it’s VPU, not a GPU. GPU is not involved in the bootstrap process.
It’s not ideal, but you can boot a Pi with fully open firmware: https://github.com/christinaa/rpi-open-firmware
Depending on what your application does, this can be usable as-is.
The are moving the blob on the 4B and 400 into the NIC firmware. So a question for you is, are you currently using a machine with no blobs ? (e.g. no Intel ME and no AMD PSP).
I hope you are using a librebooted ThinkPad, with a fully foss distro then. No Windows or Mac for you.
Where did they go wrong?
Form factor.
Rather than two rows of pins on one side of the board it would have been great to see a row of pins on two opposite sides. That way a shield stuck on top would have support on both sides.
That or since that real-estate was used by other connectors, maybe a couple holes just in from the opposite side from the pins. Some sort of clip in standoff would go in those holes. Hats would have holes in the same location so they could either be screwed to or snapped on the standoffs.
Also, bigger mounting holes. M3. I believe I read those weren’t even supposed to be mounting holes, they were only included for use at the boardhouse. I don’t care. Should have had bigger holes that could easily be used for mounting. M2.5 hardware is kind of rare compared to M3.
But hey, it’s way better than Arduino with it’s funky pin spacing gap.
Gotta love the misspelled pedantic rant, everyone else must be perfect.
You can (as I’ve done) simply drill out the holes for 3mm…. Only takes a couple of seconds.
They do have holes on both sides of the board. There are 4 of them. People use stand offs for them and all sorts for posts to keep boards fixed on top of them. There are plenty of cheap ways both for sale and diy for that.
The 40 pin format is great to be honest. A 40 pin cable pulls the signals out to a breadboard for prototyping and I don’t even want to imagine the rats nest that would result from having wires come up from both 2 sides of those boards.
I never had an issue with the screw sizes. Got a box of 200 of them or various lengths for a few bucks, case solved.
Personally I think the modern guise of standard Pi and Pi zero layouts is a good compromise to stuff in all the features in the space, not the ideal form factor for every project, but a good blend of everything available, with a nice and easy hole pattern to put into your part and support the hats/heatsinks etc (the first gen Pi’s are a very strange hole layout that takes more work to mark out correctly). I very much like that all the pins are a standard spacing and two rows – it makes it easy to put a neat and tidy ribbon cable in your build from the GPIO header to wherever you need to put the rest of the electronics – Which is a great idea if you really want to run the Pi4 or Pi3 hard as both really would like proper cooling, which a hat over the top makes tricky…
You really want Pi quality support and a form factor of your choice spin up a CM4 carrier board, perhaps the best addition to the Pi family as the older CM boards while good are not as universally adaptable…
I don’t see M2.5 as a big deal either, a minor annoyance sure, but its not hard to get, and if you are willing to risk it you can actually widen the Pi’s mounting holes for M3 if you really want to… There are far more pesky and much smaller screws and mountings in other small form factor electronics (when its not all glued together)…
For me the biggest ‘mistake’ is probably sticking with Broadcom SOC so long, but the reasoning behind that is obvious, and its not got a big impact in functionality, or maybe just never getting the initial production run large enough to meet demand…
It has been a very fun ride the last 10 years. I too have enjoyed the nice Raspberry PI hardware and software since they first came out. Being affordable, you can lots them sitting around. Gobs of memory to work with even on the Zeros. One is not disillusioned if you use them as intended. When you try to use them as a high powered desktop you’ll be sorely disappointed. Most all of mine run head-less — even the Pi4. When I do use a screen it is for a specific purpose. For example I use one that is intended as launch controller for rockets that I developed. Nice 7″ screen for that purpose. Cruising the web with lots of tabs and playing video is for my Ryzen based desktops. The two things that I wanted were addressed with the PI-4 — USB 3.0 and Gigabit Ethernet. The lack of analogs and real-time was addressed with the PICO board. Now it is a limited by our imagination…. Ie. What new things can I (and the world) do with all these machines!!!!! There is so much potential now at our finger-tips. And with the CM4, board designers can do their magic around this wonderful core.
The problem of course now is ‘getting one’! :( . You can’t just go order one up now. Sad. Glad I have several to work with and few just sitting there not being used at the moment. I really have enough to keep me busy for quite some time, but still for example if I wanted to build a cluster … no go at the moment.
This weekend I had fun putting together a little ice tower kit from GeekPi. I didn’t use the M.2 interface, but used a small Rocket external 500G SSD instead. All internal in the little case. Running the 64bit PI OS on the PI4 4GB board. Got the little display working too that came with it. Running headless of course, although I did setup xrdp just for fun.
Enjoy the boards for what they are. I know I do.
It does not have a jet engine built-in, therefore it sucks!
/s
Well, it does, but the use of said engine is limited/crippled
I am embarrassed no one has pointed out how old the Pi is. It’s 10! That’s over 3 million years old – specifically, 3,628,800 years old. Quite an achievement for the Raspberry Pi Foundation 😉
You can’t fool me with that generic name, I know you’re Neil deGrasse Tyson. Only Neil would think that joke is clever in 2022.
As a mathematical sort I am disappointed in myself that I actually had to think about it before i got it…. Still gave me a good laugh when I noticed the important character and its meaning, which right now is sorely needed, so thanks!
I’ll admit it my brain has slowing down, I had to plug “3,628,800” into a search engine before I got that it is 10 factorial (!). 10x9x8x7x6x5x4x3x2x1
Definitely doesn’t have enough people defending every design and distribution choice, dismissing all concerns. Wish there was more of that. Definitely a lack of cheerleaders.
Commercial availability of Pi zeros is pretty poor, shame given the price point.
RPI microcontroller seems like a really weird fit. It’s like a less capable ESP32? It’s not quite an ARM M7 and not an IOT niche ESP32, not sure where exactly I’d use it.
The biggest thing RPI did right was the low price point. That drove competition to make better products for similar prices and to develop even more powerful products in the gap between available RPI’s and low-end x86. That was a gigantic help for everyone.
I’m looking forward to two things: 1) Higher power models for more advanced tasks 2) lower power models for single purpose tasks.
I sort of wish RPI’s form factor was more like the Udoo people, with SOM as the primary core and either an SBC or other formfactor available (hello stick computer.) That would drive up costs though.
Supply shortages due to pandemic effects aside…
If you use the CM4, you can buy then in bulk for your large quantity needs.
The non-cm version with it’s low price, while useable for commercial purposes, was not meant for that market, so even if you manage to get a large order placed for them, I don’t think you can get them for that low price.
The Pi Pico (or the 2040 chip really) are something akin to a small FPGA with attached cpu really – its the PIO logic stuff that really lets you do interesting things with it that can’t be done as well or at all on other micro’s. If you don’t need any of the PIO’s magic tricks it might well not be the best chip for you, though the price and performance are still good for what it is (at least on paper)..
I’d say you are looking forward to things that already exist really – I can’t see what you could possible want a tiny SBC for that actually can make use of more power – as soon as you do try to stuff in more power you end up with the SBC only functioning at all when fitted with a very large heatsink or other noisy cooling solution – which has been done but at that point the laptop,mini-itx type options often fill the roll as well or better IMO, and are usually cheaper…
As for ‘lower power for single purpose’ not going to find a general purpose fully capable ‘baby PC’ much lower power than a Pi Zero, below that its more ASIC, Microcontroller type stuff really, and there even is a ‘Pi’ for that – the Pico.. (obviously in decades time as tech moves on things evolve, but right now what you are asking for doesn’t look at all likely – its not at all like a Pi, doesn’t fit with their product line or goals at all well.. It is just too different to what a Pi is, and to do it in an at all pi like form factor would prove far far to expensive for it to be a RPI product)
Also the RPI team does do the SOM ‘primary core’ approach – its called the compute module, and you are right on costs, as while the module itself is cheaper than the equivalent spec pi you then have to add on the right carrier in the form factor you want, which will almost always end up making it meaningfully more expensive. There are a vast array of such carrier boards, some with heaps of sata ports to play NAS with, other with multiple Ethernet, WWAN options, tiny ones with both camera lanes for stereo vision (and not much else), and a stick computer or two layout too – its a hugely versatile thing…
To me the PICO ‘extends’ the RPIs for special purpose processing. Plug into the PI4 usb port for example and you have 3 analogs, more IO, real-time, and PIO if needed. Personally I’d like to see the $1 PICO chip on the main PI board (like a co-processor) in the next iteration with another row of pins to access its IO.
“Extends” slash “complelents” is just right. And I’d bet money that’s what the Raspberry folks were thinking.
RPi with RP2040 onboard was my first thought when I saw the new micro. Hard wire up the SPI lines, add a nice software library, and you’ve got something!
Now that would be interesting, but then if you are keeping to the Pi form factor you can’t gain as much putting it on the same board – its probably a better fit as a hat/addon board so you can get full functionality from both…
Be an interesting co-processor though.
Yeah, a small hat would work too. Surprised no one hasn’t done that. Make for a ‘compact’ system rather than the current usb->PICO interface. Of course onboard would be even better. And on that hat, add a row of power and ground pins… Seems like I am always having to built a power rail, so to speak, to get power to multiple 5V/3V devices from the RPI. I just soldered one up the other day using an Adafruit perma-proto board as the base. I then cut the proto board to the size I want.
heh i see the value of course. it really fills in a lot of gaps on the embedded (strong realtime gpio) side!
but when i read that, i just envision another undocumented unstable and infelicitous propietary interface. it’s a kneejerk bias reaction on my part. because all the peripherals they have are hidden behind this closed layer, i have actually developed an aversion to the idea of adding another one!
“When you buy the competition you in many cases get a flaky distribution with a kernel version hacked to work with the chip manufacturer’s binary blob for the SoC, and that version is never updated.”
i can’t speak for the competition, maybe someday i’ll try another. but “a flaky distribution with a kernel version hacked to work with the chip manufacturer’s binary blob for the SoC” is a great description of pi. i had swallowed all the hype and experienced a lot of disappointment because of it. it’s nothing more than a collossal hack on top of a buggy and poorly-factored opaque black box. it’s more closed than an android phone.
but it *is* updated. which is a double-edged sword…for example, the newest update enables much more open and normal interfaces to some of the things like HDMI CEC, but at the cost of breaking every single piece of userland that relied on the old hack. i have no idea if it will be a better experience once i cross that boundary but so far my experience of that update habit is entirely that it breaks things. and i don’t think this is a new experience, because when i look at community board messages of people solving the same problems i have, any thread older than 2 years has a solution that doesn’t work anymore, and a bunch of posts on the bottom of it of people saying that it doesn’t work anymore how can we do it today?
that community that people are so proud of is composed of people on the outside, at the mercy of those on the inside. people outside of pi foundation can’t contribute fixes. this is the worst closed source configuration. pi succeeded because it was a weird combination of first and cheapest. it is succeeding in spite of how
pi *is* impressive. its price point is fantastically low. for this price point, i’d expect some trade offs. for example, look at esp8266/esp32 sort of stuff, as near as i can tell it is in this same world of being an open source aftermarket to a chip that was designed to be closed to the likes of us. given its specs, pi is in that same realm of cheapness, so the fact that it’s all closed source afterthoughts isn’t surprising.
but the impressive parts of pi have disappeared, as it’s been unobtainium for 3 months or so? not blaming anyone but “cheapest because it’s surplus from a closed source use” has this downside.
i’d prefer something 3x as expensive that actually lives up to the hype, actually has significant open source drivers and meaningful contributions from the commuunity. you know, something that was designed to be what pi wants to be, rather than an astonishingly cheap repurposing of something that is designed not to be hacked on. it’s not pi’s fault that it isn’t that product, though i wish the noise about it would be a little more open about the fact that it’s closed.
It’s unobtanium because the fly off the shelf faster than they can produce them. Close to as many pis were produced last year than were produced the year before. The demand has simply been very high.
Almost all of a Pi is open, its all out there if you want to look at it (though finding the right bit with the way the website keeps shifting around can be fun). Its way more open than any current Intel Amd system with their whole entirely hidden master processor management engine type bollocks and usually entirely closed source BIOS on the mobo, with propriety firmware likely dotted around on many of the peripherals too! I’d argue its also more open than basically all android devices too, but there is some wiggle there… If what you want is 100% open all the way its not that, but then as it stands nothing really usable is…
Also I don’t think I’ve ever had anything break by an update, the things just work great…(at least that I didn’t have some share of responsibility for the breakage – not reading the update notes properly, overwriting my own configs etc – the exact same things that can bite any Linux user updating any system – that is just the nature of Linux, its evolving all the time and sometimes that will make you have to alter something, or adjust your existing alterations to get the results you wanted – just look at how big a change systemd was for instance)
i don’t know what leads to the statement, “Almost all of a Pi is open.” when i have gone looking, i have only ever hit walls. have you gone looking and found the available source to be useful?
i don’t understand this one either, “that is just the nature of Linux.” i’ve used linux for 25 years on a lot of different hardware. the combination between closed source drivers, bad interfaces, and constant change is much worse on pi than anywhere else i’ve used linux. you will face challenges anywhere but pi is off the charts. you go trawling the message boards for any problem and you get 5 year old advice to edit /boot/config.txt! not only is /boot/config.txt your only direct window into a quirky closed undocumented bootloader, and not only does that bootloader control a lot of functions you normally would use a standard interface for, but it changes! any user contribution older than 5 years old is wrong! and yet that’s the only kind of contribution most users have been able to offer!
I have never had a problem with a pi I was not at least in part the cause of, which is very much the same as any other Linux PC – RTFM, pay attention to what is changing before an install (which I never do – so its fix it afterwards when it does break, which isn’t any more common on the Pi than any other PC in my experience (at least when using Raspbian – some of the other Pi aimed distros can be a bit flakier, though again not in a way that is a big deal).
A vast amount of the Pi is open, except some elements related to its boot that are not, which is true of basically all computers – the BIOS level and booting stuff is rarely if ever open out of the box, if you’re lucky the coreboot type folks will have worked to create an open source version for your board if that matters so much to you, but it didn’t ship that way…
And almost everything in the config.txt that worked eons ago will still work now, there are occasions when new features superseded old ones and will mean your config has to change, but for the most part that file and what it can do is well documented and new updates don’t break old config files. I would really love to know what you are trying to get it to do that you apparently can’t find…
well, your experience is different than mine. i got an arm chromebook, trailblazed with no online evidence anyone else was using that model with linux before me (i committed the first draft of the debian howto page for it). built a kernel for it using directions for a totally different chromebook. installed stock debian onto it. successfully debugged one bug caused by the interface between the firmware and the kernel, because the kernel source was useful and not just a wrapper (and i reported it upstream to google). tracked down another bug — it couldn’t suspend properly because a generic bluetooth-wifi driver claimed the wifi before the wifi-specific (and suspend-aware) driver could see it. contributed that fix upstream as well — the generic driver should have printed an error message when it knew it had screwed the pooch — but upstream showed no interest. kernel source was invaluable there as well, even though at least one of those drivers uses a binary blob. tried two X11 servers and picked the faster one (fbdev over armsoc). always played media flawlessly, even though i only got acceleration going once as an experiment for about 10 minutes.
used it for 6 years as my daily driver.
i have had more troubles with the pi. nothing i have tried to use it for has worked out of the gate except playing MP3s. and every single trouble i have met this closed source barrier and it has stopped me in my tracks. i think if you come from a background of encountering problems and expecting to overcome them using source code, then pi is the worst thing out there. much worse than PCs, chromebooks, android. it matters to me because i’m one of those users and it matters to everyone else because users like me contribute. that’s why we like open source.
i’m not a purist, but i expect to have the access to fix my own problems.
for a decade, pi’s community hasn’t been benefitting from its own contributions. it is nothing to gloat over.
Very unhelpful to just say ‘everything’ but playing Mp3… Any example that actually means something – so it might be possible to point out the documentation you missed, or understand where your trouble lies, as presumably that you are that strange user that wants to do something so odd nobody else ever has – as other than from you I don’t think I’ve ever heard complaints of ‘nothing works’ can’t do anything type on a Pi… And nothing I’ve ever tried to do or find has be problematic the way you paint it…
Certainly the Pi has its flaws, and limitations but of all the devboard SBC type things I’ve had any reason to look at, use, etc its got by far the best reputation and greatest support and documentation… Which seems to be supported by just how damn popular they are now, such that the Pi people haven’t been able to keep them in stock, even though the production numbers have been stable even through the covid bollocks.. If a competitor could match that support level, with half way reasonable performance/price ratio it would be really big and no doubt take off very well (unless its so precisely targets an existing Pi model for performance and price – if its got no features to make you want to choose it why would you choose the newcomer?)
bizarre. “you are that strange user that wants to do something so odd nobody else ever has” no, in fact, many of the challenges i came across are challenges that dominate discussions in pi support forums. video playback, 32bpp, opengl, HDMI CEC, HDMI initialization, power management. these are mainstream things that many pi users run into and have been offering stab-in-the-dark commentary about what happens behind the closed source curtain for a decade now. and almost all of it is obsolete by the time you read it. what’s special about me isn’t that i am trying to do these things, but that i expect to be able to leverage open source to defeat these problems. a lot of users will just try a few different distributions and hope one of them works by luck, but i expect to actually get to the bottom of the issues. and on other platforms, i am able to do that.
“Certainly the Pi has its flaws, and limitations but of all the devboard SBC type things I’ve had any reason to look at, use, etc its got by far the best reputation and greatest support and documentation…” it absolutely has the best reputation, but i don’t think that’s deserved. that’s my thesis, that’s what i say here. and i have not seen any evidence of the great support and documentation. in fact, the only direct interactions with pi foundation people i’ve had are when they’ve come to the comment section here to try to other and belittle me for wanting source to buggy components. that’s awful.
it was held up against a tinker board for comparison, and i know for a fact that an “unsupported” asus rk3288 has *far* better open source support and functionality than a “supported” pi does. so i don’t buy it. you’re defending pi’s reputation on the basis that you know they have a great reputation, but you haven’t examined the kind of support available for other boards, and you don’t have any interest in open source. a bunch of non-open-source developers standing in a circle telling eachother that pi has a great reputation creates an awful lot of smoke but if you want to actually use it and then fix the bugs you come across, there’s no warmth!
Ah but I have tried other boards and as stated above in the article they are generally awful to use, no documentation, one ancient kernel etc…
As the GPU is now opensource opengl is something you can work on if you wish to, and some level of opengl type stuff works out of the box now… And folks have used that open source to do projects that were not possible before. Video on a pi just flat out works, HDMI CEC works… And power management works as well as the hardware allows, you can control the throttle but that is about it…
Yes there are some things out there not burdened with so much closed source, but even the best of those tends to be entirely abandoned software wise, left with ancient kernel and poor information so compiling your own with all the right bits is a real challenge (obviously you can do so, eventually), while also usually having no performance or vastly higher cost… And that is something you don’t get with a Pi, the support for even their oldest products is fantastic, so you don’t need a computing PHD just to get it to boot or run newer software, and the price to performance for the small embeddedable size PC is very close to unrivaled…
you have tried other boards? let’s not be general. what are you talking about?
Damned if I can remember, been awhile and any details on them got purged with the PC change, damn glad to be rid of them, as they were just about the most useless objects going with how hard it was to actually make them function in the absence of documentation at all… Plus with how good the Pi’s are at almost everything, with the huge range of convenient off the shelf HAT to test almost everything you can conceive of and the CM4 giving you direct access to a PCIe bus for even more versatility, it must have been quite a few years since I actually used anything else – the Pi is cheap, usually by far cheaper than the competition, usually has better performance too, and now the CM4 gives almost any possible configuration you can desire the selling points that made other boards interesting, things like native sata port or WWAN connectivty for instance are no longer hard/impossible to get on a Pi…
(And seriously if you need more than a Pi4 in a small form factor just buy a Mini-ITX or laptop as the cooling required to have much bump in performance starts pushing the scale up above a Pi significantly as it stands and the cost of that niche board is bound to be stupid – though there are a few areas it is weaker in that makes something like the Nvidia offerings aimed very much at camera processing AI type stuff interesting on the whole its rather hard to stay small and more performant for any task than a Pi at a sane price)
lol. i’m confident that in 2022 there are some pi competitors that are better than “Damned if I can remember” and “most useless objects”. pfew! for a moment i was worried you’d traveled down the path and were reporting the conditions i’d find there.
but i think this points to the heart of our different perspectives: “how hard it was to actually make them function in the absence of documentation at all”. we want different kinds of documentation. i want the interface between the HDMI CEC serial port pins and userspace. you want where to download a pre-configured distribution that meets expectations you won’t even form until after you’ve booted it up.
raspberry pi has a lot of introductory documentation (though much of it is obsolete! especially community-contributed documentation), and very little interface documentation or open source drivers. it’s not wrong of you to want introductory documentation. it’s not wrong of me to want detailed technical documentation. your interest, however, has nothing to do with open source / free software, while open source is the key to all of my practical issues with the board.
would you say that you don’t mind that pi is closed, because the source wouldn’t have helped you anyways?
Not really Greg, I would love a much more open RPI, but ultimately I don’t want to HAVE to do a complete rebuild from scratch with lots of reverse engineering to figure out what was needed from the ancient stock kernel supplied just to make a board vaguely work (like half the hardware might be missing still) every damn time… Which has been my experience, and the experience I see reported on every ARM based board but the Pi I’ve ever thought ‘Ohh that looks interesting’ about… (Obviously I can’t spend the time to read everything on every possible board out there, but I really doubt they exist with how many are so terrible – find me one that actually isn’t complete garbage, or really stupidly overpriced for what it is and I’m prepared to concede it might be possible for such things exist, and another baby computer I’ll end up using, but I’ve never come across one, or reports on such a beast… And if you 100% must spend weeks trying to figure out how to get the damn thing to boot and have just the one hardware feature of the board you actually wanted to use, because there is no support or documentation worth mentioning at all – its as good as useless to me, as being basically stuck ancient supplied kernel is just not acceptable for almost all projects…
And as every feature on the Pi’s just works out of the box (at least for most tasks even close to in spec for the hardware) and most things you can do whatever you damn well please with too as a great deal of the hardware is documented enough or even open source to be able to interface with…
sigh. i thought we were close to a meeting of the minds but instead you’re still talking about boards you don’t know anything about / haven’t used / can’t remember the name of. and insisting that everything on pi just works so the endless repeated forum questions about the same basic functionality over and over again must be smoke.
i can point you to these pi forum threads — in fact, you can hardly miss them. but you can’t point me to the boards you say only support a single unreplacable kernel.
and all so that you don’t have to admit the perfectly shameless attribute that you wouldn’t get benefit from the source if it was available. i’m sad about it. one of the keys to accepting ‘different strokes’ is recognizing that we really are ‘different folks’.
Greg I’ve never claimed the Pi was perfect or fully open – but its by miles and miles better than anything else I’ve ever read about, or whatever those heaps of junk I tried to use were on so many fronts. Which is one of the reasons it is so damn popular as a commercial embedded industrial PC markets as well as with hobbyists!
Sure folks have different priorities, but ultimately what you are after doesn’t exist – at least not that I’ve ever seen, and if you can’t live with what is possible within the documentation and features of the best of what is available – which seems to be the Pi family of boards by a stupidly large margin, well that is tough luck…
If you can actually FIND such a board you would be happy with and that isn’t the cost of a small car for performance of a 1970’s pocket calculator type stupidly overpriced because of it let us know. I would love to see such things exist, but from what I’ve seen they really don’t, not even sure they exist at the stupidly overpriced end of the spectrum either…
Also all the very loosely defined problems on Pi’s with things you mentioned do just work, at least the way most people want to use them, but of course some folks will run into trouble (perhaps even because they have damaged their Pi – easy enough to do, know I’ve busted some elements of a few)…
HDMI CEC, been using that for years on the Pi behind the TV, it just works flawlessly… Video playback just works too – just make sure on the older Pi’s to pay for the codec licenses (if needed), and don’t expect it to play video’s of stupid framerate, pixel counts or obscure terrible optimsed codec with the CPU, it can handle on the CPU anything in the reasonable end and common codecs you throw at it (though adding a heatsink is very advised there, an overclock is nice too).
Also on HDMI CEC it took me almost no time to find a great many details of how the Pi’s implement it, if they contain a way to get at whatever super specific thing you want to do with it in userspace I obviously can’t know without actually knowing what you want to do.
But other than one easy to fall into gotcha I wasn’t aware of till looking into briefly right now (that only the primary port on a Pi4 has it enabled by default config setup) it looks like there is more than enough information available to do anything (but I might be lacking in imagination on what you want of course)…
Tinker board: horrible software suport? It runs here for >3 years very happily as a music computer, nextcloud server, weather information show-er. Nice coloured GPIO’s. Thanks to the guys of Armbian & ArmbianIO. And without closed source blobs like the Pi then had (and probably still has).
As we speek I’m working on a new SPI display – yup, with Raspberry Pi support so it indeed needed a bit of rewrite. Only sad thing is that it isn’t arm64.
oh asus tinker board! neat! i had no idea. RK3288. sounds like my asus chromebook, minus the peripherals. i was impressed by the experience with the chromebook because GPU was the only thing that left me struggling with binary blobs. everything else (especially, the boot loader) ‘just worked’, even the closed components. it set the standard by which i find pi so disappointing.
i often wonder if the pine rockchip boards might offer a similar experience
There is nothing a 555 or arduino can do. That a Raspberry pi can’t achieve. Get the hammer MO.
Now I just want an on-board storage solution that doesn’t get corrupted when the power is pulled, like how the MicroSD can.
I netboot mine. No issues with any storage corruption.
Use the CM4 and you can have whatever storage you want.
But if you want an onboard storage that is not the sd card and not using a cm4, then the pi does not fit your requirements and you need to look elsewhere.
This weakness is present in all SBC’s that rely on flash memory as writable storage. Flash memory’s block erase / write granularity will always have this weakness, and with higher density flash the reliability will get WORSE.
There are some ways to mitigate the risks:
a) Minimize your writes to flash.
b) do not log file access time
c) log as little as possible.
d) use a read-only overlay file system and only commit writes as infrequently as possible.
e) run the OS off of a separate read only memory, for example on boards with EMMC, run the OS on that, with an overlay FS (where logging is all written to RAM only,) and then use an SDCard for your less critical non-volatile storage.
f) provide a temporary backup power supply with primary power source failure detect circuit to have your SBC gracefully shut down.
g) include a crc check for all saved data, always check for corruption or out of range values.
Typically when designing products that possess an SBC I use an off-board MCU. Off-board MCU is usually a single-task or critical task device. It also acts as an external watchdog for the SBC and will reset it if the SBC hangs. I typically use SBCs for communication stacks, user interfaces, etc, nothing mission critical, noting safety critical, nothing control-loop timing critical.
BeagleBone Black / Green? Both have eMMC.
Me personally I hate eMMc soldered down, PITA to replace when they fail. I do like what the hardkernel people did with their Odroid hardware – create their own little eMMC module boards that plug into a socket on the Odroid PCB so that it that can be easily replaced either when they fail into read only mode or when the read/write performance had degraded badly enough that it is just time to replace the consumable eMMC module with a fresh one that operates at full performance.
I have scripted far too many things that generate tiny files that have killed multiple SSD’s (The fastest that I ever killed one was my very first SSD – dead in less than 4 days). Now I use RAM for scratch space, or spinning rust if it can not all fit in RAM, to deliberately avoid killing SSD’s. To maximise their usefulness.
One thing I do in that respect is just use nfs on the SBC to get access to my home data server. So software may be compiled using the SBC, but the source files, object modules, executables are stored/written/read on the server. When all is ready I move the executable(s) onto the target SBC to run. Bonus is I can use any of my desktops to edit the code and just use SSH to the RPI to run the compile cycle. Obviously can’t do this with a micro-controller like the PICO, but can with the RPIs. As you, when I write code, I do my best to minimize writes to disk from the software I am coding as much as possible. The ‘redis’ key store software works great for this if I need to store information as it’s database resides in memory.
The thing about RPi is they are great fun. They are a learning tool for the kids and a useful toy for the adults.
I’ve never quite managed to get it perfect, but that’s because I’m asking too much of it. Trying to get the too much is the fun part.
Got an 8Gb on the way now (at last) so I’m looking forward to more fun, and probable disappointment because my parameters have extended.
I’m pretty sure Pi5 will solve all my problems though – or, oops, will my parameters have shifted up again. :)
64-bit Raspberry Pi 4B OS [Raspberian?] installed on 256 GB sd card 2/28 afternoon. After ~4 hours of torrent install attempt failures. :(
Intel MCS BASIC-52 64-bit version running in a c DATA statement? :)++
Get an external SSD drive, install PI OS 64 and boot from it. You ‘should’ have a lot less trouble. Never used torrent that I can remember.
It will be much faster too. Looking around my office, I see 3 RPI-4s with external USB 3.0 SSDs hanging off of them. Works very well. A couple of Samsungs (T5 and T7) and a Sabert Rocket Nano.
That’s ‘Sabrent’ . Also remember I have a RPI-400 with a USB to SATA internal SSD attached (currently in storage). I found I could use some of my ‘no longer used’ internal SATA SSDs this way.
Just an update as I don’t want someone else following the path. The Sabrent Rocket Nano is not working out. Works fine while working on the system it seems, but when I leave it alone (say go eat lunch), it is like it goes to sleep or something as the disk ‘disappears’ and get unable to read/write. ‘ls’ shows no files. Happened several times. So pulled it and added a Samsung T5 I had laying around and all is well again. I really like the small slim form factor of the Nano, but, at least for me, not working well with the RPI4. YMMV.
YAY!!! Happy Birthday! Let’s all celebrate by going out and buying some Pi’s………..oh….right….always out of stock.