microcontrollers under $50?

I'm working on a comparison table for low-cost robot controllers, defined as under USD$50.
So far I've found a number of items from Futurlec, Pololu's Baby
Orangutan (mega48 and mega168 versions), Coridium's ARMmite and ARMexpress LITE, and the Parallax BASIC Stamp 2.
Anybody know of any others I should consider?
Many thanks, - Joe
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Joe Strout wrote:

Joe:
What is your definition of a Robot Controller? Most of the PIC's and AVR's have more capability than a BS2. For example, a PIC16F88 comes in a DIP-18 package, has 16 pins of digital I/O and 7 of those pins can do A/D as well. There is very little that a BS2 can do that an 'F88 can't do as well. Of course the 'F88 costs less. So it all hinges on your definition.
-Wayne
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

I'm not *so* concerned about buying a programmer, though it is a bit onerous to have to do so. I have a decent job now, but a few months ago an extra $60 was a fairly large obstacle, and I still sympathize with would-be robot hobbyists who are in the same boat.
But a bigger problem for me is all the support stuff these chips seem to require -- capacitors, resistors, etc. An internal oscillator does reduce the part count somewhat, but not to zero, right? How's a poor software guy like me supposed to know what these parts are and where they go?
I know, I know: read the datasheet. I've tried that. At least from what I couldn't find, Atmel chips don't have a data sheet; they have a data *book*, filled with hundreds of pages of dense technical jargon. For PIC chips, I think the situation is better; you can actually buy friendly books on PIC development for beginners. But I've never found such a thing for the AVR chips. But a well-designed board takes care of most of that nonsense for me (and in much more reliable and compact way than I could do myself).
Then there are the ARM chips, but I don't even know if those are available in through-hole package. They seem to offer substantially more power though. For a main controller, I think that's important, though I certainly see a use for secondary controllers that don't need a lot of speed or memory.
Best, - Joe
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
On Tue, 22 May 2007, Joe Strout wrote:

In a similar situation, I got the Smiley book, and an AVR Butterfly, WinAVR, and the gnu tools which go along with, and for under $20 a copy (while they last), a butterfly has an LCD, a couple of ports, enough flash for a project, a joystick, piezo speaker, and free tools (see the previous posting on Atmel 169).

Agreed. As a sw guy, it is quite easy to blow up hw, and given the incantations for just calibrating a clock speed (see above), there are ridiculous levels of detail to write to the bare iron, but then again, that's what you have to do to host an OS ...

Smiley book, and the accompanying tools and library were a big help, and C code examples to bit-bang, write to flash, etc etc. etc.

Run, don't walk, and look at the Digikey deal for the NGW100 AVR32 network gateway $69 will get you; ... 2 ethernet, 1 usb, 1 serial, #@$#@ load of ram/flash, and on board linux/u-boot to boot, with a nice wiki to offer assistance, and even a flashy lighty thingy or two (LED?). This is overkill for your basic robotics controller, but if you want to play, and learn about embedded programming, I don't think you'll find a better bang for the buck ...
oh, and Digikey is also offering an STK-500/ATMEL ICE2/jtag bundle for about $180 bux. The 500 works with the Atmega's, and the jtag/ICE will work with either the atmega and the avr32 if i read this correctly (just waiting on one of those, so I can x develop uboot/Linux for the AVR32).
-
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Joe Strout wrote:

This is why I like the Atmel line: most of the chips have an internal oscillator that runs accurately enough for most tasks. At most you just need a stable 5V supply, and for the really lazy there are single-component regulators that don't need any/many external components. Total component count two: regulator (which may be optional) and microcontroller. If you want to get cheap use a 5.1v zener and a resistor.
For programming an AVR all you need is a cable with some resistors or diodes soldered in. You can do it in a solderless breadboard, or in-circuit of your robot. You can buy it ready made, or lots of people have circuit designs for it.
I personally went with a real development board that has buttons, LEDs, LCDs and other crap on it because, well, I'm a sucker for convenience. I'd rather pay a few dollars to have something I can just pull out of the closet and use whenever I need it. For the AVR I have the 200, 300, and 500 boards, plus the AVR Easy-3 board from MikroElektronika. If you're interested in these types of boards I highly recommend www.circuit-ed.com. Customer service is supurb.

