MakingThings
Make Controller Kit
Firmware API
MAKE Zine

Make Controller Kit - Firmware API

1.5.1

Overview

The Make Controller firmware API provides a simple software interface to the Make Controller. The main features include an OS (operating system), a full Ethernet system, a USB (virtual serial port) system, and many others.

The Core module provides the basic capabilities of the Controller and a variety of Libraries provide additional functionality that can easily be added/removed based on the needs of a particular project.

To jump right into browsing the entire API, click on Modules above. For general info, check the Programming the Make Controller tutorial on the MakingThings site.

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:

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

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

Licenses

The Make Controller Kit software environment is a fusion of four main bodies of code:

This software is all open source, and thus subject to the licensing of each module of code. All MakingThings specific code is licensed under the Apache 2.0 license, which is quite flexible for both open source and commercial projects. Be sure to acquaint yourself with the licenses for the main bodies of code in the Make Controller firmware codebase:

Community

As you begin to create projects with the Make Controller, please consider contributing any potentially helpful material you generate or come across. This could be anything from source code, to schematics, to instructions on how to interface with a particular device. Particularly good for sharing are additional libraries that provide further functionality.

The best places to get in touch are:

We look forward to hearing about your projects!

Make Controller Kit