-
Universal firmware builder designed to unlock the full potential of your PlutoSDR/clone.
-
Built entirely for the SDR enthusiast community—bringing new features, wider frequency ranges, and massive performance boosts to your existing device.
-
Quick addition of new board (already 10 boards supported)
- Frequency Extension: Expanded tuning range from 47.5 MHz to 6 GHz.
- Seamless Input Switching: Easily switch between RX1/RX2 and TX1/TX2.
- Extended Bandwidth: Complex 8-bit mode unlocks stable streaming up to 14 MHz over USB and 45 MHz over GbE network.
- Risk-Free Booting: Built-in SD Card boot support for effortless updates with zero risk of bricking your flash memory.
- Integrated Apps: Includes Maia-SDR transparently, fast sweep, and MQTT status publishing and more.
This firmware is developed entirely in my free time. Maintaining multiple boards, buying hardware for testing, and adding features takes significant time and resources. If tezuka supercharges your SDR experience, please consider supporting the project!
No funds? You can still support by starring the repository or helping improve the documentation!
CRITICAL: DO NOT use the standard frm flashing method. To prevent bricking, always boot via SD card mode unless you know what you are doing.
- Go to the Releases Section.
- Download and unzip the specific package matching your hardware configuration.
- Format a fresh SD Card to FAT32.
- Copy the entire contents of the
sdimgfolder onto the root of the SD Card. - Insert into your board and power on.
Only for original PlutoSDR (No SD Slot): Follow the official ADI flashing procedure using the pluto.frm file.
Once booted, the firmware exposes a USB drive containing config.txt. Modify this file to tweak your settings (based on standard ADI customization parameters).
Enjoy extra features out-of-the-box with custom-tailored software branches:
- SatDump
- SDR++
- SoapyPlutoPAPR (Standard apps like SDRConsole and SDRAngel are also compatible).
# Install mandatory dependencies
sudo apt install pkg-config libssl-dev libclang-dev jq
# Clone the repository & pull Buildroot
git clone [https://github.com/F5OEO/tezuka_fw](https://github.com/F5OEO/tezuka_fw)
cd tezuka_fw
./getbuildroot.sh
# Build a single board (each board gets its own output directory):
./build.sh fishball
# Build multiple boards:
./build.sh pluto plutoplus fishball
# Build all boards:
./build.sh all
# Build with parallel jobs and clean output first:
./build.sh -j8 -c fishballOr build manually using Buildroot directly:
source sourceme.first
cd buildroot
make pluto_maiasdr_defconfig && makeFor a list all supported boards run:
./build.sh -hBuildroot does not allow whitespaces in the PATH environment variable. On WSL several paths with whitespaces are added. The following script can be used to remove any path with whitespaces. It also deletes any leftover ':' at the end:
export PATH=$(echo $PATH | tr ':' '\n' | grep -v ' ' | tr '\n' ':' | sed 's/:$//')If you encounter errors related to CMAKE policy version, it's because newer versions of CMAKE (3.27+) have stricter policy requirements. Setting CMAKE_POLICY_VERSION_MINIMUM=3.5 tells CMAKE to use policies from version 3.5 or newer, which helps maintain compatibility with older build scripts and dependencies that may not be fully compatible with the latest CMAKE policies. This is particularly important when building packages that haven't been updated to support newer CMAKE versions.
Run the build with:
CMAKE_POLICY_VERSION_MINIMUM=3.5 makeAll materials are in buildroot/output/images
- Daniel Estévez for incredible maia-sdr project (https://maia-sdr.org/)
- Gwenhael Goavec-Merou for inspiration https://github.com/oscimp/PlutoSDR
- LamaBleu for helping me with buildroot and introduce me Plutosdr
- https://github.com/hz12opensource/libresdr for overclock and fpga inspiration
- All the opensource community !