Keep looking. There's one by Smiley on the AVR Butterfly, which BTW at $20 (Digikey, others), and is a perfectly good robotics controller. His book costs more than the chip. It's on how to use the gcc toolchain to program the AVR in C. It's written for the beginner.
Since you're a Basic guy, check out Mark Alberts' Bascom AVR, available at http://www.mcselec.com . The manual is pretty good, the examples are plentiful, their forum is well attended, and the demo version is free. It's good for programs up to 2K -- big enough for most jobs. I do recommend springing for the product, however, as it's worth the investment.
Now, why aren't there more books on the AVR? Most of the PIC books were released before the bottom dropped out of the technical book market. Electronics books are poor sellers these days. Everyone is getting their info from the Internet.
-- Gordon
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Only if you have a machine with a parallel port, no? I haven't had one of those since... well, ever. Serial ports are easy, parallel ports not so much.

I've had one for about a year now. Haven't yet managed to program it. Compare this to the Coridium ARMmite, which despite various Windows installation/driver hassles, I successfully programmed within weeks of getting my hands on it.
But I agree the AVR Butterfly should count as a robot controller. Just an onerously difficult one to use (but probably no more so than other many others -- this stuff is far harder than it should be).
I'll check out the book, though; that may be a big help.

That's a Windows app, isn't it? For my purposes, I'd rather give myself a nice paper cut and pour lemon juice on it than choose something that requires Windows. I recognize that opinions on this may differ, of course.

Yes, I can see that. There's probably also a factor of more books appearing the longer something has been around.
Thanks, - Joe
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Joe Strout wrote:

This may be one of the reasons you're having so much trouble. Do yourself the favor of finding an old used Windows 95/98 Pentium II box, which most people will just give to you. If you have to buy it don't spend more than $25. Use it just for programming your microcontrollers. There are FAR more solutions for Windows, and many will work in the older versions of Windows. You'll get a parallel port, too.
It'll hardly be considered a Dance with the Devil for just that, and you'll have some progress rather than frustration. Though I use both PCs and Macs, I dedicate an old PIII Compaq just for microcontroller work. A KBM switch makes it easy to have several machines on the desk at once.
-- Gordon
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

I agree but for avr's you don't need a parallel port.
You can use the atmel equipment(isp , stk500) with windows in parallels or vmware on a mac. Haven't tried the jtag ice yet. Atmel isp mark2 works for avr and avr32.

You have to use windows and linux for embedded systems work unfortunately at the moment there is no alternative.
For some chips there is only windows software. But the second you need commerical compiler support you have to use windows.
microchip pic - windows (microchip software) - hitech make their compilers for mac , windows and linux atmel avr/avr32 - mac osx, linux , windows arm chips - windows , linux and mac osx - note depends on the chips you ae using 8051 - linux and windows - I'm not aware of any mac based compilers zilog - ?? rabbit - windows only
Fpga - free software versions xilinx - windows or linux altera - windows lattice - windows
Alex
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

No need; I already have Windows XP running quite nicely in a virtual machine under Parallels. This has a lot of advantages over running Windows on its own real hardware, but it's still Windows.
So it's not that I don't have Windows; it's that I don't want to use it.
I don't want to use it because (a) it's flakey, (b) it's harder to use than a computer should be, and (c) Microsoft is evil and I don't want to support them, or companies which support only them. Oh yes, and (d) I like to think that the stuff I'll make may be widely distributed someday, and a lot of home users have Macs (just ask LEGO).

Well yes, it's true that I don't get that in Parallels. But again, I'll just take my money elsewhere. :)

I can respect this position as logical and pragmatic. But, I'm still in the shopping-around phase, and while I will gather and consider information on Windows-only MCUs, I probably won't buy one.
Thanks, - Joe
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Joe Strout wrote:

