Skip to content
W

Wiki

Demos

Software

  • The code for the communication board can be found in /code.
  • As this code has been primarily developed for testbed testing purposes, no application board is available.

Get started

  1. Clone the code repository (including submodules): git clone --recursive https://gitlab.ethz.ch/tec/public/demos/demos-code
  2. Follow the instructions in the Flora Wiki to compile and flash the code using the STMCubeIDE.
  3. Clone the script repository to schedule tests and inspect the data: git clone https://gitlab.ethz.ch/tec/public/demos/demos-scripts

Run Tests on FlockLab 2

Software Development with STM32CubeIDE

  • The project has been created and edited using the STM32CubeIDE (itself a combination of former Atollic TrueStudio and STM32CubeMX)
    • The IDE is based on Eclipse.
    • The main config file of the IDE project is stored in the .cproject file.
    • The architecture configurations (GPIOs etc.) are stored in the *.ioc file.

Hardware

More detailed schematics and layouts are available on request.

FAQ

Where does the name 'Demos' originate?

Demos is Greek for "people" and represents the ruling body of free citizens in ancient Greek city-states. It forms the root of the word "democracy":

Democracy is the idea that the citizens of a country should take an active role in the government of their country and manage it directly or through elected representatives. In addition, it supports the idea that the people can replace their government through peaceful transfers of power rather than violent uprising or revolution. Thus, a key part of democracy is that the people have a voice. (Quote: National Geographic)

The name stresses the protocols ability to self-elect a leader and peacefully transition to a new leader in case the previous one is absent, in strong contrast to other protocols where leader failure can cause competition and missing or disputed leadership.

Publications

Software

  • ETH Zurich Library Entry
  • BibTeX:
    @misc{biri2023demos_code,
      author = {Biri, Andreas and Da Forno, Reto and Kuonen, Tobias},
      title = {Demos - Software},
      publisher = {ETH Zürich},
      year = {2023},
      doi = {10.5905/ethz-1007-675},
      url = {https://doi.org/10.5905/ethz-1007-675}
    }
  • This software builds on Flora.

Conference publications

  • Demos: Robust Orchestration for Autonomous Networking, ACM, 2023.
  • BibTeX:
    @inproceedings{biri2023demos,
      author = {Biri, Andreas and Zimmerling, Marco and Thiele, Lothar},
      title = {Demos: Robust Orchestration for Autonomous Networking},
      year = {2023},
      isbn = {},
      publisher = {Association for Computing Machinery},
      address = {New York, NY, USA},
      url = {},
      doi = {},
      booktitle = {The International Conference on Embedded Wireless Systems and Networks},
      pages = {},
      numpages = {12},
      location = {Rende, Italy},
      series = {EWSN '23}
    }
  • Conference presentation
  • ETH Research Library

Contact Information

Please contact us if you have feedback, proposals, bug reports, etc. :

Andreas Biri
PhD Student

Contributors

  • Andreas Biri: PhD student
  • Reto Da Forno: Technical staff
  • Tobias Kuonen: Master thesis HS2020

Licensing

See License file.

Third-Party Software

Component License Location in repo Contained in repo
SX126x Radio Drivers (by Semtech) BSD-3-Clause /code/Lib/radio/semtech no
STM32CubeIDE generated code Ultimate Liberty License SLA0044/SLA0048 or BSD 3-Clause /code/Drivers, /code/Startup, /code/Src, and /code/Inc partially (only files in Startup, Src and Inc)
FreeRTOS MIT license /code/Middlewares/Third_Party/ no