3 ms·
It is an honest question: the first of my many AVR-based projects was at least 15 years ago, and it was an improvement over PIC prior to that, but I just don't
by bacon_waffle 4y ago
It is an honest question: the first of my many AVR-based projects was at least 15 years ago, and it was an improvement over PIC prior to that, but I just don't see the draw to AVR anymore. For the cost of pint at the local pub, I can have a delivered STM32 development board. The tools and techniques that make sense to use with that development board will serve me well both in a hobby and professional context. [Edit to add: there seems to be plenty information/guides/forums freely available.]
Picking AVR seems a bit nostalgic, frankly, and I get that - a lot of my hobby time is working with old tech (like, sharp steel) because it's more enjoyable to me. I agree with you that there is a lot of "accidental complexity" in getting started with embedded, but I don't see how that really speaks to AVR vs newer 32-bit. Yes, the 32-bit chip itself is more complex inside, but a beginner doesn't need to know/care about that if the surrounding tooling is doing its job. I thought Arduino IDE had SAMD21 as a first-class citizen these days, so assumed it took care of that - is it not the case?
I work on firmware for my day job, and help run a makerspace. At makerspace, people starting fresh usually learn SMD soldering, and ESP32 with Arduino IDE seems like the most popular platform. At work, I'm a big fan of libre/free firmware, but hate how Arduino IDE fits in to a professional context (highly variable library quality, library management is a mess, difficult to handle build scripts, etc). I am 100% on the embedded Rust train.
- sircastor 4y ago> I just don't see the draw to AVR anymore. For the cost of pint at the local pub, I can have a delivered STM32 development board. This happens to a lot of people as they move through technologies. You’ve moved on and up, but that doesn’t necessarily mean that the STM32 boards are as welcoming to the individual who is getting started, or does only a project or two a year. Personally, I lean on ESP8266s for most everything these days. I have a cache of AVR devices that haven’t been plugged in for years because they don’t serve my needs anymore.
- kevin_thibedeau 4y ago5V compatibility can still be useful for interfacing with older devices. 5V tolerant low voltage IO can come with some problematic caveats many of which are blissfully ignored by much of maker community.
- NavinF 4y ago> 5V tolerant low voltage IO can come with some problematic caveats Such as? I’ve never had any issues with 5V IO on the 32F103
- abetusk 4y agoAgain, I think you've lost sight of just how difficult some of this stuff is from the perspective of someone who has no or only passing familiarity with it. As an analogy, this is like a race car mechanic saying that "for the cost of dinner and a movie you can get a new fuel injector that makes your car run 10% more efficient". Technically true but you're not accounting for the domain knowledge that goes into knowing what are compatible parts, which model, what parameters to choose, how to install, how to fix etc etc etc. Maybe newer 32 bit models will supplant all the Unos and siblings but as a snapshot of right now, documentation, tutorials, community etc. are mostly geared towards the atmega328 and friends. I also may not be accounting for the benefit of having all the cheap clones that are just as functional at 1/10 the cost. > ... a beginner doesn't need to know/care about that if the surrounding tooling is doing its job. This is one of the key points I'm trying to make and maybe where we disagree. I think the Arduino platform, with it's community, forums, tutorials documentation and including, but not limited to, the IDE, provide the cushioning to allow for people to create rather than need intricate knowledge about the domain, at least initially. In other words, I believe most other tooling is doing it wrong.
- bacon_waffle 4y ago> Again, I think you've lost sight of just how difficult some of this stuff is from the perspective of someone who has no or only passing familiarity with it. Let me restate that I help run a makerspace (minor asterisk, it has been in hibernation for several months for COVID). In practice, that looks like people with no prior experience wanting to make an embedded system (not in those words, obviously), 3-d print something, or just see what we're about. We tend to start people in the first group on ESPs, and they seem happy/successful. The second group more-or-less randomly ends up on OpenSCAD or FreeCAD depending on who they talk to, and has a fairly low success rate. My impression of the Arduino IDE experience, when targeting one of the many available 32-bit boards, is that it's just as good as targeting AVR. There should be enough abstraction in the right places, so that a driver for an LCD or whatever will work just as well on either architecture. There might be one additional step to install the extension to use Adafruit boards for instance. Are there a lot of people in the community struggling with 32-bit systems, doing things that just work on the AVR ones? From what I've seen, struggles with these small ARM systems, are usually either people starting from closer-to-metal (and the micro is, obviously, more complicated than an 8-bit AVR), or people working on problems that are just bigger than would be appropriate to solve on an AVR to begin with. I'm familiar with the forums, blogs, etc. and I can accept there's more beginner-oriented material for AVR. However, that does not say that the material for more modern parts is insufficient - either in the Arduino world or outside of it. For the most part, the material people use when learning isn't (or doesn't need to be) architecture specific.
- deleted 4y ago[deleted]