Elementic logo

Library

Elementic Arduino library functionality

The Elementic library side should make Arduino projects configurable rather than rigid. Its purpose is to support a project model built around generic variables, inputs, outputs and EEPROM-backed settings so the Android app can configure a project while the firmware stays structured and reusable.

Library responsibilities

Generic variable layer

The library should expose timers, thresholds, modes, calibration values and other settings as reusable variables instead of hardcoded values.

Input and output abstraction

Inputs and outputs should be treated as configurable project elements, not only as raw pin numbers. Device and pin metadata from Laravel give the firmware useful structure.

Persistent project state

EEPROM support makes it straightforward to load defaults, update settings and save them back safely so a project remembers its configuration.

Shared model

How the library and app cooperate

Laravel stores the supported devices, pin maps, controller relations and starter code. The library uses that structure on the firmware side, while the Android app uses it on the configuration side.