Pluto Plus Unbrick

Veröffentlicht in: Blog, Technik | 2

The Pluto Plus Software Defined Radio is a a popular alternative to the original Adalm Pluto Active Learning Module from ADI and is often used in amateur radio applications, especially for QO-100 satellite stations.

Pluto Plus has some advances regarding the ADI’s Adalm Pluto, but unfortunately it seems to be quite sensitive to firmware updates. After the first attempt at an update, mine stopped responding, only the green LED lit up and there was no longer any reaction on the USB either. The DFU function, which is intended for a such a case, could no be started. I noticed that a lot of OM’s seem to have the same problems, so I decided to describe my way back to a working Pluto Plus here.

After endless research on the internet and trying to revive the Pluto via the JTAG port, I got the Pluto running with different firmware versions, but there was always any error message and after a restart it was dead again. Even the Firmware on Github Repo was not working. Maybe Pluto got a new hardware version in the meantime, I dont know. Only with version 0.34-dirty I was able to permanently revive the Pluto.

The information collected here came from various sources on the internet, each one brought me a little further. I would like to thank everyone who shared their experiences and know-how in this way.

What you need:

  • XILINX Platform Cable USB II Model DLC10 (or a compatible adaptor)
  • USB/UART adaptor 3,3V
  • Vivado™ Lab Solutions Software
  • Putty Terminal Software
  • Windows PC

Vivado™ Lab Edition is a compact, and standalone product targeted for use in the lab environments. It provides for programming and logic/serial IO debug of all Vivado supported devices. Lab Edition requires no certificate or activation license key. Vivado Hardware Server enables Vivado™ Design tools to communicate with a remote target system.

https://www.xilinx.com/support/download.html (scroll down to Vivado Lab Solutions)

Preparation:

  • Install Vivado™ Lab Solutions
  • The pin headers for JTAG and the serial console must be soldered into the Pluto
  • Connect XILINX Platform Cable USB II with Pluto (3V3 – TMS – TCK – TDO – TDI – GND)
  • Connect USB/UART Adapter 3,3V with Pluto (GND – TXD – RXD)
  • Connect Pluto by USB-DATA to the PC

There are instructions that describe that you should set the jumper for DFU according to URST-MI052. I guess this is correct for normal DFU mode with a working unit. With this method, the jumper could remain on URST-MI046, and the JTAG# pin did not have to be set to GND. Maybe that there are other hardware versions where this is different. So feel free to try the other jumper setting if you get errors.

How to Unbrick:

I packed all the files required to unbrick the Pluto to version 0.34-dirty in a ZIP file. Unpack this ZIP file and copy the contents into a folder on your PC, e.g. c:/pluto+.

Download the ZIP-File

  • Now start Putty as a serial console for the USB/UART adaptor with the COM port of your adaptor and 115200 baud.
  • Start Vivado™ and open the Hardware Manager.
  • In the TCL console, change to the directory where the files from the ZIP file were stored, e.g. with “cd c:/pluto+”
  • Start the script in the TCL console with “exec xsdb run-xsdb.tc”. When the script runs, watch the serial console. Once the script has run, the Pluto should output text in the console and start the DFU mode.

If you get error messages here, perhaps set the jumper from URST-MI046 to URST-MI052. Start the script again with “exec xsdb run-xsdb.tc”, if necessary press the DFU key when booting. My Pluto didn’t always behave the same way here.

Now the Pluto should be in DFU mode and there should be an entry “USB download gadget” in the device manager of the PC.

Open a Windows console and go to our directory (e.g. cd c:/pluto+). Enter the following commands one after the other:

  • dfu-util.exe -D boot.dfu -a boot.dfu
  • dfu-util.exe -D uboot-env.dfu -a uboot-env.dfu
  • dfu-util.exe -D pluto.dfu -a firmware.dfu

You can watch the progress in the serial console. At the end, press ctrl-C and enter “boot”. The Pluto should now reboot and work again. Try to restart it by disconnect the power.

For many applications this firmware is good as is and the network port works fine. If anyone has any suggestions or further information, please write in the comments below or leave an email.

73′ de DL4GLE


2 Antworten

  1. Gerhard Härtel

    Sehr guter Artikel. Ich habe mit ähnlichen Problemen zu kämpfen. Mein Pluto+ hat sich beim Rückbooten auf eine 0.3x Firmwareversion aufgehängt (grüne LED blinkt dauerhaft schnell). Versuche nun mit micro sd card im DFU Modus zu booten. Bin noch am Überlegen, welche Dateien als Image auf die sd card dazu geschrieben werden müssen. Für Rückmeldungen stehe ich gerne zur Verfügung.
    73 Gerhard
    DB4AS

    • admin

      Hallo Gerhard, vielen Dank für den Kommentar. Blinken der grünen LED hatte ich noch nicht, aber das würde zumindest darauf hindeuten, dass die Software noch was macht. Hast du schon mal DFU über USB probiert? Es gibt wohl mindestens 2 Versionen vom Pluto Plus, eine ältere mit 1.8V am JTAG und die aktuelle mit 3.3V. Vielleicht benötigen diese Versionen auch unterschiedliche Software, das könnte der Grund sein warum die meiste Firmware die ich im Netz gefunden habe bei meinem relativ neuen Pluto (3.3V) nicht funktionieren. Ich arbeite auch mit dem originalen Adalm Pluto, da habe ich schon alle mögliche Firmware probiert und hatte nie solche Probleme. An meiner Station läuft eine Version mit DATV Unterstützung von F5OEO einwandfrei!

      Lass mich wissen wenn ich helfen kann. 73′ Günter

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert