Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Tutorials for RIOT


For links go to

Quick Setup using a Virtual Machine (recommended for this Tutorial)

  • Install and set up git
  • Install latest VirtualBox & VirtualBox Extension Pack for your system
  • Install Vagrant
  • Linux, OSX:
    git clone --recursive
    cd Tutorials
  • Windows:
    • set
      git config --global core.autocrlf input
      before cloning
    • clone the Tutorials and the RIOT submodule as follows:
    git clone
    cd Tutorials
    git submodule update --init --recursive
  • In case a virtual machine is disseminated locally, adapt the path for the vagrant box vagrant box add RIOT/ubuntu1804 <path to box>
  • Run vagrant up and vagrant ssh afterwards. See the Vagrant RIOT Setup for a more general explanation.

Regular Setup without using a VM (recommended for RIOT developement)

  • Install and set up git

  • Install the build-essential packet (make, gcc etc.). This varies based on the operating system in use.

  • Install Native dependencies

  • Install OpenOCD

  • Install GCC Arm Embedded Toolchain

  • On OS X: install Tuntap for OS X

  • additional tweaks necessary to work with the targeted hardware (ATSAMR21)

  • Install netcat with IPv6 support (if necessary)

    sudo apt-get install netcat-openbsd
  • git clone --recursive

  • Go to the Tutorials directory: cd Tutorials



If you get the following error after running vagrant up

The guest machine entered an invalid state while waiting for it to boot. Valid states are 'starting, running'. The machine is in the 'poweroff' state.

Make sure you have the Extension Pack installed.

If you cannot flash a connected board (/dev/ttyXXXX does not exist)

Make sure your user is a member of the usergroup vboxusers. On Linux you can add the current user with

usermod -a -G vboxusers $USER.

You can check the groups of your user with


Note that you need to log out once to reload a Linux user's group assignments


This work and all its related code and documents are licensed under a Creative Commons Attribution-ShareAlike 4.0 International License