Dead Raspberry Pi Boards, PMICs, And New Hope

A picture of the bottom of the Pi 4 PCB, showing the three points you need to use to tap into the Pi 4 I2C bus going to the PMIC

Since the Raspberry Pi 3B+ release, the Pi boards we all know and love gained one more weakpoint – the PMIC chip, responsible for generating all the power rails a Pi needs. Specifically, the new PMIC was way more vulnerable to shorting 5V and 3.3V power rails together – something that’s trivial to do on a Raspberry Pi, and would leave you with a bricked board. Just replacing the PMIC chip, the MxL7704, wouldn’t help since the Raspberry Pi version of this chip is customized – but now, on Raspberry Pi forums, [Nefarious19] has reportedly managed to replace it and revive their Pi.

First off, you get a replacement PMIC and reflow it – and that’s where, to our knowledge, people have stopped so far. The next step proposed by [Nefarious19] is writing proper values into the I2C registers of the PMIC. For that, you’d want a currently-alive Pi – useful as both I2C controller for writing the values in, and as a source of known-good values. That said, if you go with the values that have been posted online, just having something like a Pi Pico for the I2C part ought to be enough.

[Nefarious19] reports a revived Pi, and this is way more hopeful than the “PMIC failures are unfixable” conclusion we’ve reached before. The instructions are not quite clear – someone else in the thread reports an unsuccessful attempt doing the same, and it might be that there’s a crucial step missing in making the values persist. However, such an advancement is notable, and we trust our readers to take the lead.

A week ago, [Mangy_Dog] on Hackaday Discord brought up fixing Raspberry Pi boards – given that the Raspberry Pi shortages are still an issue, digging up your broken Pi and repairing it starts making sense budget-wise. It’s no longer the ages where you could buy broken Pi boards by the hundred, and we imagine our readers have been getting creative. What are your experiences with fixing Raspberry Pi boards?

22 thoughts on “Dead Raspberry Pi Boards, PMICs, And New Hope

  1. I suspected this would be possible. Just never got the soldering down, and never could find enough information to reflash the chip settings. Bravo for [Nefarious19] for going the distance here.

  2. Nefarious19’s guide is a waste of time. OG MxL7704 has no non-volatile storage. Many people have managed to substitute MxL7704-R3 into a Pi 4 without wasting time with useless I2C “reprogramming”. They had some other issue and incorrectly thought it was config problem.

    1. actually I might try to revive it before I try mine (8G variant, ouch), if I won’t kill it (very probable) I might even return it, drop me email at my nick at gmail or I can send you the PMIC chip

  3. Well done Nefarious19 good work. I’m still a bit surprised that the PI Foundation won’t comment, make a guide or at least publish the info needed, we’ll just get some statement about “protected by NDA”…

  4. Is there any info on diagnosing an unresponsive pi 3b+? I have one that does nothing with known good power adapter and sd card. Nothing, no led activity on the board, no output to hdmi, just dead. I’m not sure what happened to it though so I’m not sure if it’s the pmic chip.

    1. I have a similar, weird issue with an Pi 3.
      Red led on, 3.3v and 5v available on the pins, but green activity led stays off.
      Even though the very same µSD card works in a know-good Pi 3 and causes its green activity led to blink.

      Unfortunately, the web has no information about our problems, or so it seems. 😔

  5. I always hated the wrong gender for the expansion port. Even so much that i exchanged it for a female version on several pi’s i’ve had. That was as stupid design choice by the foundation. Like the half pitch header on the original arduino.

    1. It allowed for attaching a ribbon cable, though.
      Maybe that was the original idea behind it.

      Because, by using a ribbon cable, you can attach the Pi to external hardware in a more professional way.

      Since the newer Pi 1 versions (v1.2 B+?), the GPIO is 40pin wide.
      Which is ideal for connecting an 1:1 40pin ribbon cable, as used by IDE/ATAPI in the old days.

      1. Male to Female 40-pin cables are pretty easy to find though.

        I could imagine there being a decent cost difference between the connector types at scale though (that’s just an informed guess though).

  6. Probably an unrelated Pi failure, I keep my RasPi on the floor together with a lot of other e-waste, usually while it’s running. I’m currently writing this comment using it.
    One day I had some video issues, then it crashed and I noticed the current draw (I have it on a lab PSU) climb drastically. Then it smelled of magic smoke. I noticed a small IC near the USB ports was getting toasty, checking the traces it only seems to power the USB ports. I removed it and the Pi booted back up with normal power consumption, but of course it was now useless (for me) as I couldn’t hook up mouse or keyboard. So I just hooked the USB power rails right to the input and that fixed it.

    1. A Pi with broken ports can still be useful for non-interactive purposes. Say, as a Pi Hole router (if ethernet port and WiFi still works) or as an MIDI module (Mt32-pi etc). Or as a webcam (by using WiFi/ethernet and the PiCam header)..

  7. I have a cm4 that got bashed and a 3 pin part was ejected from the surface never to be seen again. Sadly, with the help of a few places, we were not able to identify the missing component and rPi people wont let me know either, so it sits on a shelf collecting dust :(

  8. I didn’t understand, but maybe someone can clearify this one: In the datasheet, only the MXL7704-B is an one time programmable Chip, where the register 0x11 till 0x18 are ready for a one short programming. In the case, that all other are the same, this Version can be used for a replacement after flashing the right data into the register. All other versions of the chip like R3, P4 the register could be overwrite during runtime, but after the next poweron the default values are still there. I didn’t understand also not the command about the write error of register 0x1A. This is a status register and only one bit is writeable, which is renewed every 250ms….
    From my point of view: replacement of the chip with the right version should run without any problems. Only Version B must configured one time.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.