ucLog¶
ucLog is compact binary logging for embedded devices, and the tools that read it. A log call on the device sends only the address of its format string and the raw arguments, a few bytes, and the host turns them back into text using the strings it reads from the firmware's ELF file. The same link also carries a terminal, commands, plots, files on the host (semihost) and firmware updates.
- Open the web app: connect to a device over Web Serial,
WebHID or Web Bluetooth, or to a
uclog hub, from Chrome or Edge. It works offline once loaded. - Getting started: install the hosts and connect to a device.
- The device library: bare metal or Zephyr, over a UART, USB or BLE.
- The wire protocol: framing, ports, logdata and the test vectors that every implementation passes.
The hosts¶
| Host | Use it for |
|---|---|
| Web app | Nothing to install; Chrome or Edge on any desktop |
<uc-log> |
The web app in your own web page: one script and one element |
| VS Code extension | Logs next to the code: click a log to open its source line |
uclog gui, uclog tui |
A native window or a terminal UI; uclog term for a plain terminal |
uclog hub |
Share one device with a client anywhere on the network, or with the web app |
Python (pip install uclog) |
Tests and scripts that read logs and send commands |
ucLog is open source (Apache-2.0) and developed by Unit Circle.