What's new in firmware V1

User-facing summary of the main new capabilities and changes in Koheron V1 firmware.
Firmware V1 documentation · V1.0-rc54-2d701ce

Koheron products currently ship with firmware V0.x by default. Firmware V1 is under active development and is not publicly available yet.

Contact us if you would like early access or want to evaluate V1 firmware on your device.

V1 is a new firmware generation, not a maintenance update to V0.x. This page summarizes the main user-visible additions and changes. Use the generated V1 command API for the complete command set of the connected controller.

New binary status protocol

V1 adds the compact binary-status protocol; V0.x has no binary-status protocol. Host software can discover the fields available on a connected product with fmtlist and the fields currently enabled with fmt%. See Binary Status for the packet format and decoding rules.

Validated saved configuration

V1 stores configuration in its own layout and validates it with a CRC before loading it. The CFG switch selects saved configuration or product defaults; an erased, invalid, or missing CRC leaves product defaults active. save returns the saved configuration CRC, and ecrc reads it later. See User Configuration.

Consistent TEC PID tuning

V1 expresses the TEC control error in °C and uses kprop, tint, and tder for tuning. The stability tolerance ttol is also in °C on supported boards. Legacy V0.x gain values do not map directly; follow TEC PID Tuning Migration when upgrading.

Runtime discovery for host software

V1 lets host software discover product-specific layouts at runtime. Use errlist for the connected product's error bits, and fmtlist for its supported binary-status fields. This avoids assuming that every controller exposes the same status or error layout.

Device sequencer

V1 includes a sequencer that executes a stored program directly on the controller, without continuous communication with the computer. Programs can read measurements, write settings, wait, branch, loop, and perform integer or floating-point operations. Control execution with sequ, inspect its state with seqstat, and read diagnostics with seqerr. See Sequencer for the programming model and examples.

Addressed UART operation

V1 can address several controllers on one UART link. Assign a board identifier with bdid and enable addressed operation with muxon. Addressed commands select one board by numeric identifier or serial number, and a broadcast can address all boards without replies. See UART Multiplexing for addressing, broadcast behavior, and recovery.

User EEPROM pages

V1 provides 64 user EEPROM pages of 32 bytes each for application data. Read pages with memr and use the documented raw-binary write operation to store a page with its CRC. This storage is separate from the saved controller configuration. See Advanced Features.

Timing profiler

The profiler command reports the calls per second and longest execution time for recent firmware tasks, plus the longest loop interval. It is intended for diagnostic measurements when examining device timing, rather than as a real-time safety indicator.

Upgrading from V0.x

For the complete upgrade procedure, see the V0.x to V1 Migration Guide. For a side-by-side compatibility summary, see Main Differences Between V0.x and V1.