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:



pcb layout:


Final result:




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.

19 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?

  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. 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.

  9. 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

  10. 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.

  11. 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.

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

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

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s