← Back to context

Comment by nkozyra

17 days ago

For an embedded computer you basically need to go bare metal with Circle or something similar.

But then I'd wonder what you're building because there are powerful microcontrollers you can buy for $15/1 that will handle anything with basic networking and sensors. I know some musical synthesizers are made with rPi4 and I'm befuddled that they're not the most powerful synths ever made.

I think they oddest one out is the Arduino line, which is generally underpowered and expensive compared to just having a drawer of esp32s sitting around.

Arduino pre-dates the existence of ESP, at least in the western market.

Also, Arduino as I think you're using it here is really just slang for AVR microcontroller dev boards.

Arduino isn't actually that, it's a boot loader and a highly simplified set of libraries to interact with a wide variety of microcontrollers including ESP-32 and what people traditionally think of as "Arduino" meaning the branded dev boards labelled that way.

Of course the whole Arduino ecosystem is basically garbage, but it does help beginners get into the idea of doing embedded things.

  • >Of course the whole Arduino ecosystem is basically garbage, but it does help beginners get into the idea of doing embedded things.

    I think this is either a naive take or a presumptuous, Gatekeeping take. The Arduino ecosystem is not garbage. It’s an abstraction layer. While it is not always the most efficient code, it makes programming something straightforward. That is not only a beginner feature.

    The premise that’s sold here is that because Arduino is an abstraction layer and it does (often) favor ease over efficiency and compactness, it must not be suitable for “real embedded programmers”

    Not all projects need to be accomplished in 256 bytes of flash. Not all programmers care about how to set a given timer or stepping down clock speed. Not all use cases are your use cases

    Use the tools that get the job done. Make the thing you want to make. Ignore people who tell you you’re doing it “wrong”.

    • It's neither.

      The Arduino ecosystem is objectively garbage, for a host of reasons. Yes, it is an "abstraction layer", that attempts to abstract away all the hard stuff from a whole host of different microcontrollers, and does it in some really bad (and broken) ways.

      Arduino prioritizes making things easy for the person who doesn't know how to write embedded code. That's fine, as far as it goes. The problem with things like this is when people put them in production anyway, because "it works" on the bench and there's no need to bother with making sure it actually works.

    • I agree with this in general. I think the Arduino ecosystem makes a lot of sense and as mentioned upthread does a good job lowering the barrier to entry.

      It's the hardware I don't get, which sits in a weird spot in the matrix of ease and power.

The Arduino "line" is a bunch of dev boards. The attiny40 chips cost less than $0.50 at high volumes.

  • Well yeah I'm just saying they have a lot of overlap in the market with rPi despite being a much less powerful, different thing.

    Getting started with esp32 dev board is cheaper, more powerful, and not any harder, so I don't understand their niche.