Attention

This is the documentation stub to the upcoming TBD V2 release.

It is incomplete and subject to future changes.

OverviewΒΆ

TBD is a highly flexible system organised in components, that allows adding features, adapting the firmware to different hardware and use cases and contributing to the project in all kinds of ways. Depending on your interests there are different aspects of the system of interest, requiring different skill levels

Hardware Developers [basic]

Understanding an editing firmware config YAML files to configure pinouts and add/swap components matching the hardware. Adding ESPHome actions to add custom business logic and make components interact.

TODO: add link to section

Custom Frontend Developers [basic]

Writing your own arduino app for Raspberry Pi 2xxx based TBD control boards using the tbd_client library to communicate with the TBD core audio processing unit. Can be utilized to use custom front panels or custom high level applications like samplers.

Audio Enthusiast [basic]

Writing sound processing functions for custom audio plugins to add your own sound plugins. Mathematically generate output samples from plugin parameters and input audio samples.

TODO: add link to section

Module Developers [medium]

Create custom TBD and esphome components of any kind in C++ to add completely new features or add support for unsupported hardware or extend certain functionality.

TODO: add link to section

Subsystem Developers [expert]

Create componentes that provide features for other componentes, providing python helpers, utilizing the power of the build and generation system and the build stage mechanics.

TODO: add link to section

Build System Developers [advanced expert]

Add features to the build generators and reflection processors themselves (requires deeper understanding of the build system itself).

TODO: add link to section