Arduino fans: Recommendation for a beginner

My son Simon has just started at UConn in engineering physics. (His father is very proud of him for a variety of reasons.)

He has the Arduino development system installed on his computer, but needs a few things to get started on. He's trying to learn C and micros at the same time, so Arduino sounded like the right answer.

I've never used it, though, so I'd like some advice from the fanbois in the crowd: With a budget of $200 or so, what's the coolest Arduino setup for an intelligent 19-year-old noob?

Thanks

Phil Hobbs

--
Dr Philip C D Hobbs
Principal Consultant
ElectroOptical Innovations LLC
Optics, Electro-optics, Photonics, Analog Electronics

160 North State Road #203
Briarcliff Manor NY 10510
845-480-2058

hobbs at electrooptical dot net
http://electrooptical.net
Reply to
Phil Hobbs
Loading thread data ...

This is the setup I use:

formatting link

The Arduino environment lets me bang out "proof of concept" projects really quickly. I can then rewrite the code pretty easily for some other device if I need to. I did this "LED Analyzer" project with one a couple months ago for a contest:

formatting link

At $30 for the package it leaves plenty of money left over for other interesting add-ons, like accelerometers, etc.

The Arduino board can also be used as an ICSP for AVR programming and to burn the Arduino bootloader on blank AtMegas; it's a good idea to have some spare chips for the board on hand (at least for me it is, as I've managed to burn out several.)

Reply to
Bitrex

Hi,

Might just be the AVR lock/fuse bits programming, that happened to me several times with AVR where I "bricked" the chip by programming the lock bits accidentally, otherwise they seem to be pretty tough chips.

cheers, Jamie

Reply to
Jamie

I have managed to do that as well. I don't actually own a proper AVR programmer; to program chips like ATTinys, etc, I just run jumpers to the appropriate pins on the device from the Arduino and then load a sketch onto the Arduino that makes it function as an ICSP.

Unfortunately, as you mention if you set the fuse or lock bits incorrectly you may disable ICSP and will only be able to "unbrick" the device through high voltage programming. I've made that error on occasion; there's a schematic and code around on the web that I've used and been meaning to put on a breadboard that also lets you use an Arduino to rescue bricked AVRs via an auxiliary 12V supply. If I start doing a lot more AVR programming I think I'll eventually just get a high voltage programming board to keep on hand.

In regards to the Arduino board/bootloader/IDE combination, however, it's impossible to brick a chip in the above manner because the Arduino IDE doesn't offer any access to the fuse or lock bits. They're "factory set" to support the bootloader and the hardware configuration of the Arduino board. The ones that I've actually seen smoke come out of, though, I'm pretty sure are dead! I've managed it by doing really stupid things, like accidentally having a 12V bench supply line connected to an input pin.

Reply to
Bitrex

I'd start with learning C on a PC. Its much easier to use a debugger on a PC than on an embedded platform.

--
Failure does not prove something is impossible, failure simply
indicates you are not using the right tools...
nico@nctdevpuntnl (punt=.)
--------------------------------------------------------------
Reply to
Nico Coesel

Not an Arduino fanboy, though I do try to push it onto any of our IT crowd who I think may be interested in becoming something other than a server slave. I'd suggest this Arduino kit, which gives the learner a chance to build stuff that actually does stuff.

Sparkfun has their Inventor's Kit, with or without a nice plastic storage case. Sadly, currently out of stock on both.

The Microcontroller Shop has the non-boxed version listed; no stock info, though.

--
Rich Webb     Norfolk, VA
Reply to
Rich Webb

Microsofts 'Learn C now'

formatting link

Was good for the basics of C, not sure what is recomended today. But it did come with a scaled back Quick C compilier.

Cheers

Reply to
Martin Riddle

Who cares.

The only way of learning something is facing the real problem.

Arduino is worseless toy, dead end and waste of time. Start with bare metal.

VLV

Reply to
Vladimir Vassilevsky

If he's not stuck on the hobbyist Arduino track, he might want to give the NXP ARM module with cloud toolchain a try. It will plug into a solderless breadboard.

formatting link

I won't use it for commercial work because I don't trust the cloud.. but I think it would avoid a whole bunch of frustrations in getting a conventional toolchain up and running.

Reply to
Spehro Pefhany

Which is fine but that requires a power supply, breadboard, programmer, loader, and compiler. Easy if one already has those on the workbench. Potentially expensive if one decides to buy them all. Time-consuming (but certainly worthwhile) if one decides to go all home-brew.

The benefit to the Arduino (and relatives like the old Basic Stamp) is that one's initial projects are almost guaranteed to be successful, and maybe the newbie will have enough confidence to stick with it.

Diving right into the bare metal with something as relatively straightforward as the ATMega328 (used on the Arduino) means navigating a 500 page user manual. Where does one start? I'm fine with it -- it's what I do (well, used to; now it's mostly NXP or ST ARMs) -- but a real newbie may never get it up and running.

--
Rich Webb     Norfolk, VA
Reply to
Rich Webb

os

The one thing the AVR has going for it is that is available in dip, so it is very easy to wire something up on a veroboard.

programming can be as simple as few wires and a parallelport

then build one of of these:

formatting link
(or buy it ;))

