← Back to context

Comment by serf

5 hours ago

>they're not single board computers.

what's the meaningful distinction now? It isn't all SoC anymore and it has had a linux capable MMU since S3, even if it required a lot of work.

The only real difference at this point is pure numbers, and i'm not that keen on defining microcontrollers as "those things with less ram than an SBC.", and if it's a microcontroller because it requires bare-metal flashes; well then I point to the older S3 MMU boards running busybox.

A single board computer contains an application processor, not a microcontroller. They have very different design goals.

A microcontroller is a type of processor that offers very fast startup, predictable timing and direct access to hardware peripherals. In contrast to application processors that are intended to run an operating system, a microcontroller will not have OoO execution, multiple tiers memory (eg cache and dram). Usually they also lack an mmu and multiple privilege levels of execution (although that seems more common on riscv microcontrollers). All this means microcontrollers aren’t designed to run Linux (even if someone does figure out how to do that) or clock in the gigahertz, but instead provide very predictable low latency execution required for managing real time systems. For example they might need to operate a set of mosfets with microsecond accuracy to efficiently and safely control a motor.

Perhaps the most straightforward difference is right in the name — a single-board computer is a whole board. A microcontroller refers to just the IC itself. The thing that's on the article's picture is a dev board for an MCU, not the MCU alone. That's just the chip at the top with the Espressif branding.

Now, if you want to argue that the difference between a dev board and an SBC is kind of vague, I agree on that front. I'd argue that the distinction is mostly the vendor's intent. E.g. if I sell the ICs in bulk and _also_ sell a board with that IC, it's probably a dev board. If I source the ICs from somebody else, only sell the assembled boards, and ship a general-purpose OS with it, it's probably an SBC. With sufficiently powerful hardware (like this thing seems to be), you could use a dev board as an SBC, and that is basically what this article is all about.

> what's the meaningful distinction now?

SBC is a PCB which includes ports for power, I/O, often other parts like sensors on it. Esp32 is a MCU. You can put an Esp32 on a PCB and call it an SBC. (Although semantically SBC usually refers to something that runs a GPOS, but perhaps that's flexible or changing)

  • It's much more difficult to buy the ESP32 as an MCU than it is to buy it as a SBC, with ports for power and I/O already on a PCB (often with through pins, to land on another PCB, like the arduino hats). And I don't mean "it's difficult because you have to solder" - I mean "it's difficult to find many places that sell it".

    Ex - go check amazon, they're all the "dev kit" versions of ESP32.

    Hell - even Alibaba has an overwhelming majority of the kits in the SBC form, rather than the straight MCU (although they at least exist in that form there, unlike amazon).

    Even on digikey... there are like 4 listing for the straight MCU, and hundreds of listings for PCB board versions.

    So I think for most consumers purchasing these... functionally they end up buying a form factor that is much closer to SBC than MCU.

    ---

    From my perspective... I'm old enough to remember when Arduinos were the hot shit in this space, and now ESP32 is basically the same value prop at 1/10 the price point (or better, if you are actually willing to solder it to the PCB yourself... then you get down to 1/50th the price point).

    • >It's much more difficult to buy the ESP32 as an MCU than it is to buy it as a SBC, with ports for power and I/O already on a PCB (often with through pins, to land on another PCB, like the arduino hats). And I don't mean "it's difficult because you have to solder" - I mean "it's difficult to find many places that sell it".

      1. Go to mouser.com

      2. Type ESP32 into the search bar

      3. There's your part.

      Its difficult to buy a very specific nut or bolt from Amazon (their nut/bolt search interface doing precisely nothing it appears to be intended to do). That doesn't mean McMaster-Carr doesn't exist. You're just going to the wrong store.

      If you're in particular referring to how hard it is to find a PDIP package (that is, a through-hole package) for an ATMEGA MCU, that's because they don't make them anymore. Insofar as I'm aware, Espressif has never made a through-hole ESP32 module, but maybe they made one with castellated edges?

      But an ESP32 module is as easy to come by as a surface-mount ATMEGA328P. Which is to say, very easy.

    • A few notes: if you buy non-module package (i.e MCU itself) then you would need to certify it with FCC (or you local FCC alternative) yourself, so most of vendors buy modules. Those vendors don't go to amazon to buy those because these make sense only if they manufacturing their own boards.

      Last time I checked digikey had every module version avaiable for every version. You get hundreds of other versions because there are more variations of those.

    • It's not "difficult" at all if you aren't looking in the wrong places. Espressif has sold billions of them so apparently everyone else is figuring it out just fine.

The tangible hardware difference is the MMU. S3 didn't have a proper one. This new chip does. But the biggest difference is the intent. Microcontrollers focus on peripherals and are used for interfacing, data conversion and signal processing. They're meant to run either bare metal firmware or small RTOS. OTOH microprocessors have in addition to an MMU big caches, high IPC numbers, wide bus lanes, everything you need to run different workloads as fast as possible.

Technically a chip can excel at both.