Hacking a Dell power adapter — final (not really)

!!! WARNING: With this project, you power adapter will be reporting false information which may not match the original design. This may cause severe results such as file or damaging your laptop. Do it on your own risk!!!

 

As I mentioned in my previous post, there are at least two ways fixing the unidentified power adapter issue, and I chose the hard way, which is simulating how DS2502 works using a micro controller. This is all about learning one wire protocol and I did learnt a lot. I think the most important thing is timing, with a uC working at 16Mhz or 8Mhz, you need to carefully counting how many cycles your interrupt routine takes and providing the logical level in time.  And different optimization results between release vs debug configuration also needs to be taken into account.

Anyway, I sort of finished the project with something left not fully implemented. Here is the source code and pcb design. I also made the PCB by hand using toner-transfer method. It’s a great chance to learn the whole process from coding, PCB design, and PCB making…

Here are some pictures:

schematic:

Image

pcb layout:

Image

Final result:

Image

Image

Image

To proof it’s working, I successfully faked my 90W adater to 65W:

WP_20140225_012 WP_20140225_013

I was trying to make it display some weird wattage numbers but found dell may have some white-list and so far any wattage not 90W or 65W will not be recognized.

There are still unfinished things including importing the data from a working power adapter, storing multiple data and switching between them. I have all the hardware components ready but don’t have time finishing the software part yet, which should be pretty straight forward, except my limited RAM (128 bytes) and flash spaces (4KB).

Anyway, a good opportunity to learn one wire protocol with this project. The PCB design and code can be found at https://github.com/HclX/DELL_POWER_SPOOFER.git

 

This entry was posted in MSP430 and tagged , , . Bookmark the permalink.

