Why This Is a Core Grant
Mining firmware controls every aspect of how a mining device operates: pool connections, power management, performance tuning, and more. The entire ecosystem currently runs on closed-source proprietary firmware, giving hardware manufacturers an additional lever of control over miners. Mujina breaks this dependency by providing a community-maintained open-source alternative.
Why It's Necessary
The proprietary firmware ecosystem creates multiple points of centralized control and censorship risk. Closed firmware can be silently updated to enforce pool restrictions, change performance profiles, or phone home with operational data. Mujina eliminates these risks by making the firmware fully auditable, forkable, and community-governed — analogous to what the Linux kernel is for operating systems.
Technical Details
Mujina is written in Rust on a Linux-based embedded OS, licensed under GPLv3. It supports Stratum V1 (with DATUM compatibility) and Stratum V2, and is designed to run on Ember One and Libre Board natively — while also providing best-effort compatibility with existing commercial hardware including Antminer, Whatsminer, and Avalon. Management interfaces include a web dashboard, HTTP REST API, CLI, and structured config files. The long-term vision is for Mujina to evolve into a complete, flashable Linux-based OS for Bitcoin mining hardware.
Key Specifications
Features & Compatibility
Protocol Support
- →Stratum V1
- →Stratum V2
- →DATUM compatibility
- →Multiple pool configs with failover
Hardware Compatibility
- →Ember One hashboard (native)
- →Libre Board (native)
- →Antminer drivers
- →Whatsminer drivers
- →Avalon drivers
Management Interfaces
- →Web dashboard
- →HTTP REST API
- →Command-line interface (CLI)
- →Structured text file configuration
- →Continuous integration framework
docs(architecture): rewrite as high-level overview
Ryan Kuester · 11d ago
chore(bm13xx): drop stale dissector TODO comments
Ryan Kuester · 12d ago
refactor(pmbus): drop dissector-only value parsers
Ryan Kuester · 12d ago
refactor(emc2101): drop dissector-only pretty-printing helpers
Ryan Kuester · 12d ago
chore: remove mujina-dissect tool
Ryan Kuester · 12d ago
docs(readme): freshen outline and update current state
Ryan Kuester · 12d ago

Ryan Kuester
@ryankuester
Lead Engineer
Firmware engineer with decades of Linux and embedded systems experience. Ryan brings deep low-level expertise to Mujina, building the open-source firmware foundation that the entire Bitcoin mining stack runs on.

Econoalchemist
@econoalchemist
Project Manager
Bitcoin educator, technical writer, and co-host of the POD256 podcast. Co-founder of the 256 Foundation and project manager across all four pillar grants.

