Quality RTOS & Embedded Software

 Real time embedded FreeRTOS RSS feed 
Quick Start Supported MCUs PDF Books Trace Tools Ecosystem


robot controller recommendation

Posted by Joe Strout on May 24, 2007
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?

— Joe

RE: robot controller recommendation

Posted by Dave on May 24, 2007
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.


RE: robot controller recommendation

Posted by Joe Strout on May 24, 2007
So none of the boards I mentioned are currently compatible with FreeRTOS?

- Joe

RE: robot controller recommendation

Posted by Dave on May 24, 2007
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.


[ Back to the top ]    [ About FreeRTOS ]    [ Privacy ]    [ Sitemap ]    [ ]

Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.

Latest News

Version 10.1.0 of the FreeRTOS kernel is available for immediate download. MIT licensed.

View a recording of the "OTA Update Security and Reliability" webinar, presented by TI and AWS.


FreeRTOS and other embedded software careers at AWS.

FreeRTOS Partners

ARM Connected RTOS partner for all ARM microcontroller cores

Espressif ESP32

IAR Partner

Microchip Premier RTOS Partner

RTOS partner of NXP for all NXP ARM microcontrollers


STMicro RTOS partner supporting ARM7, ARM Cortex-M3, ARM Cortex-M4 and ARM Cortex-M0

Texas Instruments MCU Developer Network RTOS partner for ARM and MSP430 microcontrollers

OpenRTOS and SafeRTOS

Xilinx Microblaze and Zynq partner