# Tools

The Make Controller is supported by great open source tools.

The easiest way to get started programming the Make Controller is with mcbuilder, a program that provides a simple development environment, compiler and uploader in a single download. Check the MakingThings download page for details.

Otherwise, programs for the Make Controller Kit can be built using the freely available ARM-flavored version of the GCC compiler, arm-elf-gcc. Many toolchains are available - OS X and Windows versions can be found on the MakingThings download page. Other good options include:

- GNU-ARM: http://www.gnuarm.com
- WinARM (Windows-only): http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects/#winarm
- YAGARTO (Windows-only): http://www.yagarto.de

To upload new firmware to your Make Controller, you have a few options:

- Use mcbuilder (Make Controller Builder) or mchelper (Make Controller Helper), from MakingThings.
- Use sam7utils, a command line app: http://oss.tekno.us/sam7utils
- Use a JTAG device.

Rowley also provides a very good IDE for ARM7 projects called CrossWorks, which supports in-circuit debugging. There are single user licenses available. Check http://www.rowley.co.uk/arm/index.htm