Guides·03

Hardware targets

Validated displays, CAN interfaces, and reference controller designs you can target with Protok-generated firmware.

Protok Studio generates portable C99, so in principle any target with a C99 compiler and an LVGL display driver works. In practice, a short list of displays, CAN interfaces, and reference controllers are validated and ship with ready-made OSA ports and driver templates.

Validated displays

The LVGL UI generator targets LVGL 9.6.0. Any panel LVGL supports can be driven; the entries below are the ones Protok tests against and ships hardware bundles for.

  • RGB / DPI panels — i.MX RT1170, HPMicro HPM6880 reference designs.
  • SPI / QSPI panels — common on smaller HMI modules.
  • Custom MIPI DSI panels — supported via LVGL drivers; bring your own panel config.

CAN interfaces

The runtime calls a small CAN driver (can_send / can_recv). Anything that exposes those two hooks works. Tested controllers include standard SAE J1939 CAN transceivers and the on-chip CAN peripherals of the reference MCUs above.

Reference controllers

A controller description (*.protokdev.xml) describes the I/O map of a target. The IDE consumes it and generates an I/O map so your low-code logic and signal bindings map directly to physical pins and buses.

  • NXP i.MX RT1170 — high-end HMI + control, dual-core.
  • HPMicro HPM6880 — high-performance HMI panel class.
  • Generic ARM Cortex-M / RISC-V — any target with a C99 compiler and an LVGL display driver.

1-click firmware builder (planned)

The v0.6 roadmap adds a one-click native firmware builder that compiles a flashable binary directly for the i.MX RT1170 and HPM6880 reference panels — no external toolchain wrangling.

Protocol stacks

  • CAN SAE J1939 & RAW frames — shipping, DBC-driven.
  • TRDP — TCNOpen trdp-config.xml import/export and C99 header generation; auto-generated TRDP_PUB_<comId> / TRDP_SUB_<comId> palette nodes.
  • Modbus RTU/TCP — planned for v0.4.
  • CANopen — planned for v0.4 (Object Dictionary, SDO/PDO mapping).

Licensing & output

  • Royalty-free output. Generated C99 is yours, 100% ownership, no runtime royalties.
  • Zero vendor lock-in. The output is plain C99 against LVGL and the generated pli_* runtime files.
  • Community / Professional / Team / Enterprise tiers — see Plans for details.

What's next