knurling-rs/defmt
Efficient, deferred formatting for logging on embedded systems 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
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
- readme: https://github.com/knurling-rs/defmt · fetched 2026-09-03 · 00f3b68ce234
- homepage: https://defmt.ferrous-systems.com/ · fetched 2026-08-29 · 444c4b0cd79f
- registry_crates: https://crates.io/api/v1/crates/defmt · fetched 2026-08-29 · dea2e51180d7
Member repositories
| Repository | Role | Health v2 |
|---|---|---|
| knurling-rs/defmt | main | 93 |
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