I've used a few lpc210x, winarm is a single file install and it comes with lots of examples for different cpus, so you don't have to figure out all the details of makefiles and memorymaps yourself

but I don't think it supports the cortex yet so for lpc176x you'll need a newer gcc

-Lasse

Reply to
langwadt

I hope that's not recent event. Where have they been for the last 30 years? People started programming 8080s in C, or even earlier.

Reply to
linnix

Radioshack, 5 wires to LPT port, GNU

Yes, it is simple to get a LED flashing using tools like Basic Stamp or Arduino. Problem is, you never get further then a flashing LED or something like that.

The only things that are really required are passion for electronics and serious intention to learn. Nothing builds knowledge and confidence better then accomplishments of your own.

Start from the first page. Manuals from Atmel are very easy reading.

If someone couldn't get it up and running, it simply means this is a wrong occupation for him. Instead of being a bad engineer, try something different.

Vladimir Vassilevsky DSP and Mixed Signal Design Consultant

formatting link

Reply to
Vladimir Vassilevsky

The master plan is to bring him into the consulting business part time, as his expertise and interest dictate. Firmware is a basic gizmo-building skill that doesn't require 3 years of college math, and there's always lots of it to do.

It's real stuff, too--he'll be sticking to our proprietary stuff until he's good enough to give him client work, which of course will be awhile.

I have the LPCXpresso board, which I quite like, but the Cortex M's are a bit much for a newbie. Arduino seems to take care of a lot of stuff such as register setup that is often frustrating when you're starting out--the gizmo is completely flatline, and you don't know why.

The idea is not for him to be stuck with Arduino, but we all have to preserve our enthusiasm and confidence as we go along, so bite-sized steps are the ticket. It's already quite sporty enough, learning C on a microcontroller.

Cheers

Phil Hobbs

--
Dr Philip C D Hobbs
Principal Consultant
ElectroOptical Innovations LLC
Optics, Electro-optics, Photonics, Analog Electronics

160 North State Road #203
Briarcliff Manor NY 10510
845-480-2058

hobbs at electrooptical dot net
http://electrooptical.net
Reply to
Phil Hobbs

Phil Hobbs expounded in news: snipped-for-privacy@electrooptical.net:

...

I liked the Boarduino for ease of use and low cost:

formatting link

Just make sure you use ATmegas with the Arduino bootloader already burned in. That is the happy path for ease of use. You just need to download and install one FTDI(?) driver and the Arduino development environment will program it via USB.

Like someone else said upstream though, learning C is best done first in a friendlier environment on the PC.

If you don't want to go the Linux route, there is also Cygwin (cygwin.com) which is UNIX-like on Windows and free.

If you must go MS, they permit a student download license to download Visual Studio for free. But frankly, I think Cygwin is better, if he can handle a UNIX-like command environment.

Warren

Reply to
Warren

I find the Arduino system to be a very good starting point. The IDE and builtin functions allow the beginner to get started with minimal effort. The libraries allow adding additional common (and some not so common) devices. With all the support it is easy to get projects to work and encourage more experimentation.

The base is the GNU tool chain for AVR which is mostly hidden by the IDE. There is documentation that explains it for those that want to go beyond what is covered by the C subset and IDE. There are additional definitions so that one can, for example, directly control ports from within the subset. I think the ability to easily expand beyond the simple beginner level to be a big plus with this system.

The system is actually based on C++ (most of the builtin functions are actually C++ classes). You can write C++ in your sketch and it will get passed through the tool chain. With only 2K of ram I wouldn't recommend dynamic instantiation :-).

As far as how to start for $200 you can really go berserk. Go to

formatting link
and look at the various starter kits. Get a character LCD from you favorite surplus dealer. Pick up a shield or two for what interests him.

Reply to
Dennis

That probably teaches you the Microsoft C 'dialect'. If you are into embedded software development it would make more sense to go for Eclipse (+ CDT add-on) and GCC. Most microcontroller tools use Eclipse and GCC these days.

--
Failure does not prove something is impossible, failure simply
indicates you are not using the right tools...
nico@nctdevpuntnl (punt=.)
--------------------------------------------------------------
Reply to
Nico Coesel

s

These links should get him going. One thing leads to another.... I put the around the long URLs to stop Microsoft's talent for wrecking them.=

formatting link
(of course)

a nice basic tutorial, from the beginning:

formatting link

=46rom the same site:

formatting link

formatting link
(8.2 Mb)

formatting link

(350 Kb)

( a coffee machine...8Mb pdf)

(wood cutter governor + video)

Engine controller

Reply to
m II

If you install the ARM cross GCC from Codesourcery (their lite package is free) then you'll have a working Cortex development setup. I've used it for several of NXP's Cortex controllers.

--
Failure does not prove something is impossible, failure simply
indicates you are not using the right tools...
nico@nctdevpuntnl (punt=.)
--------------------------------------------------------------
Reply to
Nico Coesel

I was looking at this to try Arduino for $40

--
You can't have a sense of humor, if you have no sense.
Reply to
Michael A. Terrell

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.