Friday, February 15, 2013

Installing Cosa

To install Cosa download from github. For Arduino 1.0.X: Unzip in your Sketchbook hardware folder. Create the hardware folder if missing. Path: Sketchbook/hardware/Cosa. The location of the Sketchbook folder may be found in the Arduino IDE Preferences. Please see the File menu.

For Arduino 1.5.X: Create a folder named Cosa in your Sketchbook hardware folder. Create the hardware folder if missing. Unzip in your Sketchbook hardware/Cosa folder. Your should have the path; Sketchbook/hardware/Cosa/Cosa. Rename the inner Cosa to avr; Sketchbook/hardware/Cosa/avr.

The Cosa core contains support for most Arduino boards plus Mighty and Tiny processors. All boards with ATmega328P, ATmega32U4, ATmega1264 and ATmega2560 are supported. No extra cores need to be installed. The source code for Cosa will support all of these targets and allow your project to be moved seamless between them. Please see the Tools>Board menu. You must select a Cosa prefixed board to compile Cosa sketches.

If you intend to compile sketches for ATtiny please install the following patch to AVR GCC (for Arduino Windows): Also please remember to program the device with the bootloader (i.e. set the correct fuse). For more details see the High-Low Tech Tutorial.

Please clone instead if you intend to follow this project more closely and do frequent updates.

The Application Programmers Interface (API) documentation is available on-line and for download as Uncompress this file and navigate your browser to the index file. The documentation contains a full hyperlinked description of all classes, methods and functions in Cosa together with UML graphs of the class hierarchy, include dependencies, and much more. Uncompressing will take some time as the documentation is over 50 Mbyte.

Fig. 3: Cosa documentation (doxygen)

The provided documentation is generated with doxygen and may also be generated for users source code if the Cosa documentation style is adapted. See the Doxyfile for configuration of doxygen.

Cosa is a project with rapid development and frequent updates. Please follow the project by updating your installation. Report bugs and propose improvements on GitHub. Use the New Issue button. Additional Blackduck based information about the project is available on Ohloh. Support this project by adding your interest to github and Ohloh.

Additional information about installing Cosa may be found on github

The easiest way to install Cosa is to use the new Arduino IDE Boards Manager. First add the URL ( to the package information to the Arduino IDE Preferences (File>Preferences:Additional Boards Manager URLs:). Second select Cosa in the Boards Manager (Tools>Board:"">Boards Manager...). This will handle both download and install of the latest Cosa release.


  1. hi, very good job.

    it seems your lib doesn't works with
    arduino-tiny board

    but works with MIT attiny board


    1. Thanks! I have only tested with David Mellis MIT attiny core. Need to look into the problem with the other core.


  2. First... Thank You for your efforts both with "Cosa" and for the other "Things" you've written.
    Have you made any progress with using the 'other' cores?, the ones that Coding Badly is currently maintaining. The other issue is the perennial one and that is a handbook to use your really nice software...
    I would like an IDE that did a better job of supporting Tinys as I really think that a modular approach (object) makes for better code and it's re-use and that the Tinys are different aspects of the 328. It's only necessary to pick one with the code size and features required for the job at hand.

    Bob (Doc)

  3. I owe you an apology... By reading carefully I managed to Stumble... into your documentation and it's installation...

    Bob (Docedison)

  4. No problem!

    Cosa does not depend on any of the other cores. I have even removed to previous dependency to the Arduino core. This gives a totally stand-alone systemet which makes Cosa easier to port etc.

    Support for Tiny and Mighty is "built-in" in the way that Cosa is written. Of cause, there are a number of example sketches that are too large for Tiny but they will compile. It is the link that will fail when the program size becomes too large.

    If you are using Windows there is an AVR GCC patch that needs to be installed too allow program larger than 4K byte. For Linux (which I use) it is not required since 1.0.5.