robot controller recommendation

I’m looking for a microcontroller board for hobby robotics projects.  I can see the advantages of FreeRTOS (thanks in part to the article by Phil Davis in the September ’06 Servo).  I’m hoping someone here can suggest something that: - can be easily programmed from a Mac OS X machine - sports a reasonable number of digital I/O lines and A/D inputs - costs less than $50 - and of course, is compatible with FreeRTOS I rather like the looks of the gnuarm toolchain (they have precompiled binaries available for my platform, which is a big plus!).  But I’d take an AVR board too if you can recommend a toolchain. If it helps, ARM boards I’ve seen are the Futurlec "ET-ARM Stamp" (uses an LPC2119), the Futurlec "ARM2103" (LPC2103), the New Micros "Tini2131" (LPC2131), and the Coridium "ARMmite" (ARM7). In the AVR world, I’ve seen various controllers in my price range based on the ATMega128 and ATMega168.  I’m still unsure how easy it is to program these from OS X, but I think it can be done. So.  From a FreeRTOS point of view, any recommendations? Thanks, — Joe

robot controller recommendation

I think you will be luck to get all this for the price you ask and with tools for the Mac.  You might consider using a standard STK500 AVR board then hand building an addon card for your app. Dave.

robot controller recommendation

So none of the boards I mentioned are currently compatible with FreeRTOS? Thanks, - Joe

robot controller recommendation

Sorry, I misunderstood.  I thought you were saying that you had seen and discounted the use of those boards. FreeRTOS will run on any AVR or LPC that has enough RAM.  It might be that the LPC210x devices don’t have enough RAM (I have not checked, but I know they are small devices).  Take a look at the FAQ on the FreeRTOS site for some figures on the required RAM usage on ARM7.  If there is not enough RAM you can still use co-routines as these all share a stack. If there is not a FreeRTOS port directly for the board/chip you required then generally all you need to do is change the linker script used by the makefile to correctly describe the memory layout for the chip you are using. A couple of things to watch out for.  First some AVRs now have a three byte program counter, which is not compatible with the AVR port in the download.  I think there is some information in this group about how to make it compatible.  Second, some of the newer LPC devices have a slightly different timer peripheral.  There are two LPC port types, one for the LPC2368 style timer and one for the LPC2106 type timer.  The differences are very small and example code is available for both. Dave.