Try the host stack
A repeatable Linux evaluation before a hardware integration.
v2.1.1 downloads
Release notes and test evidence include the source commit, compiler details, test logs and SHA256 checksums.
- Download native STM32G0 / TIOL112 IAR project ZIP: project, startup, linker, stack and pinned CMSIS sources. IAR setup and wiring guide.
- Examples and tooling ZIP: counter/button/LED and switching-sensor source, build files and IODD CLI. Switching-sensor payload, threshold, hysteresis and teach guide.
- Counter IODD ZIP and switching-sensor IODD ZIP. IODD CLI generation, inspection, validation and packaging instructions.
- MCU firmware and simulator evidence archive for STM32G0, ESP32-C3 and STM32U5.
- LabWired recipes ZIP and exact engine pins and execution commands.
The switching-sensor host example exercises measurement and validity data, threshold, hysteresis, inversion, teach through ISDU and a vendor event. The supplied IODDs use illustrative device identities; assign your product IDs before product validation.
1. Build a pinned release
Use Linux with Git, a C99 compiler, CMake 3.20 or newer, Python 3, Node.js, pkg-config and CMocka. These commands use the published v2.1.1 release, so your starting point is reproducible. The evaluation runs on your Linux machine.
git clone --branch v2.1.1 --depth 1 https://github.com/w1ne/iolinki.git
cd iolinki
cmake -S . -B build -DIOLINK_PLATFORM=LINUX -DBUILD_TESTING=ON
cmake --build build --parallel
ctest --test-dir build --output-on-failure
2. Read the result
The host build and all 36 CTest targets passed with GCC 13 on Linux
on 2 October 2026. Expect CTest to report
100% tests passed. A compiler or test failure on your
machine is a useful issue report; include the tag, operating system,
compiler version, command and full error output.
These tests exercise software protocol behavior. See the validation page for test results and reproduction commands.
3. Run the counter, button and LED example
The reference device runs on Linux with an in-process virtual master and is included in the release built above.
./build/examples/reference_device/reference_device_demo
Expect SIMULATION PASS after 100 checked cyclic frame
exchanges. The example checks counter data, LED commands and
checksums, a local application-tag readback, and a queued button
event.
Read the payload and integration guide.
4. Run the switching-sensor example
The host example publishes measurement, validity and switching state, then uses ISDU transport to teach and read back a threshold. Its parameters include hysteresis and inversion.
./build/examples/switching_sensor/switching_sensor_demo
python3 tools/iodd_cli.py inspect examples/switching_sensor/device.xml
python3 tools/iodd_cli.py validate examples/switching_sensor/device.xml
Payload and parameter guide · IODD generation and external schema validation.
5. Inspect the existing examples
-
Host demo:
build/examples/host_demo/host_demorequires a TTY path and a compatible peer, using the virtual PHY transport. Run it without arguments to print its usage. - Simple device: an application scaffold with source and example IODD files.
- Zephyr application: includes application source and a Nucleo-L476RG UART overlay.
6. Choose an integration path
Compare the exact board and IDE status before buying hardware. Build-verified projects are available for STM32G0B1RE/TIOL112, Nucleo-U575ZI-Q/Zephyr/TIOL112 and ESP32-C3-DevKitM-1/ESP-IDF/STEVAL-IOD003V1. The STM32G0 project also includes native IAR project, startup and linker files.
For a proprietary product, review commercial terms. For GPL evaluation, read the release license and consider your intended use and distribution. Source and these instructions are publicly available.
Next: Hardware & IDEs · Validation evidence