C+Language++Programming

For those who want more power and control over the robot, we suggest programming with the C language. We have successfully used two alternatives for C programming, AVR Studio from Atmel; and open-source development software WinAVR and Eclipse development environment. An advantage to Eclipse is that you can use it both on Windows and on Macs with OSX, while AVR Studio will only run on Windows. Both approaches are available through the links below.

AVR Studio
Atmel offers AVR Studio at no charge for use with their microcontrollers, like the ATMega324 used on the CEENBoT. Along with AVR Studio, you will also need the AVR Toolchain to turn your program into the firmware the robot uses.

AVR Studio is available for download from Atmel directly. You can find version 4.19 of AVR Studio here:


 * Atmel AVR Studio 4.19

AVR Studio Toolchain is available here:


 * AVR 8bit Toolchain 3.3.0

Instructions on setting up AVR Studio for programming the CEENBoT are in this guide:


 * [[file:AN022A.pdf]]

Eclipse and WinAVR
Eclipse is a mature and well known software development environment that can be used for many different programming languages. We have written a guide to install Eclipse, WinAVR and the the other components needed to produce software for the CEENBoT robot. Using this approach takes a bit more effort in downloading, installing and configuring things, but works great.

Eclipse runs on Java, so the process requires a recent version of Java to be installed. Eclipse is offered in versions for specific languages, and the C language package will be needed. WinAVR is the software that converts and loads the C programs you write into executable software for the robot. The AVR_Eclipse plug-in easily adds support for Atmel microcontrollers into Eclipse.

Instructions for getting, installing and configuring Eclipse:
 * [[file:CEENBoT Programming in C with Eclipse and WinAVR V1.0.pdf]]

Download links are included in the installation document, or you can use these links:
 * [|Eclipse]
 * [|Java]
 * [|WinAVR]
 * [|AVR_Eclipse Plug-In]