Ross ROSS = Recommend OSS · open-source software intelligence for agents

knurling-rs/defmt

Efficient, deferred formatting for logging on embedded systems observed · 2026-09-03

github.com/knurling-rs/defmt · homepage · Rust · Apache-2.0 (permissive) observed · 2026-09-03

Health v2 · maintenance only

93/100

  • Activity 100
  • Release rhythm 79
  • Longevity 100
How is this computed?

round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10) — computed 2026-09-03. Adoption (stars, forks) is never an input.

  • gap_med: 78.5
  • age_days: 2231
  • days_rel: 61
  • days_push: 0
  • n_releases_24m: 7

Full methodology

Adoption not part of the score

1218 stars · 132 forks observed · 2026-09-03

What it is AI-extracted, prompt v1, taxonomy v1, 2026-08-30, confidence not recorded

defmt is a highly efficient logging framework for Rust targeting resource-constrained embedded devices like microcontrollers. It uses deferred formatting and compile-time string compression so the target sends compact binary data while formatting happens on the host machine.

Use cases

  • log messages from a microcontroller with minimal flash and bandwidth overhead
  • send embedded logs over RTT, ITM, or semihosting to a host PC
  • decode and print defmt-encoded logs on the host
  • filter log levels at compile time with module-level granularity
  • run tests on-target with formatted output
  • send panic messages from firmware to a debugger

When to choose

  • you're writing Rust firmware for a microcontroller and need fast, low-overhead logging
  • your target has no display and logs must be transferred to a host machine
  • you want compile-time log filtering and compact string encoding
  • you need on-target test and panic reporting integrated with your logger

When to avoid

  • you're logging on a host platform like a web server where standard loggers suffice
  • your firmware output format isn't ELF or you can't customize linker scripts
  • you need multiple independent global logger instances
  • you're not using Rust

Facets

library · maturity active

logging serialization cli testing embedded-systems developer-tools embedded rust cli cross-platform deferred-formatting microcontrollers rtt itm semihosting panic-handler on-target-testing string-compression rust

3 sources

Member repositories

RepositoryRoleHealth v2
knurling-rs/defmtmain93

For agents

markdown · JSON · MCP: product_card(name="knurling-rs/defmt")

Data as of 2026-08-30T08:39:29.467469+00:00 · Report a problem