Tutorials for RIOT

Preparations

For links go to https://github.com/RIOT-OS/Tutorials

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 https://github.com/RIOT-OS/Tutorials
    cd Tutorials
  • Windows:
    • set
      git config --global core.autocrlf input
      before cloning
    • clone the Tutorials and the RIOT submodule as follows:
    git clone https://github.com/RIOT-OS/Tutorials
    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/ubuntu1604 <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 https://github.com/RIOT-OS/Tutorials

  • Go to the Tutorials directory: cd Tutorials

Tasks

Troubleshooting

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

groups.

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

License

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