Electronic – arduino – For a seasoned programmer Arduino or something else

arduino

My Background:

I have done software fro quite a while, and I am more or less proficient in C, C++, Java, Ruby, Erlang, Haskell, Lua and Python. I also took a class in lab electronics, but apart form one brief lab with a pump, it was all about getting a signal into and A/D and from there into a x86 with LabView (not my choice of programming environments) I would like to get back into tinkering with hardware with an eye towards home automation. (I think I can do better then this for less then $500)

Question:

I was going to cut my teeth on an Arduino, but the more I read the more it feels like the main advantage of that system is that it is simple to program. Is this a good place for a software (who still needs to buy a soldering iron) guy to start or is there something that would suit me better?

(P.S. I have more time then money)

Best Answer

As far as microcontroller eval boards ready to use out of the gate, there is the arduino family of course. but also consider the msp430 launchpad for $4.30. good instruction set and similar in performance to the avr with a lean toward low power/cost. For $20 you can get the stm32f4 discovery (not to be confused with the stm32 value line discovery or stm8 family) which is generally less than you would pay for a usable arduino ($35-$50) but runs circles around the arduino 168Mhz, floating point unit, caches, etc. In the upper end of the arduino price range there is another arm the mbed (mbed.org), which is probably the closest to the arduino sandbox experience.

If you want to stay in a standbox and just make api calls the arduino is probably where you want to live, there is the mega for more performance or go with the leaflabs maple which is arm based but attempts to provide the arduino sandbox experience.

You can get a lot more performance, bang for your buck, etc if you take on a little more responsibility and knowledge about what is going on. I recommend all three platforms (avr, msp, arm/thumb) and multiple vendors (avr and msp are locked in but arm is sold by everyone with different peripherals and I/O). For example you may be used to a platform that has no pull ups on the gpio lines and have to use external components where another chip or vendor provides that on chip at a comparable price/performance point. Likewise you may like bit banging a serial port or spi bus but find that for the same money, power, size, etc some other vendor has hardware to assist in that interface.

if nothing else it is in your best interest as a programmer and someone wanting to get into hobby electronics to know more about what is going on outside the sandbox. As a way to get into this hobby electronics world the arduino is a very very comfortable transition from application programming on an operating system. sparkfun has some kits now that include the serial interface and a few periperhals there is a lilypad kit (an arduino platform) and maybe a pro kit, both are not the arduino shield form factor if that matters. sparkfun sells retail boxed and many other flavors of arduinos, the uno, etc. (the st and msp boards mentioned above you should start at ti or st's website or go to github.com/dwelch67 and I have links to the various boards in my examples).