Skip to content


Switch branches/tags

Latest commit


Git stats


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

Embedded Development Infrastructure - edi Documentation Status

edi is a generic tool that helps you to streamline your embedded development infrastructure. By itself edi does not do a lot but together with a project configuration (examples: edi-pi, edi-cl and edi-var) it unfolds its potential and you can build

  • artifacts like full OS images that can be directly flashed to a device,
  • artifacts that allow you to update your device over the air,
  • Linux containers that serve as a digital twin of the device and can be used for development, build automation, testing and even container based deployments and
  • nice documents about the content of your artifacts

in a reproducible manner that easily fits into a modern, automated development workflow.

edi is proven in use and OS and container images generated by edi are running on 250k+ devices all around the world! edi project configurations can easily be adjusted to individual use cases and additional hardware devices. The setup is designed in a way that it scales up to large development projects.

Instead of reinventing the wheel, edi leverages best of breed open source technologies:

  • Ansible is the tool of choice for doing the configuration management.
  • LXD allows you to run multiple OS instances on your development host. For complex target system deployments LXD is a great choice too.
  • Yaml and Jinja2 are the consistent way to write edi configuration files and Ansible playbooks.
  • Python is the language and ecosystem that makes the system integration efficient.
  • edi is supposed to be used on the Ubuntu Linux or Debian Linux distribution.
  • By default, edi generates Debian Linux based target systems.


edi is licensed under the LGPL license.


You are welcome to contribute to edi. In case of questions you can contact me by e-mail (

More Information

For more information please visit