The Arduino invasion

As M. Simon recently advised me that his new goal involves the Arduino market, I thought a post was in order about these little devices, which are propagating a mini-revolution of sorts.

They are incredibly cool, and smaller than a mobile phone, yet capable of doing just about whatever you want them to do.

In a charmer of a video, this guy explains what the excitement is about.

They can also provide countless hours of fun if you use them to hack old toys.

Or build your own drone:

Or open digital locks.

It should go without saying that some people don’t like them.

I think that the hate stems from the old-school hackers’ belief that you have to know everything about everything before you can do anything, and that the other 97% of the population is just plain wrong to not think the way they do. In a perfect world, noone should be allowed to operate a motor vehicle without fully understanding the nuances of the internal combustion engine.

That’s precisely the appeal of these things. Those who don’t like them, by all means can refrain from buying them. For others, at ten bucks they’re a steal.


Posted

in

by

Tags:

Comments

5 responses to “The Arduino invasion”

  1. guy Avatar
    guy

    You can get the ATMega328 based Mini Pro knockoffs on Ebay for less than $3 a pop. That’s less than I can buy the processor alone for, at least in the quantities I can afford.

    The low entry cost got me back into programming again. Heh, and got me digging through all the old PC crap I’ve had laying around for ages. I pulled a bunch of 64kbit DRAMs out of a PC-AT and made a controller using the minis. Complete waste of time and resources when you can get an SPI SRAM with 4 times the memory in a DIP-8 package for under $2, but still a blast to mess with.

  2. M. Simon Avatar

    The only problem with the Arduino is the “C” language. I intend to fix that.

  3. Neil Avatar
    Neil

    The Arduino has many problems–among other things, it uses an interpreter instead of a compiled IDE, so anything involving deterministic timing is very difficult to pull off.

    But it’s absolutely great for learning about microcontrollers,and for hacking around with stuff on your own. Arduino has created a whole new market for hobbyist gadgets like M. Simon is working on.

    As an aside, in my work I often run into guys who just shake their heads and claim that nobody is learning how to program embedded microcontrollers anymore–they’re all just playing with web-scripting languages. I always point them to the Arduino and say “there’s the gateway drug”.

  4. Eric Wilner Avatar

    An Arduino can of course be programmed in a variety of real languages, if you just keep the hardware (and, optionally, the bootloader) and throw out the IDE.
    The wonky “Processing” language gets preprocessed into C++, then compiled into proper machine code; alas, errors in the Processing code will often get by the preprocessor and result in incomprehensible error messages from the C++ compiler, referring to line numbers in the preprocessed code (which is not available for user inspection).
    And calls to standard C library functions will compile and link fine, but may not do what’s expected: ever called printf from an Arduino program?
    Learning to program in “Processing” isn’t quite like learning Common Core math, but it does encourage mislearning, while rapidly inducing frustration.
    Alas, there are some really large applications that have been written in that peculiar language (such as most of the homebrew drone firmware). Kinda like the big serious programs that were written in BASIC, back in the day.

  5. Neil Avatar
    Neil

    Eric W-

    Note that I did not say “impossible”, I said “very difficult”…having written a few rather complex BASIC programs myself, back in the day.

    You can do a lot with Arduino, but on a couple of occasions people have expressed frustration to me over its limitations. I have recommended that they look at the Texas Instruments ARM Cortex Launchpads and I suggested to one guy that he look at the 320F28335 ControlCard. Those devices all have hardware floating-point, so the control tasks they were attempting would not get bogged down in scaling issues. Also, the free TI IDE is the best of the bunch, in my opinion.

    But those guys and gals were clearly ready to take the next step in learning to program.