Microcontroller options

Hi!

I am looking for a microcontroller which will match my needs. I have looked at tons of sites and have a huge number of microcontrollers that I can use but since the options seem to be endless I can't pick one. I am hoping someone here will be able to help me out.

I want to build a robot which can move around, have several digital and analog sensor inputs. I want to set up my robot to have wireless communication with my PC at home within a limited range. I want to add small speakers and a microphone as well.

Eventually I want to add a small (color maybe) video camera. Also in the end I want the robot to use a GPS system for navigation.

This doesn't seem like a lot so I suspect any number of microcontrollers will do. In university (10 years ago) I used a handyboard to build / program a robot. My preference it to use C language.

Money though limited is not a big issue if I can get something which is more or less plug and play. I want to spend more time programming the controller and building the actual robot.

Your help is greatly appreciated.

Reply to
Onesupermanone
Loading thread data ...

There are a lot of choices but I'd say the Atmel line is a good choice for you. They offer some traditional 8-bit RISC controllers, and some newer 32-bit ARM-based controllers. Funnily enough, one of my selection criteria is whether the chip is available in a DIP package, so I don't have to solder surface mount, or invest in an expensive breakout board. If this matters to you be sure to note the package availability when you're looking.

-- Gordon

Reply to
Gordon McComb

When you say "C", you'll get a lot of advice here, but much of this - esp regarding ARMs and AVRs - will probably involve using GNU C and possibly Linux, or maybe one of the stripped down [free] versions of otherwise rather expensive commercial compilers. So, this will mean spending a fair amount of time on the learning curve regards installing and learning to use the environments. So, it helps if you're very familiar with programming environments, and not too noobish, if you're gonna go that way.

IOW, there are a LOT of cheap boards around, but you need to check how easy it is get going on the programming side. Many of the guys here have been doing it for years, and using tough tools comes easy for them.

So, all in all, my advice is to figure that your first robot is very unlikely to be your last one. Therefore, I would get something that's relatively cheap and easy to program, for my first venture, and use that as a steppingstone to get acquainted with things. Then, once that robot is running good, figure out where to go from there.

I've got about a dozen robots, and many of them get by fine with simple controllers like the Basic Stamp. I don't for instance need a Mini-ATX [powerful] board for many of them, so I have different processors for different robots. It's nice to take a processor that comes with a free IDE that installs instantly, and you can quickly get going, rather than having to spend days on the initial learning curve. My 0.02.

Reply to
dan michaels

For what it's worth, I'm a newbie too, as anyone here will readily attest from the way I constantly pester them with questions. :) I recently went on just such a controller search myself, looking at various boards under $50.

But, based in part on the advice of Gordon and others here, I've decided to take the plunge and give a raw Atmel (AVR) chip a try. These are electronically quite easy to use; the challenge may be setting up the development environment, but if you use Windows then you'll probably find that pretty easy too. If you don't, get back to me and we'll suffer through setting up the GNU toolchain together. :)

Here's what I just ordered from Digikey:

Part#: ATAVRISP2-ND Description: PROGRAMMER AVR IN SYSTEM Price: $35.91

Part#: ATMEGA48-20PU-ND Description: IC AVR MCU 4K 20MHZ 5V 28DIP Price: $2.69

The programmer is a bit on the pricey side, but you get it once and use it over and over. The controller itself, as you can see, is quite cheap. So if you screw it up and turn it into a brick, you don't suffer too much financially. :)

I chose this particular chip because the ATMega48 seems like a pretty common AVR chip (it's used in one version of the Pololu Baby Orangutan for example -- which BTW looks like a great board if you want something with motor controllers built in). And it's a DIP package, as Gordon points out (important for me since I use a prototyping breadboard a lot). I don't know what the "20PU" or "ND" parts mean, so hopefully they're not important!

Good luck,

- Joe

Reply to
Joe Strout

If I recall correctly, "ND" is a digikey moniker and originally stood for "No Discount". These days it just means it is a Digikey part number. The "20PU" stands for 20Mhz in a "28P3" or 28-pin plastic .30" skinny DIP. A good choice of part. Before you know it, you and your friends will be buying them in tubes of 25 to get them at the $1.69 price point.

Not got give you buyers remorse, but I am about to add AVR's to my bag of tools and have been hunting around for AVR programmers. The AVRDEVKIT1-ND is a combination of the ATSTK500 and the ATAVRDragon from Digikey at $49.00. It is supposed to be a combined programmer and debugger.

-Wayne

Reply to
Wayne C. Gramlich

No doubt. :)

That's OK. I knew this wasn't a debugger when I bought it, and I'm assuming that if I stick with AVR development, it won't be the last programmer I buy. But I think it's a good starter unit -- it saves me from the temptation to try and figure out debugging while also figuring out the rest of it!

Best,

- Joe

Reply to
Joe Strout

Joe, didn't you try the AVR Butterfly, at $19.99 from Digi-key? If so, what was your experience programming that, regards available tools and development environments?

Reply to
dan michaels

I'm on my fourth myself. I actually still use the first one I ever got, an STK200, out in the garage for some things.

-- Gordon

Reply to
Gordon McComb

Yes (though I got mine through the kindness of Dennis Clark).

I never managed to get anywhere with it. I even posted to the avrfreaks forum, but nobody there had much in the way of specific advice. But to be fair, I was extremely short on both time and money at the time, so I was attempting to use the bootloader but lacked sufficient time to figure out how to do so.

Now that I've got an AVR-ISP2 on the way, I'll probably get the butterfly out again. And once I've figured out how to program it with that, I may take another stab at the bootloader. Especially considering that I think I have brickedthe Coridium ARMmite board I was planning to use as the brain of my firefighting bot...

Best,

- Joe

Reply to
Joe Strout

I'm just guessing here, but it's possible if you use regular ISP programming on the Butterfly, then it may erase the bootloader.

????

Ummm, what is "bricked"? :-) I thought you also had the ARMexpress.

Reply to
dan michaels

True. But the code for the bootloader is available, and so (I am told) could be reloaded.

Brick (v). To render inoperable, i.e., as functional as a brick.

Yep. But that has no A/D inputs, without which it's pretty useless, at least for this bot. (I will have half a dozen analog sensors measuring distance to the walls, flame sensor signal, etc.)

Best,

- Joe

Reply to
Joe Strout

Oh, right. I can them frisbees.

Yeah, checking the notes, looks like the ARMexpressLite has 6 A/D channels, but none on the ARMexpress.

Reply to
dan michaels

PolyTech Forum 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.