There is no such thing as a "Windows-only MCU," just Windows-only IDEs. You could program an MCU with toggle switches, but would you want to? An MCU just takes hex data; what differs is the toolset you use to create that hex data.
I have to say that in the amount of time we've had this discussion you could have started with a no-frills cheap/demo copy of a popular IDE for the PIC or AVR (yes, it runs on Windows, and might use the parallel port) and programmed your first chip! You'd be well on your way to the next step. No one's telling you that you have to keep that system, but it will teach you a lot.
Experience is never lost, but time certainly is.
-- Gordon
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Yes, all true, but a bit pedantic, don't you think? If the tools (including, for example, hardware that requires a parallel port) only exist under Windows, then I will refer to it as a Windows-only MCU as a shorthand for "MCU which can only be programmed under Windows without going to a ridiculously Herculean amount of effort."

Well then no, I couldn't, since I don't have a Windows machine with a parallel port, and I'm unwilling to sell my soul just to accomplish that step. Better alternatives are out them, I'm certain -- it's just a matter of digging them up. (Indeed, I already have one -- the Coridium ARMexpress -- and I'm just looking for others.)
Best, - Joe
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Joe Strout wrote:

You're missing the forest for the trees. I'm talking about the AVAILABILITY of tools. There are programmers for most every popular MCU for the Mac, Linux, BSD, and other operating system. They aren't always as easy to set up as the ones in Windows. The choice is how much effort you want to put into getting started. There are a lot of Windows-based solutions that make MCU programming very easy, literally a 10 minute setup.
I'm not rrying to convince you to embrace Windows, just stating a fact of life.
-- Gordon
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
wrote:

I really like that comment Gordon.
TMT
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Not true. I joined the avr-chat mailing list a while ago, as well as the gnuarm list, and on both lists I found a number of experienced developers who do all their embedded work under OS X (and sometimes other Unices such as Solaris). It can be done, and works great once you get the tools set up. There's just less hand-holding to get you started (which is ironic on some level).

Probably true, but I'd prefer gcc over commercial compilers anyway.
But I see from your list that you already knew this for ARM and AVR -- but those are the chips I'm mainly interested in anyway. If I can't use, say, a Rabbit microcontroller without Windows, then I simply won't buy a Rabbit. There are plenty of more open alternatives.
Cheers, - Joe
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Sorry to come back to this, but I knew I'd heard of this before... and in fact I downloaded the first two chapters of Smiley's book (which are available for free from his web site) back when I was trying to get my Butterfly to work. But it didn't seem to say anything about the gcc toolchain; it's written around using WinAVR and AVRStudio.
Does it get into the gcc toolchain later in the book? (I don't see anything on smileymicros.com about it.)
Thanks, - Joe
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Joe Strout wrote:

WinAVR uses gcc as the compiler. You need to read the fine print, though it *is* in the first paragraph of the project page!
http://winavr.sourceforge.net /
I don't recall that book discussing AVR Studio, though it might. AVCR Studio is Atmel's IDE. You'd use one or the other.
-- Gordon
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
A couple boards for AVR and one for PIC. These boards are well under $50,
- Arduino: http://www.sparkfun.com/commerce/product_info.php?products_idf6 - ARC Controller: http://maximumrobotics.com/store/index.php?main_page=product_info&cPathG_26&products_id
The second board above fits MarkIII sumo platform from http://www.junun.org/MarkIII/Store.jsp
- The MarkIII also has controller board using 16F877
- Pandit
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
snipped-for-privacy@yahoo.com wrote:

Thanks -- that's a neat one! Uses Wiring, which John pointed out as a good possibility for beginners. I don't really know anything about Wiring yet, but I'll certainly look into it.

Also looks interesting.
Thanks again, - Joe
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Could also use Rabbit boards. Can probably still get some of theirs for under $50. Not the dev kits unfortunately but they're darn nifty processors all the same

http://maximumrobotics.com/store/index.php?main_page=product_info&cPathG_26&products_id
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
A couple boards for AVR and one for PIC. These boards are well under $50,
- Arduino: http://www.sparkfun.com/commerce/product_info.php?products_idf6 - ARC Controller: http://maximumrobotics.com/store/index.php?main_page=product_info&cPathG_26&products_id
The second board above fits MarkIII sumo platform from http://www.junun.org/MarkIII/Store.jsp
- The MarkIII also has controller board using 16F877
- Pandit
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Polytechforum.com is a website by engineers for engineers. It is not affiliated with any of manufacturers or vendors discussed here. All logos and trade names are the property of their respective owners.