Getting a toolchain


Are you just starting out in embedded development?
Is this your first adventure in the world of microcontrollers?

Microcontrollers such as the one at the heart of the ioNode are not your typical Intel-based computer. They have their own architecture.
The ioNode is based on an ATMEGA1284P from Microchip. As such, you need to compile any code you write SPECIFICALLY for this target.

For this, an AVR8 toolchain is required.

The task may seem confusing at first, as many options exist. But don't worry, we got you covered :)
Here we provide a simple way to get an AVR8 toolchain set up in seconds - also, no complexity involved!

Pre-built AVR-GCC toolchain

To make things easier for all makers, we provide a pre-built avr-gcc toolchain.
This is the GNU Compiler Collection (gcc) compiler for AVR targets.
It is what most makers use to build applications for avr devices. It is also the same toolchain as provided with the Arduino IDE.

Setup the AVR8 toolchain

  1. First, download our pre-bundled toolchain here: avr8-toolchain.tgz
  2. Then, simply extract the tarball wherever you feel comfortable and add the bin directory to your PATH environment variable.
  3. That's it!

Where to install:

You can really install the toolchain wherever you want. As long as you add the 'bin' directory to your PATH environment variable, everything will work transparently.
It's a question of personal preference. Some people like to keep this kind of thing in /opt subdirectories. I like to have a ~/toolz folder in my home, where I install such utilities.

Here are some common paths for installing the toolchain:
  • /opt/avr8-toolchain
  • /usr/share/avr8-toolchain
  • ~/toolz/avr8-toolchain


The following 3 commands are all that is required to get setup (just be sure to run them in the directory where you want the toolchain installed):

# Download the Toolchain

# Extract
tar xvzf avr8-toolchain.tgz

# Add 'bin' directory to PATH (through ~/.bashrc)
echo "export PATH=`pwd`/avr8/bin:\$PATH" >> ~/.bashrc
source ~/.bashrc