Hacker News new | ask | show | jobs
by wombat_trouble 1182 days ago
Arduino never made sense as far as technical specs go. You could always buy more capable and compatible AVR microcontrollers for one tenth the price. In the past decade, the disparity has gotten more dramatic as 8-bit chips have gotten even cheaper and even more capable.

Arduino owed its success solely to building a healthy maker ecosystem of folks who simply defaulted to it as a platform, published tutorials, and promoted it through word-of-mouth. That's probably still there. Raspberry Pi had the same thing going on for it, by the way.

Marketing / community building trumps technical merit in almost everything, and embedded computing is not an exception. I'm not lamenting this, it's just a fact of life.

5 comments

Arduino is also orders of magnitude lower friction than just about any other embedded platform. Baremetal AVR? Set up your makefile, ICSP programmer, and find the right fuse flags or risk bricking your chip with the wrong clock settings. STM32? Set up the whole STM32CubeMx project and export it as a Makefile and remember to only add code in the correct areas? Baremetal ESP32/ESP8266? Doesn't exist, but you can use a FreeRTOS fork with special binary blobs. PIC microcontrollers? Set up Microchip's HUGE IDE and special compilers and programming tools.

A board supported by Arduino is vastly easier to use, especially for someone who just wants their project to _work_, not to learn the deep arcana of baremetal systems.

> find the right fuse flags or risk bricking your chip with the wrong clock settings

Is it actually possible to totally brick an AVR chip that way? Can't you always recover them with high-voltage programming mode?

I don't know how many people have a high voltage programmer, especially the people that would choose an Arduino. I'm personally lucky to have found an AVRISP mkII that was being thrown away when I was a broke college student.

Either way, I'm saying that Arduino is _the_ microcontroller platform with the fewest gotchas for a beginner.

> folks who simply defaulted to it as a platform,

One thing that was unique about the 8-bit Arduino was that while the board itself was common for prototyping, it wasn't that hard to put an AVR chip on a breadboard for permanent projects or just for the sake of doing it and there were plenty of tutorials. There was even built-in support in the IDE for using an Arduino board as a ISP programmer for a raw chip by connecting a few wires.

With the Raspberry Pi, hardly anyone who used it would ever build their own/modify the design of the board itself.

With the massive difference in abilities and price between ESP32 based boards and Arduino, and the increasing number of shields available for common ESP32 boards, I think Arduino has lost a lot of the "community" advantage.

It's a shame there isn't a "standard" ESP32 board though. Some of the common boards/kits even have multiple revisions that aren't pin-compatible :(

> You could always buy more capable and compatible AVR microcontrollers for one tenth the price.

Were you able to program them without additional (expensive) hardware?

There are low cost AVR programmers, such as [1]. Similar are available for much less on Aliexpress.

You can also easily use an Arduino, a solderless breadboard, a few jumpers and some software as an AVR programmer [2].

[1] https://www.sparkfun.com/products/9825

[2] https://www.instructables.com/How-to-Program-an-Attiny85-Fro...

Generic AVR programmers go for about $8 on Amazon.

  Raspberry Pi had the same thing
Maybe we have an answer here. Raspberry PI ventured in Arduino's market with Pico. Maybe Arduino is reacting to that?