33 Responses to Hacking a Dell power adapter — final (not really)

  1. Pingback: Hacking Dell Laptop Charger Identification

  2. Sebastian Salzgeber says:

    Very ambitious and a good read. Thank you.

  3. adlerweb says:

    Great work – this “DRM” caused me a lot of headace in a “i need a 12V-PSU and got 5 Minutes until i run out of battery”-situation -.-

    Dell has not only 65W and 90W – i got at least 2 larger versions @work. Afair they should be 180W and 240W. Maybe also a 120W but i’m not sure if its genuine.

  4. says:

    I have a 130W (19.5V * 6.7A) PSU that came with my DELL notebook, so those should definitely be supported.

  5. The most common issue with Dell that will make me never buy a dell again, is the fact that this pin connects to the charger with very thin wire, it’s fragile nature makes it the most common issue, it will just worn by time and get disconnected making the original charger unusable ( only for powering the laptop, not charging it )…

    So I thought It might be better if we just remove this logic from the charger it self ( the chip, transistor & diode ) and making everything in a small external board so we get it fixed and also be able to even use third party chargers… I tried it once but I failed in the first try and burned the chip, and now I have two Dell original chargers one with burned chip and the other with loose wire and I’m thinking about redoing it again !!

    • xcvista says:

      This is exactly how Apple have done it in their MagSafe for MacBook Pro and MacBook Air – granted Apple used another chip (1-Wire GPIO expander instead of that EPROM) and stored all the wattage information in the 64-bit chip ID, but that is exactly the same spirit, and the GPIO expanding is for driving the green/amber status LED.

      Xuan you can actually expand your idea into allowing spoofing Apple’s adapters as well, which seems trivial to me, and maybe some other brands, so more people can benefit from this.

    • Ah ha! Maybe the problem that I have with my Dell laptop charger is simply a broken wire from the chip to the plug. I wonder where is the most common breakage point?

      • spencer says:

        hello Andrew.. it breaks off.. right near to the plug..

        best to do is open the power supply carefully.. taken lots of photos .. of where the chip is .. Iits most likely a TO 92 type package .. with a number of like 2550 or 2500 in it..!

        then you open the laptop (get a manual or video from internet).. and solder the chip carefully onto the motherboard inside the laptop.!!
        you then won’t have any more trouble .. cause the chip is right now.. on the PCB .. where it counts..
        you then don’t have to worry anymore..!!
        if you want to make your own chip .. just learn simple Arduino coding.. and learn one-wire stuff and get a model of how to read and program the 2550 chip with arduino .!!
        okay Andrew .. good show.!!
        regards Spencer

  6. Jean Thomas says:

    Can I use a MSP430G2451 instead of the MSP430G2121 ?

  7. Qatan says:

    Hello Xuan, do you sell it? I want one of these adaptors you made…
    Would you make one and ship it to me? I pay for it!
    This is exactly what I was looking for!

    • hclxing says:

      I’m sorry I did this for fun and the only made one. It’s still far away from normal use. If all you need is a power adapter, it may be easier buying one from ebay.

  8. Qatan says:

    Please contact me… I really need one of those!

  9. Brant says:

    The 240W dell adapters cost like 70$ Even the 180W ones cost 50$ now. I can buy a 230W non Dell adapter for like 15 shipped. One of these things would be great…I just don’t know how to do all this etching and chip programming stuff. Very smart project. It’s good just to say you did it…But now if you could make them and sell on ebay you can make a lot of money.

  10. ElevenOf9 says:

    Hi, great work and thanks for the clear write-up. I was wondering whether you got any further with reading the data from a working PSU. I’m working on a project where i need to read the Dell serial number from several PSUs. If I remove the DS2501 chip and read it directly I can get the data without any problems, but whenever I try to read it from the PSU itself it doesn’t return any data. I was wondering whether you had any tips, does it require a voltage other than 5v to communicate etc?

    • hclxing says:

      No, it doesn’t require anything other than the common ground. I suspect the signal line is broken (which happens pretty often) some where.

      • Cardac says:

        hello there buddy.. good show for what you did.. I really would just like a simple program.. like maybe Pr1Wire.exe and his two dll files.. so that I can write a DS2502 chippy.!! I would solder it inside the motherboard of the Dell.. (I have a XPS M1710).. the power supply connector had a short.. and blew my 2502 chip..
        Please man… could you help me.. with some sort of proggy to help me out..
        I can build simple hardware on breadboards.. and would real appreciate some sort of aid..
        Regards Cardac

  11. I enjoyed reading your hardware hack. Another idea to maybe explore is a software hack of the computer BIOS. It could go something like this: download the latest BIOS update. Decompile the code to C or assembly language. Hack the code where it checks the charger data, Recompile the code and update the BIOS. But of course it can be difficult to figure our what low level code is doing.

  12. Did the post here get deleted? If so, you should say so. All I see are comments. Software bios hack is the way to go. Worst is not able to charge battery which kills it sitting dead while you try various adapters.

  13. https://github.com/seky2205/Hacking-dell-charger
    Code for ATMEL microcontrolers. I have used ATMEGA328P-PU.

    • DUSTAN WEBB says:

      Hello, I was wondering if you had a schematic for your arduino version. I tried his msp430 version but I fried my chip. Also my signal wire from the computer is putting out 19 volts back to the mcu…. it seems to toggle from 3.3v to 19v is this normal? Im pretty sure thats why my msp430 was fried. His schematic for the msp430 doesnt exactly make sense to me. Theres a jumper that seem to just short out the regulator….any how was hoping to try your version because this is my 4th charger I’ve had become “unrecognized” and I need a new solution. Thanks

  14. Andrew Cleveland says:

    I am trying to use the adapter to power a different device. So I purchase this https://www.parts-people.com/index.php?action=item&id=19991 then removed the jst connector. I made no connection to the signal cables and I am reading 15v until I try to pull any current, then I get major voltage drop, do you know if the signal cable needs a connection or do I have something else wrong here? Thanks for any input

  15. Jipi Elfrik says:

    Hi I would like to do this project, but I have very little idea of what I read,
    I have programmed pic, atmel, I have parallel port for programming,
      But I do not know what programs to use with this, I do not even know if I have to compile the source and how,
    What I want is to convert a generic 90w charger into a genuine dell pa-10 for my docking station,
    I have not tried dell compatible chinese chargers,
    I do not know if this is implemented, if this falls into bad hands, it would be a tragedy
    I’m a follower now
    https://github.com/HclX sonor0
      Thank you

  16. Björn Persson says:

    Would this also work “The other way around”? I am not sure what the issue is, but i have a number of Dell charger adapters i am not using, and i wanted to use these as power supplies for other stuff, like a small cheap CC/CV variable power supply i use for my projects.
    I made a simple adapter, but when i plug it into anything but a Dell laptop, it seems it will not supply any power, so the “DRM” is – as it appears to me -is not only from the laptop to check that the power supply is genuine, but the power supply also seem to check that it is connected to a Dell laptop, which renders them useless for anything but.

  17. Chris Rogers says:

    Hi Xuan, I came across your page because I am looking for a way to spoof a lot of dell laptops into charging off a variable power supply rather than having to use the power bricks (save clutter) for imaging multiple units. I am ordering the parts you used for a proof of concept and i was wondering what device and program you used to program the chip, and how you programmed the chip (where the programmer was connected)?

  18. xiaolaba says:

    剛好參考到, 有幫助

  19. Pingback: HP Dell Notebook power adaptor, ID pin, Smart pin – xiaolabaDIY

  20. Pingback: Things I didn’t need to know but do now entry 548617 | The Grumpy Engineer

  21. mike fratus says:

    I used Hrvoje’s Android code at https://github.com/seky2205/Hacking-dell-charger on a Nano, using pin 10 as the output to the center pin, and it works! Thanks to all!

  22. WD says:

    Dell backup wattage detection?

    Dell also provides another way to check adapter wattage. I can’t figure out how yet but my assumptin is resistance as a backup. I have an adapter tip from a universal laptop power supply and I’ve chopped off the end so I can connect it to my battery bank to power laptops. Well, the Dell tip reports it’s wattage as 130 watts even after I have chopped the cable off the universal supply. The Dell tip only has 2 pins… I use this to power my 2018 Dell G7 from my programable power bank. I also use a barrel female to attach other 18-20 volt laptop adapters to my dell as well. I wonder how we can explain that

  23. Pedro de Sousa says:

    Thank you very much for all the information.

    We have 1000 mobile cases with internal batteries (12V output) and unfortunately without planning and testing we have ordered 800 DELL E5310 laptops (DC and USB-C power connector) to replace the existing damaged “no name” laptops in these cases.

    I already test a Power Booster from 12V -> 19V (5A 95Watt) with a DC connector to connect the Laptop to the 12V battery.

    The DELL Laptop indicates an external power source (for a clean Boor I disable the BIOS message for unknown external power sources), but the laptop doesn’t charge the internal battery

    I know that the internal Pin in the DC connector on the Laptop receive data from a EEPROM in the DELL power chargers that indicates a DELL power charger and also data about Watt…

    Is there a allready done “connector” with cables and that ID Chip (power charger 90W), that I can buy ?

    I found some in Ebay and also in AliExpress, but we need 800 and we need also to avoid lot of soldering work or other to create this 800 chargers…

    Thanks for all you help in advance

    Pedro

Leave a comment