{"id":4043,"date":"2025-06-29T22:13:24","date_gmt":"2025-06-29T21:13:24","guid":{"rendered":"https:\/\/m0aws.co.uk\/?p=4043"},"modified":"2026-02-07T00:04:24","modified_gmt":"2026-02-07T00:04:24","slug":"rescuing-a-bricked-pluto","status":"publish","type":"post","link":"https:\/\/m0aws.co.uk\/?p=4043","title":{"rendered":"Rescuing a Bricked Pluto+"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">I&#8217;ve not written an article on the blog for a while now mainly because I&#8217;ve not had anything interesting to write about.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Today that changed, as I had a fun little project to dive into.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/www.qrz.com\/db\/M0XVT\" target=\"_blank\" rel=\"noreferrer noopener\">Steve, M0XVT<\/a> sent me his <a href=\"https:\/\/github.com\/plutoplus\/plutoplus\" target=\"_blank\" rel=\"noreferrer noopener\">Pluto+ SDR<\/a> transceiver after his rather unsuccessful attempt at updating the firmware. Long story short, he somehow managed to brick the Pluto+  rendering it completely useless.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Not having a Pluto+ myself I&#8217;ve never actually played with one before and so this was new and exciting. I have, however played with Steve&#8217;s LibreSDR which is a later iteration of the Pluto+ and so, I had an idea of what I was getting into.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Firstly, how do you know when you have bricked your Pluto+? <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Fortunately the Pluto+ device is actually quite clever and will inform you when it is bricked. The first sign you will notice is that you can no longer connect to the device using a USB connection to the data socket. The second sign is that when you take the top off the case you&#8217;ll notice that the blue LED is off and the green LED is on constantly. These are both classic signs that the device is bricked and needs rescuing<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">So, how do we rescue a bricked Pluto+?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Firstly, disconnect all cables and power to the device, it needs to be in a powered down state. Next remove the top of the case completely.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Unlike the LibreSDR the Pluto+ doesn&#8217;t boot from SD card so, we have to tell it that we want to boot it from an SD card. This is done by shorting the <strong><em>3v3<\/em><\/strong> and <strong><em>SD-H<\/em><\/strong> pins together using a jumper as shown in the photo below. (Black Jumper)<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/m0aws.co.uk\/wp-content\/uploads\/2025\/06\/Pluto-Plus-SDcard-Boot-Jumper.jpeg\" target=\"_blank\" rel=\" noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"1559\" height=\"936\" src=\"https:\/\/m0aws.co.uk\/wp-content\/uploads\/2025\/06\/Pluto-Plus-SDcard-Boot-Jumper.jpeg\" alt=\"Pluto+ 3v3 and SD-H pins shorted together by black jumper\" class=\"wp-image-4047\" srcset=\"https:\/\/m0aws.co.uk\/wp-content\/uploads\/2025\/06\/Pluto-Plus-SDcard-Boot-Jumper.jpeg 1559w, https:\/\/m0aws.co.uk\/wp-content\/uploads\/2025\/06\/Pluto-Plus-SDcard-Boot-Jumper-300x180.jpeg 300w, https:\/\/m0aws.co.uk\/wp-content\/uploads\/2025\/06\/Pluto-Plus-SDcard-Boot-Jumper-768x461.jpeg 768w, https:\/\/m0aws.co.uk\/wp-content\/uploads\/2025\/06\/Pluto-Plus-SDcard-Boot-Jumper-1536x922.jpeg 1536w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/a><figcaption class=\"wp-element-caption\">Pluto+ 3v3 and SD-H pins shorted together by black jumper<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">I believe that the v1 version of the Pluto+ has 1.8v instead of 3.3v, if this is the case on your device just short the SD-H pin to the 1v8 pin instead.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Next we need to make sure that the <strong><em>URST<\/em><\/strong> pin is connected to the <strong><em>MIO46<\/em><\/strong> pin as shown by the <strong><em>green<\/em><\/strong> jumper in the image above. I put the jumper into this position as I am going to be using firmware that has ethernet support built in. If you want to load the official firmware then you will need to connect the URST pin to the MIO52 pin instead.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Next we need to load the new firmware onto an appropriate SD card. I&#8217;m using the <a href=\"https:\/\/www.qrz.com\/db\/F5OEO\" target=\"_blank\" rel=\"noreferrer noopener\">F5OEO<\/a> firmware that has ethernet support with DHCP built in. You can get the firmware from <a href=\"https:\/\/github.com\/F5OEO\/plutosdr-fw\/releases\" target=\"_blank\" rel=\"noreferrer noopener\">this Github link<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Whilst the firmware is downloading, insert your SD card into your PC and format it using a FAT32 filesystem. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Once the firmware has downloaded, unzip the file and save the contents of the zip  file to a directory. Using your favourite file manager or in the case of a Linux junkie like me, the command line, copy the contents of the <strong><em>sdimg<\/em><\/strong> folder into the root of the SD card.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Note: That&#8217;s copy of the <strong><em>contents<\/em><\/strong> of the <strong><em>sdimg<\/em><\/strong> folder, not the folder itself.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Make sure to eject your SD card safely before removing it from your PC to ensure you don&#8217;t corrupt the contents.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Insert the SD card into the Pluto+ (it&#8217;s still powered down at this point with the top off).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Plug the USB A end of the USB cable into your PC but, <strong><em>do not<\/em><\/strong> plug the micro USB end into the Pluto+ just yet!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Now this is the tricky part, you need to hold down the <strong><em>DFU Button<\/em><\/strong> on the Pluto+ PCB (It&#8217;s behind the professor image on the PCB) whilst inserting the micro-USB plug into the <strong><em>DATA<\/em><\/strong> port of the Pluto+.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Once you see that the green and blue LED lights come on permanently, let go of the <strong><em>DFU Button<\/em><\/strong> and let the Pluto+ boot from the SD card. A short while afterwards the green LED should start flashing, this means your Pluto+ is alive again and has booted from the SD card.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">At this point it&#8217;s important <strong><em>not<\/em><\/strong> to unplug the USB cable and <strong><em>not<\/em><\/strong> to remove the SD card from the device, we&#8217;re only half way there!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">After a little more time the Pluto+ will appear in your file manager as a drive called <strong><em>PlutoSDR<\/em><\/strong>, navigate to this drive using your favourite file manager.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">At the same time, open another window in your file manager and navigate to the folder where you saved the files from the Zip file. In this directory you will see the following two files:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>boot.frm\npluto.frm<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Copy these two files from the directory where you saved them into the root of the <strong><em>PlutoSDR<\/em><\/strong> drive.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Once this is complete, eject the <strong><em>PlutoSDR<\/em><\/strong> drive safely. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The green LED will now start blinking, don&#8217;t do anything, just leave everything as it is and the device will now create a new boot image on it&#8217;s own built in storage.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This process will take about 5mins so, go grab a cold beer, glass of wine or anything else that takes your fancy, sit back and relax.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Eventually the green LED will stop flashing, wait another minute or so for the process to fully complete.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If the <strong>PlutoSDR<\/strong> drive has reappeared in your file manager, safely remove the drive from your file manager and unplug the micro USB connector from the Pluto+ powering it down.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It&#8217;s now important to <strong><em>remove<\/em><\/strong> the <strong><em>3v3<\/em><\/strong> to <strong><em>SD-H<\/em><\/strong> jumper as we no longer need to boot from SD card.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You can now refit the top cover and the 4 screws and put the case back together. Connect an ethernet cable and micro USB cable to the DATA port and wait.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">After about 10-15 seconds the green LED should flash and your Pluto+ is now no longer bricked and ready for use once more.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You can SSH to your Pluto+ using the normal Linux SSH command logging in as <strong><em>root<\/em><\/strong> with a password of <strong><em>analog<\/em><\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you have PiHPSDR installed and compiled with the SOAPYSDR library and modules (See my <a href=\"https:\/\/m0aws.co.uk\/?p=3994\" target=\"_blank\" rel=\"noreferrer noopener\">article on how to do this easily<\/a>) you can now start it and connect to your Pluto+ device as normal.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1888\" height=\"976\" src=\"https:\/\/m0aws.co.uk\/wp-content\/uploads\/2025\/06\/Steves-Unbricked-Pluto-Plus.png\" alt=\"Steve's rescued Pluto+ receiving a signal from my AllStarLink node in PiHPSDR\" class=\"wp-image-4054\" srcset=\"https:\/\/m0aws.co.uk\/wp-content\/uploads\/2025\/06\/Steves-Unbricked-Pluto-Plus.png 1888w, https:\/\/m0aws.co.uk\/wp-content\/uploads\/2025\/06\/Steves-Unbricked-Pluto-Plus-300x155.png 300w, https:\/\/m0aws.co.uk\/wp-content\/uploads\/2025\/06\/Steves-Unbricked-Pluto-Plus-768x397.png 768w, https:\/\/m0aws.co.uk\/wp-content\/uploads\/2025\/06\/Steves-Unbricked-Pluto-Plus-1536x794.png 1536w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><figcaption class=\"wp-element-caption\">Steve&#8217;s rescued Pluto+ receiving a signal on the 70cm band<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">This same procedure can be used on Linux, Mac, Windows and RaspberryPi, it is not platform dependent. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you want your Pluto+ to always boot from the SD card, you can leave the <strong><em>3v3<\/em><\/strong> pin connected to the <strong><em>SD-H<\/em><\/strong> pin permanently.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">More soon &#8230;.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I&#8217;ve not written an article on the blog for a while now mainly because I&#8217;ve not had anything interesting to write about. Today that changed, as I had a fun little project to dive into. Steve, M0XVT sent me his Pluto+ SDR transceiver after his rather unsuccessful attempt at updating the firmware. Long story short, &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/m0aws.co.uk\/?p=4043\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Rescuing a Bricked Pluto+&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[332,461,287,300,277,435,4,375,428,458,38,431,135,400,460,326,443,462,354,5],"tags":[],"class_list":["post-4043","post","type-post","status-publish","format-standard","hentry","category-allstarlink","category-bricked","category-commandline","category-compile","category-firmware","category-github","category-ham-radio","category-internet","category-jumper","category-libresdr","category-linux","category-m0xvt","category-opensource","category-pihpsdr","category-pluto","category-radio","category-receiver","category-rescue","category-sdcard","category-sdr"],"_links":{"self":[{"href":"https:\/\/m0aws.co.uk\/index.php?rest_route=\/wp\/v2\/posts\/4043","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/m0aws.co.uk\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/m0aws.co.uk\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/m0aws.co.uk\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/m0aws.co.uk\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=4043"}],"version-history":[{"count":33,"href":"https:\/\/m0aws.co.uk\/index.php?rest_route=\/wp\/v2\/posts\/4043\/revisions"}],"predecessor-version":[{"id":4535,"href":"https:\/\/m0aws.co.uk\/index.php?rest_route=\/wp\/v2\/posts\/4043\/revisions\/4535"}],"wp:attachment":[{"href":"https:\/\/m0aws.co.uk\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=4043"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/m0aws.co.uk\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=4043"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/m0aws.co.uk\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=4043"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}