4 ms·
At the risk of a duplicative "This" comment thank you for a very well thought out, holistic comment. It's strange. One of the many things I "harp" on here and
by kkielhofner 4y ago
At the risk of a duplicative "This" comment thank you for a very well thought out, holistic comment.
It's strange. One of the many things I "harp" on here and elsewhere are all of the "Do $THIS on a Raspberry Pi" stories and articles around. What "bothers" me the most are people doing simple GPIO with a Raspberry Pi 4 when an ESP32 (or equivalent) would suffice. Or people trying to stretch a Raspberry Pi to do something an old, used, $100 x86 something would do significantly better in it's sleep. I understand the Raspberry Pi is a common denominator with a rich ecosystem but it still irks me in an irrational way. Don't even get me started on the people trying to build a NAS with a Raspberry Pi.. It's just wrong.
Getting on to to your comment - I have an entire graveyard of ARM SBCs (and more) that are incredibly poorly supported either by the vendor, Armbian, mainline, etc. I'm over getting excited by the latest "More performant, newer, better, faster" ARM SBC of the moment - only to burn incredible amounts of time getting it to do what a Pi or x86 something would do at a cost/performance/power trade-off.
- rektide 4y agoTo talk the graveyard, that's an interesting situation. I went heavy in on the Marvell Kirkwood chips (ARMv5), which hearkened to a very hackable nice early PogoPlug device that lead as a very hackable Linux system, that paved the way for hacking/repurposing many many other affordable consumer devices. Glorious circuit bending days! I ended up with quite a collection. Small 2-drive NAS-ish DLink DNS-320's were great. IoMega IConnect had a solid (and user-replaceable) wifi chip & numberous USB2 ports, & was very afforadble on ebay. These kind of came latter-ish, but there were great other botique SBC or simple-device options pre-ceding GuruPlug: SheevaPlug, GuruPlug, OpenRD. Many years have elapsed. But the upstreaming work on all these machines was very great. They required very little customization. Really hope I haven't messed up the attribution here, but I believe Marvell paid Free Electrons (named Bootlin at the time) to do a ton of the driver work. It's in kernel. Each device took tended to require only a little DeviceTree configuration to work great. UBoot got upstream support, & I'd replace the onboard uboot with a modern far more featureful uboot, greatly opening boot capabilities versus the minimal/older uboot devices shipped with (usb boot? yes. ethernet boot? yes.). Devices would slowly gain a couple modest not-super-important-to-me capabilities a year, or better tuning. I've given away, sold, & (sadly) thrown out a bunch of these devices over the years. I still have two NAS running in friends' houses as off-site connected backup devices, humming along, but mostly ignored. Still, I fully expect, if I wanted to, I could completely freshen nearly any of these systems up. Brand new kernel, totally new Debian (actually many do run modern Debians, just on old kernels). My vibe has been very good, that old hardware doesn't die, doesn't get dropped, that the graveyard is merely of my interest to give a shit. Not all SBC are such: the Marvell Kirkwood was an early 2010's vibe of hope & promise, Linux uber-alles, where some good hackers got paid to Do The Right Thing, and I think this post is a testament to how obvious, how clear, how simple that path was. These devices are still fully supported. They still work great, kernels still support them, because Marvell worked with people who knew what the heck they were doing to get support upstreamed. These devices may well never ever die. They may be able to last forever. Because someone didn't just dial it in, because it wasn't just an internal team with some heavily forked kernel shipping shit: Marvell did the right thing, they upstreamed their work. The value of that, right now, seems like it may be ever-lasting. The graveyard isn't necessary. Good vendors upstream their stuff & it will keep working. It's also notable & exciting to see, as I've mentioned else-where on HN recently, Qualcomm chips have gotten much more upstreaming recently. The Chromebook folk really lead the charge with do-the-right-thing-duh are-you-stupid-of-course-we-will path. But after getting a bunch of slightly upscale tablet-grade Qualcomm chips supported upstream, we're starting to see much broader classes of Qualcomm chips getting supported, & seeing growing device-trees for a variety of phones. Turns out it kind of mostly is the same hardware, no surprise, with different cores, and the decades of shitty unsupportable heavily-forked-and-useless Qualcomm-SDK horse-crap they've shovelled at people is & always has been a farce & once the ball started rolling towards upstreaming it's just kept snowballing, mostly with little thanks to Qualcomm themselves, but just just just recently, the company seems to be a adopting a not so universally useless sad pathetic view & actually stepping up every now & then to actually do a little bit of the upstreaming themselves. For a company famously reputed to require lawyers to sign off on literally every line of code, it feels like the bleak nightmare shitworld psychopathy anti-participation might finally be lifting a little bit, that good might finally be allowed to escape out into the world. ---- Regarding ESP32's & microcontroller kit- I agree, there's tons of sufficiency in microcontrollers. But that shit is just a brutal crazy world. Having a Linux capable system that can run a perfectly normal systemd is worth it's weight in gold. If you can ssh into a regular box, scp some of you python scripts in, setup a systemd.service file, and it just works, it makes the whole ESP32 dance look absurd & stupid. And it is easily within reach. I hope some-day the embedded OSes like Zephyr and NuttX have compelling counter-offers, but so far they still don't feel like general purpose OSes, where you can just install an OS and futz around in shell & set stuff up: they feel like a world where one needs extreme expertise in fantastically narrow small systems where none of the regular computing lessons & experiences port in. Is it sufficient resources? Yes. Is the experience worth your time? Absolutely the fuck not, in no way, unless you have incredibly vast time to burn. Just use Linux. I hope the embedded OS situation improves, and I actively follow & hack around in Zephyr & love it, but I cannot recommend hard enough not wasting your god damned time.
- kkielhofner 4y agoRegarding the graveyard - just looking around my office I see a variety of Khadas products that are essentially useless. I have a RockPi 4-something running Armbian that is one `apt-get full-upgrade` away from not booting (has happened before) that already has extremely temperamental video and NVMe (the selling point). A few Odroid boards that fall somewhere in between... Plus a few random generics that are long forgotten and not even worth mentioning. Yes, ideally support hits mainline. However, in practice between Linux mainline, things like Mesa for video, etc it just doesn't happen and trying to sell/tell people otherwise is disingenuous at best. I agree there is significant value in the comfort of Linux but WRT to ESP32 I would argue the Arduino/PlatformIO ecosystem around them is actually second to the Raspberry Pi in terms of community support. There are "ready to go plug these variables in" examples for nearly anything you want to do that the hardware is capable of floating around everywhere on the internet. You can buy "ESP32 Cams" with TF Lite object detection from Amazon[0]. Also, not to be argumentative but the Kirkwood SheevaPlug line (I was early on that too) is the ARM equivalent of a truly embedded Intel Core something that no one dare touches if it's still running (it's USB 2). Somewhat strange thing is I've worked on "commercial" embedded projects with things like the iMX line and Yocto - and the support there is pretty incredible. [0] - https://www.amazon.com/s?k=esp32+cam&crid=R6C4OGY5Y5D3&sprefix=esp32+cam%2Caps%2C88&ref=nb_sb_noss_1 https://www.amazon.com/s?k=esp32+cam&crid=R6C4OGY5Y5D3&spref...
- rektide 4y ago> Also, not to be argumentative but the Kirkwood SheevaPlug line (I was early on that too) is the ARM equivalent of a truly embedded Intel Core something that no one dare touches if it's still running (it's USB 2). But unlike everything else you've complained about, it has good upstream support & is reliable & all it's peripherals are quite un-flakey. I have upgraded my kernels numerous times. I do run Debian/testing. I haven't in a bit, but they would still run, and better than before. You absolutely are correct about most of your complaints. There's a huge world of Ambian & other SBC that are off-tree semi-supported worlds to try to make shitty vendor crap keep going for a bit. And it's flakey, unreliable, & unmaintainable. But you are dead wrong about Kirkwood. Upstreaming means something & it has kept a lot of decade old devices running & stable & happy & it's just obvious. The negative experiences you cite are real, but they're a owed to a variety of over-aggressive under-budget hardware builds and more-so to never ever having actual real support, to never having had drivers good enough to get upstreamed, to being a bunch of shitty off-tree vendor code that is just poorly done. The network of enthusiasts trying to hack access to these sytems, to make off-tree Ambian or OpenWRT support at any cost is admirable, but ultimately, the actual cost of doing the right thing, like Free Electron does, is tiny, especially versus the pain incurred from not doing the right thing. I think you're missing that distinction, by lumping these all together. USB2 is also really not that bad for many remote-storage applications. It's also a bit comedic to, in one sentance, blast it as bad, then go on to talk about ESP32 systems & other microcontrollers. Which can almost never saturate even USB2, & almost never have any kind of USB3 what-so-ever. Sure they may run TensorFlow Lite. But they are markedly smaller systems. Just company community support seems arbitrary. Maybe Arduino has the best support community on the planet. It's still a vastly less capable platform with incredibly less software available to help you build systems/solutions out of. And showing up to Arduino will be a unique bespoke different experience, whereas running a Linux system will have a common frame of reference & transferable experience into the rest of computing, as well as having the world's best library of software & tools available for you to use (which Arduino/platformio have not even the faintest most shallow shadow of).
- lll-o-lll 4y agoIn the olden times, when computers were slow and dumb, GPIO or “Parallel Printer Port” as it was sometimes called, was no novelty. Some of us in this dark but innocent age, would use our computers for all manner of strange experiments. Driving foolish robots with long tethers, or experimenting with incoherent audio effects. But that was the before time, and todays computers make such play impossible. A PI is an old style computer, just smaller and faster. I can use it as a desktop, then put wires out the back of it to play with an inverse pendulum. Can you do that with a real pc and an Arduino? Sure, but it’s how a little hobby computer ought to be.
- kkielhofner 4y agoI was there for when ECP and EPP were a new thing. Same for 50 ohm resistors on thicknet and plenty of other random things I could rattle off to establish bonafides. I understand what you're saying but the world has evolved - there are plenty of tools for a variety of problems. I have Pis going back to 1B, and they have their place. However, the supply shortage of Pis doesn't come from the use case you're describing. It comes from an entire world of people defaulting to them for anything and everything. There are plenty of kids who want to play with GPIO where a Pi is the best approach who can't get one because there are people trying to build a NAS, a commercial product, drive multiple 4k displays, etc - even though there are plenty of better ways to go about that. At this point Raspberry Pi sucks the oxygen out of the room for so many more appropriate solutions. In many ways the Raspberry Pi is a victim of it's own broad capabilities and success.
- lll-o-lll 4y agoI agree with you. I had been assuming the difficulty in buying them was just another “global chip shortage” casualty. There is no denying the impact of a strong community + cheap + multi-capable. Hopefully the shortage will end before long and the PI can once again be a cool little computer for hobbyists.
- dTal 4y agoA USB parallel port adapter is a couple bucks.
- hilios 4y agoMost of these stories are probably from when the RPi cost <40$. For most of its existence it was significantly cheaper, used significantly less power and space than comparable x86 boxes.