Comment by geerlingguy

Comment by geerlingguy 7 days ago

8 replies

I'm speaking in a broader sense, comparing the variety of other Arduino boards like the Uno R3/R4. That wasn't too clear in the OP, sorry!

The concern I have with the $44 Q is it has 2GB of RAM and 16GB eMMC, and a processor that's probably between a Pi 3 and Pi 4 in terms of speed and IO (though 4nm, so probably much more efficient).

For $45 I can buy a Pi 5 with it's own built-in GPIO, PCIe, and a much faster SoC, though it lacks a few niceties like the Q form factor, the more efficient SoC, a realtime microcontroller, and a USB-C port with display out capabilities (I really wish Pi had that...).

phoehne 7 days ago

To me the benefits of an MCU have to do with latency on things like interrupts. A real OS sometimes gets in the way, if you're trying to run things on very tight timing, or want to go super low power. That's why even though I'm drowning in under-used Pis, I'm using Picos to drive the lights I'm making. (Trying to coordinate multiple 3w RGB LED floods with < 10ms of latency for fancy lighting effects - because as a maker - I can do it for as little as 10 times the cost of buying it). Also, I would rather release the magic blue smoke out of a $5 Pico than a $40+ RPi. Although the Zeros were nice. We should have another round of zeros.

kcb 7 days ago

Shame to still see newly released products using a 13 year old core design. How has there been such little progress on low power ARM cores that it still makes sense to build a Cortex-A53 based soc on a modern node.

  • antonvs 7 days ago

    There’s been plenty of progress. There’ve been three newer generations since the A53: the A55, then the A510, then the A520.

    But what you think of as an old core design is in fact a mature, well-understood, well-tested, widely-supported, cost-effective core design. It also has some features such as in-order execution which none of the newer chips have. From an engineering perspective, it still can make a lot of sense in the right applications today.

cyberax 7 days ago

There are some advantages to Arduino. Like <100ms boot times, you can go from power on to running within a blink of an eye.

This _is_ possible with Linux, but not at all trivial and likely impossible with general-purpose distros.

Interrupt handling and (on RP2040) dedicated multicore code is also nice.

  • arjvik 7 days ago

    Curious - how does one achieve this in Linux?

    I assume initramfs-only with special purpose pid0 and only the modules needed statically compiled into the kernel?

    What else would it take?

    • cyberax 6 days ago

      The main slowdowns will likely come from device initialization and the bootloader.

      Bootloaders need to initialize most of the devices and load the kernel image. Then they hand the control over to Linux which proceeds to re-init these devices again.

      The userspace matters, but on recent computers it doesn't matter that much. You can get to sub-40ms with https://katacontainers.io/ That's a project that uses full VMs to run Docker images boot instead of kernel namespacing.

  • mrheosuper 6 days ago

    100ms boottime is very high, in theory they should have near instant boottime(placing application code right at reset vector)