1. 36
  1. 9

    This blows my mind. 1MB RAM, 2MB flash, 600MHz, and caches, with stop mode power in the 60uW range. This would have been a great PC in the early 90s, with an insanely low power footprint, and better DSP capabilities. For $4-5 at scale!

    This feels like a meaningful milestone for embedded compute, and I cannot wait to see what new applications it makes possible.

    1. 3

      Maybe a stupid question: what’s the difference between a microcontroller (like Teensy 4.0 or Arduino) and a single board computer (like Raspberry Pi)? I was under the impression that the latter is generally more powerful with a higher frequency and more memory, but Teensy makes this definition subtle.

      1. 5

        @nalzok You’re right that boards like this one blur the line (especially when things like the Giant Board also shrink the form factor of linux: https://groboards.com/giant-board/).

        [Nomenclature note: the teensy runs a microcontroller (MCU), it has no memory management unit and does not run high level operating systems. A linux board sports an Application Processor (AP), with a memory management unit and an OS.]

        However, there still are major differences:

        1. Cost - there still is a 2-3x difference in cost between a costly MCU and a cheap AP.
        2. Power consumption - there’s at least an order of magnitude difference in run-mode current between an AP and an MCU.
        3. Real time capability - if precise timing is a requirement for your product, you may need a real time capable software stack (i.e. an RTOS) rather than Linux which is not real time capable. This impacts things like interrupt jitter and scheduling precision.
        1. 1

          Do the processors on Linux boards typically have a “deep sleep” mode like you’d find in most MCUs? Would the power consumption be comparable in that mode?

          1. 2

            The main problem is the RAM. DDR needs constant refreshing, so in the best case you’re in the 10s of mW range. That’s multiple order of magnitude more than the stop mode current you can achieve with an MCU based system.

        2. 4

          Mainly whether it’s designed to run one single program forever, or designed to run an OS that shares resources between many programs without their cooperation.

      2. 1

        can these microcontrollers trivially be organized into multi-cpu kind of arrangements ? If yes, how do things like CAS and other atomic operations work?

        or is this well outside their purpose? (very attractive hardware considering cost and capabilities), just wanted to learn if they are meant to be scaled horizontally.