‹ BackHN Continuity

Thread

The newest ESP32 can run Linux and it's getting close to a Raspberry Pi

237 points · 123 comments · adunk

  1. jameshart · · focus · HN ↗
    The range of difference in capabilities of different boards branded ESP32 is getting larger. Makes it tricky to figure out when someone says ‘you can run this on an ESP32’ what level of hardware investment is required.
    1. philipallstar · · focus · HN ↗
      I am really struggling to understand what ESP32 is. I've got into adjacent things a bit recently, but haven't figured that one out yet.
      1. nkozyra · · focus · HN ↗
        They're all just single board computers, generally low-powered (literally and in the sense of capability, particularly memory)

        They're generally intended to run flashed firmware and be single-purpose. They usually come bundled with peripheral components and typically have breakouts to add more (pots, sensors, etc).

        They're great for doing one thing (though some support firmware switching), and you can build the 'software' for them pretty easily using Python or C-like variants.

        So for hobbyists they're perfect. You want a quick LED christmas display you can toggle between Rudolph and Santa from a quick network call? You want a humidity sensor in your bedroom? You want to create a networked security camera? These are the types of use cases for MCUs.

        1. ckocagil · · focus · HN ↗
          They're not single board computers. They're microcontrollers. Or rather they were until this new chip was introduced.
          1. serf · · focus · HN ↗
            >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.

            1. MobiusHorizons · · focus · HN ↗
              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.

              1. mrheosuper · · focus · HN ↗
                > a microcontroller will not have OoO execution

                Similar to a lot of old cortex-A soc.

                >multiple tiers memory

                The S31 also has cache and sram, with inpackage psram.

                > Usually they also lack an mmu

                The S31 has mmu.

                1. MobiusHorizons · · focus · HN ↗
                  I feel like you are deliberately misunderstanding me. I’m not saying that these define a microcontroller vs application processor, but rather that they stem from differing design goals. Presence or absence of features is illustrative not proof. All you need to do is look up what the A in cortex A stands for, or look at the data sheet of the S31 to see it is classified as an MCU by the manufacturer. I do admit that the feature set of this MCU blurs the lines somewhat at 500mhz with cache hierarchy and psram, but the ability to run from on-chip sram with dedicated performance budget keeps this from losing suitability for true realtime tasks.
Open on Hacker News to reply ↗

Unofficial Hacker News client; not affiliated with Y Combinator.