Voting resources, early voting, and poll worker information - VOTE. ... Adafruit is open and shipping.
0

Which poison should I pick?
Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.

Which poison should I pick?

by ImaginaryAxis on Sat Nov 13, 2010 5:17 pm

Hello All and greetings. I hope this is a worthy first post!

I am interested in exploring mixed-signal devices and figure delving into microcontrollers would be a good way to do so. I have an MSP430 LaunchPad that has been collecting dust for about a month, but I have seen a lot of forums geared toward hobbiests that often suggest the Arduino. In fact the Experimenters Kit offered here looks like a good option.

My goal would to get my feet wet with simple projects without a steep learning curve for a programming language or compiler. The last time I touched C++ was in college and I recall nightmares of header files, structs, class, object oriented programming... Projects like LED blinking, motor drivers, piezo speaker drivers and the like would be simple enough for me. The ideal goal would be opening the compiler plopping a few lines of code and go.

Keep in mind I am a analog engineer that spends his time with transfer functions with signal-chain (op-amps, filters, audio) and power management devices.

Would the Arduino be a good choice for a digital neophyte like myself?

ImaginaryAxis
 
Posts: 267
Joined: Sat Nov 13, 2010 3:16 pm
Location: Phoenix, AZ

Re: Which poison should I pick?

by zener on Sat Nov 13, 2010 7:22 pm

There is a recent thread with a similar question:

viewtopic.php?f=8&t=18008

The wise Entropy made the following observation which is correct:

"The Arduino development environment adds a lot of abstraction layers that make the "simple stuff simple, but the hard stuff potentially impossible". At one point (this may have been fixed...) the Arduino development environment needed something like 20 clock cycles to change an output pin state."

This is not a knock on the Arduino. It makes embedded programming easy and readily accessible for almost anyone. The issue Entropy is relating, I think is the same as I ran into when using library functions/routines with a PIC micro. The routines were doing stuff "behind my back" and I didn't know exactly what they were doing. And sometimes they didn't work right. And they couldn't all play together necessarily.

So Arduino has a low cost of entry, but ultimately you may be limited in what you can do. But it is a decent way to start. IMHO.

zener
 
Posts: 4567
Joined: Sat Feb 21, 2009 2:38 am

Re: Which poison should I pick?

by len17 on Sat Nov 13, 2010 7:49 pm

L.A.W wrote:Would the Arduino be a good choice for a digital neophyte like myself?

Yes, it would. If you have a bit of programming experience you'll have no trouble with Arduino programming. It's easy to hook things up to the Arduino, I'm sure you'll find plenty of things to do with your audio and power management devices. :)

If you eventually find the Arduino programming environment too limiting, you can use a proper C compiler. (In fact, the Arduino software package includes the avr-gcc compiler.) The Arduino is a good development board even apart from its own programming environment.

len17
 
Posts: 394
Joined: Sat Mar 14, 2009 7:20 pm

Re: Which poison should I pick?

by westfw on Sat Nov 13, 2010 9:09 pm

...but the hard stuff potentially impossible

This is nonsense. The "arduino environment" doesn't prohibit or prevent the use of more primitive access to the microcontroller, so your only real limits are those imposed by the hardware itself. Yes, not all of the "easy to use arduino libraries" are perfect and work perfectly together, but that still leaves you far ahead of starting from scratch.

I recall nightmares of header files, structs, class, object oriented programming.

This is some of the stuff that the Arduino environment specifically tries to avoid.

westfw
 
Posts: 1717
Joined: Fri Apr 27, 2007 1:01 pm
Location: SF Bay area

Re: Which poison should I pick?

by jgunn on Sat Nov 13, 2010 9:45 pm

I've only recently dug into an Arduino and I have no experience with a Launchpad. My impression thus far is that for people like you and me - my programming experience sounds similar to yours - the Arduino is a great place to start. I've heard it said that the device was designed with a lowest common denominator of people like hobbyists and artists in mind - people who are capable but who might not want to dig too deeply into things like PIC programming or assembly language. It's not limited in ways that make it useful only to people who are new to electronics, though; it's popularity seems due in large part to its flexibility.

For an idea of how reasonable the learning curve is, take a gander at the Arduino tutorials here on the site, if you haven't already.

For an idea about what you're getting into when you leave the Arduino programming behind and write for the AVR directly, take a look at the recent (ongoing) articles on Hack A Day. Good reading:

http://hackaday.com/2010/10/23/avr-prog ... roduction/
http://hackaday.com/2010/10/25/avr-prog ... -hardware/
http://hackaday.com/2010/11/05/avr-prog ... ling-code/

Good luck!

-Jeff
jgunn
 
Posts: 5
Joined: Wed Oct 27, 2010 3:00 pm

Re: Which poison should I pick?

by ImaginaryAxis on Sat Nov 13, 2010 10:43 pm

Thank you for the replies. I will pick up the Experimenter's Kit and dive right into the hopefully-not-so-deep-end of the pool.

One reason why I started to look for hobbyist kits and starting a home lab is due from work burn out. At least at home, I am in total control of what project I am working on while building new skill sets.

Perhaps one day Arduino will limit what I want to do, but it sounds simple enough to get around in especially for an analog guy like me.

Zener, you bring up a good point about abstraction layers. I have also seen Flow Code and e-blocks, but that is even further away from any kind of traditional coding and compiler environment. I want something easy, but not so far away that the 'coding' is a literal flow chart. I want to have some structure if I ever have to switch to a different environment. I would like to be 1 step away rather than 10.

Again, thanks for the replies. This helps.

ImaginaryAxis
 
Posts: 267
Joined: Sat Nov 13, 2010 3:16 pm
Location: Phoenix, AZ

Please be positive and constructive with your questions and comments.