{"id":20415441,"url":"https://github.com/riot-os/tutorials","last_synced_at":"2025-04-05T09:04:45.791Z","repository":{"id":9826651,"uuid":"63262167","full_name":"RIOT-OS/Tutorials","owner":"RIOT-OS","description":null,"archived":false,"fork":false,"pushed_at":"2025-03-12T17:48:35.000Z","size":2445,"stargazers_count":95,"open_issues_count":8,"forks_count":88,"subscribers_count":41,"default_branch":"master","last_synced_at":"2025-03-29T08:03:03.386Z","etag":null,"topics":["riot-os","tutorial"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RIOT-OS.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-07-13T16:27:23.000Z","updated_at":"2025-03-26T05:28:58.000Z","dependencies_parsed_at":"2024-12-19T18:18:13.309Z","dependency_job_id":"3b5d13ce-f994-42fd-85ba-c8f27250aa9d","html_url":"https://github.com/RIOT-OS/Tutorials","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RIOT-OS%2FTutorials","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RIOT-OS%2FTutorials/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RIOT-OS%2FTutorials/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RIOT-OS%2FTutorials/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RIOT-OS","download_url":"https://codeload.github.com/RIOT-OS/Tutorials/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247312068,"owners_count":20918344,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["riot-os","tutorial"],"created_at":"2024-11-15T06:16:08.633Z","updated_at":"2025-04-05T09:04:45.726Z","avatar_url":"https://github.com/RIOT-OS.png","language":"C","readme":"# Tutorials for RIOT\n\n## Preparations\n\nFor links go to [https://github.com/RIOT-OS/Tutorials](https://github.com/RIOT-OS/Tutorials)\n\n**Quick Setup using a Virtual Machine (recommended for this Tutorial)**\n\n* Install and set up [git](https://help.github.com/articles/set-up-git/)\n* Install latest [VirtualBox](https://www.virtualbox.org/wiki/Downloads) \u0026 [VirtualBox Extension Pack](https://www.virtualbox.org/wiki/Downloads) for **your system**\n* Install [Vagrant](https://www.vagrantup.com/downloads.html)\n* Linux, OSX:\n    ```Shell\n    git clone --recursive https://github.com/RIOT-OS/Tutorials\n    cd Tutorials\n    ```\n* Windows:\n    * set\n      ```Shell\n      git config --global core.autocrlf input\n      ```\n      before cloning\n    * clone the `Tutorials` and the `RIOT` submodule as follows:\n    ```Shell\n    git clone https://github.com/RIOT-OS/Tutorials\n    cd Tutorials\n    git submodule update --init --recursive\n    ```\n* In case a virtual machine is disseminated locally, adapt the path for the vagrant box `vagrant box add RIOT/ubuntu1804 \u003cpath to box\u003e`\n* Run `vagrant up` and `vagrant ssh` afterwards. See the [Vagrant RIOT Setup](https://github.com/RIOT-OS/RIOT/blob/master/dist/tools/vagrant/README.md) for a more general explanation.\n\n**Regular Setup without using a VM (recommended for RIOT developement)**\n\n* Install and set up [git](https://help.github.com/articles/set-up-git/)\n* Install the build-essential packet (make, gcc etc.). This varies based on the operating system in use.\n* Install [Native dependencies](https://github.com/RIOT-OS/RIOT/wiki/Family:-native#dependencies)\n* Install [OpenOCD](https://github.com/RIOT-OS/RIOT/wiki/OpenOCD)\n* Install [GCC Arm Embedded Toolchain](https://launchpad.net/gcc-arm-embedded)\n* On OS X: install [Tuntap for OS X](http://tuntaposx.sourceforge.net/)\n* [additional tweaks](https://github.com/RIOT-OS/RIOT/wiki/Board:-Samr21-xpro) necessary to work with the targeted hardware (ATSAMR21)\n* Install `netcat` with IPv6 support (if necessary)\n\n  ```bash\n  sudo apt-get install netcat-openbsd\n  ```\n\n* `git clone --recursive https://github.com/RIOT-OS/Tutorials`\n* Go to the Tutorials directory: `cd Tutorials`\n\n## Tasks\n* [Task 1: Starting the RIOT](task-01/)\n* [Task 2: Custom shell handlers](task-02/)\n* [Task 3: Multithreading](task-03/)\n* [Task 4: Timers](task-04/)\n* [Task 5: Using network devices](task-05/)\n* [Task 6: Sending and receiving UDP packets](task-06/)\n* [Task 7: The GNRC network stack](task-07/)\n* [Task 8: CCN-Lite on RIOT](task-08/)\n* [Task 9: RIOT and RPL](task-09/)\n\n## Troubleshooting\n\n### If you get the following error after running `vagrant up`\n\n\u003e 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.\n\nMake sure you have the [Extension Pack](https://www.virtualbox.org/wiki/Downloads) installed.\n\n### If you cannot flash a connected board (`/dev/ttyXXXX` does not exist)\n\nMake sure your user is a member of the usergroup `vboxusers`. On Linux you can add the current user with\n\n`usermod -a -G vboxusers $USER`.\n\nYou can check the groups of your user with\n\n`groups`.\n\nNote that you need to log out once to reload a Linux user's group assignments\n\n## License\nThis work and all its related code and documents are licensed under a\n[Creative Commons Attribution-ShareAlike 4.0 International License](http://creativecommons.org/licenses/by-sa/4.0/)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Friot-os%2Ftutorials","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Friot-os%2Ftutorials","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Friot-os%2Ftutorials/lists"}