This repo is to maintain the firmware of Pluto+. Pluto+ is a software-defined radio platform that supports 2TX 2RX, supports Gigabit Ethernet and Micro SD card. The design inherited from the well-known ADI ADALM-PLUTO with several improvements.
[TOC]
Feature | Details |
---|---|
SOC | Zynq7zc010 with 28k LUTs |
ADC/DAC | AD9363(Can hack to AD9361 or AD9364) with 2 Transmit, 2 Receive channel |
RF Range | 70MHZ~6GHZ |
Ref Clock | VCTCXO 40MHZ 0.5ppm, with external clock input |
RAM | 512MB |
FLASH | 32MB, SD Card |
Connections | USB:2.0 support OTG |
Ethernet:1Gb | |
DC IN | 5V +-0.5V-2A microUSB |
Pluto+ has full schematics open sourced. You can find this in sch folder.
- You can download the latest firmware from here
- Unzip the files
- Put *.frm files into the storage disk named "PlutoSDR"
If you device is not responding anymore, you have to apply DFU procedure to unbrick it.
-
Download the firmware and unzip it.
-
Install dfu utility
-
Make Device enter DFU mode. There is a howto section below on the details steps.
-
Run DFU utility with the following command:
dfu-tool -a 0 -write boot.dfu dfu-tool -a 1 -write pluto.dfu
- Clone this repo
- Download the source code via 'git submodule update --init'
- Apply the diff to each subfolder
cd plutosdr-fw git apply ../patches/fw.diff cd hdl git apply ../../hdl.diff cd .. cd linux git apply ../../linux.diff cd .. cd u-boot-xlnx git apply ../../u-boot-xlnx.diff cd ..
- Build the code via 'make' in plutosdr-fw folder
In case you hit the error, please search the internet on PlutoSDR firmware build. It is identical.
There is description on PCB on the jumpers.
Please note that all IO levels are 1.8V.
- When using the official ADI-PlutoSDR firmware, please connect to URST-MI052.
- When using Pluto+ firmware and need to support Ethernet, please connect URST-MIO46
- When using SD card to boot, please connect SD-H to 1V8
- When using JTAG to debug, please connect JTAG# to GND
- Please connect EXCLK to GND when using external reference clock input
PTT drives optocouplers through GPIO0 (MI00), which requires an external relay or control circuit.
- Remove the screws and open up the device.
- Short URST with MIO52, see the Jumper images for details.
- Press DFU while power the device
You can connect a cable to input an external high-precision reference clock for AD9363 through the IPEX interface. The main level should not exceed 3.3V, and the EXCLK jumper needs to be connected to GND to turn off the built-in clock. (Check Jumper image for details)
The frequency of the 40M clock can be fine-tuned by adjusting the adjustable resistor next to the VCTCXO. You need to have a reference signal source and frequency meter when adjusting.
Connect SD-H jumper to 1V8. Check Jumper image for details. We don't have SD image yet. And we will support it later.