← Back to context

Comment by throwup238

17 days ago

> I think a lot of people don't realize that there was a decent size, but small market for SBCs for low-volume embedded work (including hobbyists) before Raspberry Pi. You could get a lot of different kinds of boards with good Linux support and a not terrible price. Often, a processor vendor would explicitly provide support for these things because it was a good vector for selling chips.

Before RPi became really popular and the 4 came out, I used BeagleBoard, PandaBoard, Aria G25, Gumstix, Cubieboard, i.MX devkits, and spun custom boards using Marvell, TI, Freescale (now NXP), and Qualcomm CPUs - I don't remember any of them having as good a BSP or being as easy to develop with as the RPi was five years ago. Maybe my memory is (very) faulty but the experience was leagues worse. PTSD-inducing level of worse. I wasted weeks or months on every major project shaving silicon yaks that should have been handled by the vendor (and is now handled by the RPi community).

The modern i.MX toolchain may now be comparable many years later but I've long since given up on everything else since CM4 came out in 2020.

My understanding is that they lost the sweetheart deal after they pivoted to supporting commercial, right in time for the pandemic supply crunch.

Yocto works the same way whether it’s Pi or iMX, most of the learning curve has nothing to do with the SoC. So it’s really strange to hear that your Pi workflow is better than anything you’d get with another chip..

  • BSP quality is famously variable by board vendor, https://www.youtube.com/watch?v=niH1-NB6W8w

      Two products.. leveraged a Yocto-based board support package (BSP); one being in AgTech, and the other being in the veterinary space. These products have followed disparate practices when leveraging the BSP for custom hardware and software.. this talk [described] the two products, how the BSP was customized and used, and the resulting consequences.*

  • But on a Pi you don't have to use Yocto. Raspbian is always faster to develop for.

    Source: have worked on both Pi based solutions and custom hardware with yocto.

    • Yeah, one is easier and the other is right. Shipping a reproducibly built readonly rootfs image takes longer, but is strictly better than putting 'some' versions of Debian packages on the SD card and calling it a day.

      It's the Arduino curse - sure, it's faster to ship Hello World with Arduino but soon you realize all your libraries were built by beginners and use delay() everywhere so you're screwed if you need two peripherals to work at once.

      You use Pi for prototypes and one-offs, not where you need to ship something that's actually competitive on BoM.

      2 replies →

  • Not using Yocto simplifies and speeds development extremely, unless you have dedicated staff familiar with Yocto. It’s a big reason to prefer Pi.

No, your memory is spot on. I also eval'd dozens of ARM (and some x86) SBCs for embedded use back in the early/mid-2010s and most of the BSPs were awful. You'd be locked into some ancient several-year old Linux kernels and documentation (and even actual hardware support) was often buggy/incomplete. God help you if you need to customize the boot/spin your own (Yocto was still new then, I assume life is a bit easier now).