Hacker News new | ask | show | jobs
by garaetjjte 3474 days ago
I don't get Arduino phenomenon. AVR devices can be simply wired on breadboard. Also usually there is more suited device for project than throwing 328P everywhere.

And arduino uses UART bootloader, which uses up UART port and doesn't offer debugging. They have addational chip on board for usb<>uart, so why not instead use uC which can act as programmer and debugger using normal interface?

Atmel(Microchip now?) also have some nice XMEGA uCs with much more perpipherals that ATmega series, but are pretty expensive.

3 comments

The advantage of the Arduino is that it's a standard that "just works" with absolutely minimal time investment of getting started. You can have an Arduino up and running with a flashing LED before you've even assembled the breadboard and installed the toolchain for another solution.

As a standard, users benefit from being able to share instructions that have a high chance of working on someone else's system.

Obviously these are most relevant for beginners or those with a short time to invest. But that's the market that Arduino practically created. It simplifies the decision making process: if you're a beginner, start with Arduino. Once you've used it for a bit, you'll be aware of the limitations and have an opinion on which alternative to switch to.

Arduino is popular because you can download a single program, buy a fairly cheap board, plug it into USB and program it easily. Also it was the very first system to make microcontroller programming vaguely affordable, so it has kept a lot of mindshare due to that.

There's literally no other systems that are as simple as Arduino for newbies to use. The only one I know that is vaguely close is mBed, but that uses an online compiler (gross), or a relatively complex and not that great CLI interface. Arduino's IDE may be shit but at least it is simple and easy to install.

Almost everything else involves complex JTAG/SWD programmers and weird OpenOCD command lines and frankly that is just shit. Even as an experienced embedded developer the state of the tools is embarrassing.

>"Also it was the very first system to make microcontroller programming vaguely affordable"

I'd suggest that the BASIC Stamp got there before the Wiring/Arduino:

https://en.m.wikipedia.org/wiki/BASIC_Stamp

The same reason you would use C when assembly could yield a much smaller and more efficient binary. Ease of use. And through having more things done for you less chance of error.