libiota 1.0.0 beta release, version 8
Release notes for libiota 1.0.0-beta-8.

Change-Id: I683fc41a0dc813f53361b1835a1a90fd7e4af0a6
Reviewed-by: Robert Ginda <>
1 file changed
tree: 8ad4c23b0a2a5345ea34ad2554341a2d31f0be28
  1. .clang-format
  2. .gitignore
  5. Dockerfile
  7. Makefile
  10. autotest/
  11. build/
  12. docs/
  13. examples/
  14. include/
  15. integration_tests/
  17. platform/
  18. src/
  19. templates/
  20. test/
  21. third_party/
  22. tools/

Iota Library

Weave is an open standard for secure device setup and message passing which is described in detail on the Google Weave homepage.

Iota is an implementation of the Weave protocol intended for use on microcontroller scale devices. The Iota codebase is open source and distributed under Apache 2.0 license available in the LICENSE file.

The Iota effort is relatively new. The repository you see here is still in the early stages of development and not yet suitable for production use. If that doesn't scare you away, the Getting Started guide can help you figure out how to build and use the Iota library.

Iota requires access to the Weave server as well as few tools that are only open to Weave early access partners. If you don’t have access to and would like access, please contact your Google business representative or fill out the Request an Invite form and mention Iota in the Please provide a brief description of the device(s) you plan to build (or provide a link) question - it can take a few weeks to get access.

Source Layout


The platform/ directory contains platform specific code. Under here you'll find directories for SoC makers and a special host device which can be used to run Iota on a Linux-based machine (including embedded Linux devices such as the Raspberry Pi, BeagleBone, etc.).

Platform specific examples exist in the examples/ directory within directories corresponding to the platform type.


The docs/ directory contains Iota documentation. Start with the Getting Started guide to get going.


The include/iota/ directory contains the public Iota headers.


The include/iota/provider/ directory contains the definition of the Iota HAL. Iota clients must provide an implementation for each function defined in this directory.


The examples/ directory contains a number of examples organized by platform type. The examples/host/light/ directory is a good starting point for understanding how to using Iota in your application. The light example runs natively on supported Linux devices (such as a Raspberry Pi). Additional information is available in the Getting Started guide.


The src/ directory contains the source files for the Iota library. Third party applications should not directly depend on header or implementation files under this directory.


The third_party/ directory contains external dependencies that we'd rather not download at build time.


The integration_tests/ directory contains integration tests for the Linux host and various boards with the Weave server. The source for the binaries to run on the host or board are contained here. To run the integration tests via ‘make integration_tests’, these additional dependencies required by autotest must be installed: python-numpy


The autotest/ directory contains Autotest integration tests and Iota-specific Autotest utilities. This includes the test scripts and used to exercise the Weave server and an Iota device during an integration test.


See the repository style guide.