HUDS
High-Ultrafast Diagnostic Stack
Industry-compatible automotive diagnostic framework for ECU communication.
Where milliseconds matter and compliance is guaranteed.
// FEATURES
Industrial-Grade Diagnostics
Everything you need for ECU communication, firmware updates, and real-time diagnostics.
v0.1.0-alpha — Core features functional, full coverage in progressUltra-Low Latency
P95 response time under 150µs. Zero-copy architecture with SPSC lock-free ring buffers.
Memory Safe
Built in Rust with strict ownership model. No buffer overflows, no data races, no crashes.
ISO-TP Protocol
Full ISO 15765-2 implementation. Multi-frame segmentation and reassembly for large payloads.
UDS Services
Complete Unified Diagnostic Services implementation: session control, security, data transfer, DTCs.
Telemetry Built-in
Metrics, tracing, and structured logging. Monitor performance in real-time with the Debugger UI.
QoS Priority Queue
Four priority levels (CRIT/HIGH/NORM/LOW) with watermark-based backpressure management.
UDS Services Implemented
// ARCHITECTURE
19 Modular Crates
Clean separation of concerns. Each crate has a single responsibility.
SDK & Tools
Protocol
Transport
Core
Bindings
cargo build --release → Single optimized binary with LTO
Real Hardware Benchmarks
| Hardware | Time | Throughput | Latency/Block |
|---|---|---|---|
| vcan0 (Virtual) | ~1.4 min | ~60 KB/s | 108 µs |
| USB-CAN (Innomaker) | ~25 min | 3.5 KB/s | 1,980 µs |
| USB-CAN (PEAK) | ~20 min | 4.5 KB/s | 600-700 µs |
| PCI-CAN (PEAK) | ~3-4 min | ~28 KB/s | ~250 µs |
// DEBUGGER UI
Visual Diagnostics
Tauri + Vue-based dashboard for real-time monitoring and AI-powered analysis.
Live Trace
Real-time CAN frame monitoring with auto-scroll
AI Diagnostics
ML-based anomaly detection and recommendations
Bus Load
Saturation heatmap with percentage indicators
ASC Replay
Import and replay .asc trace files
Frame Inspector
Detailed breakdown of each CAN frame
JSON Export
Export traces for external analysis
Built with Tauri + Vue.js + TypeScript — Native performance, web technologies
// LANGUAGE BINDINGS
One Core, Many Languages
Native Rust core with planned bindings for your language of choice. API examples below are preliminary — subject to change.
Rust
alphaNative SDK with full type safety
use huds::client::UdsClient;
use huds::session::DiagnosticSession;
let client = UdsClient::new("vcan0")?;
client.set_session(DiagnosticSession::Programming)?;
// Request download and transfer firmware
client.request_download(0x40000000, firmware.len())?;
client.transfer_data(&firmware)?;
client.request_transfer_exit()?; C / C++
in developmentFFI bindings with RAII wrappers (planned)
#include <huds/uds.h>
huds_client_t* client = huds_client_new("vcan0");
huds_set_session(client, HUDS_SESSION_PROGRAMMING);
huds_request_download(client, 0x40000000, size);
huds_transfer_data(client, firmware, size);
huds_request_transfer_exit(client);
huds_client_free(client); Python
in developmentPyO3-based bindings with maturin (planned)
from huds import UdsClient, DiagnosticSession
client = UdsClient("vcan0")
client.set_session(DiagnosticSession.PROGRAMMING)
# Flash firmware
client.request_download(0x40000000, len(firmware))
client.transfer_data(firmware)
client.request_transfer_exit() Coming Soon
// STATUS
Open Source & In Development
HUDS is currently in alpha. Free to use, hack, and contribute.
Community Edition
Open source — MIT / Apache 2.0
✓ Implemented
- ✓ UDS core protocol
- ✓ ISO-TP transport
- ✓ vCAN support
- ✓ Basic CLI
- ✓ Debugger UI (Tauri)
⚡ In Development
- ○ Python bindings
- ○ C/C++ bindings
- ○ Hardware CAN adapters
- ○ Full service coverage
- ○ Documentation
💡 Commercial licensing may be available in the future once the project matures.
Interested in sponsoring development or early access? Let's talk.
// CONTACT
Get in Touch
Questions about licensing, integrations, or custom development? We're here to help.
Prefer email? Reach us at contact@huds.io