https://github.com/KivApple/dell-charger-emulator Skip to content Sign up * Why GitHub? + Features + Mobile + Actions + Codespaces + Packages + Security + Code review + Issues + Integrations + GitHub Sponsors + Customer stories * Team * Enterprise * Explore + Explore GitHub + Learn and contribute + Topics + Collections + Trending + Learning Lab + Open source guides + Connect with others + The ReadME Project + Events + Community forum + GitHub Education + GitHub Stars program * Marketplace * Pricing + Plans + Compare plans + Contact Sales + Education [ ] * # In this repository All GitHub | Jump to | * No suggested jump to results * # In this repository All GitHub | Jump to | * # In this user All GitHub | Jump to | * # In this repository All GitHub | Jump to | Sign in Sign up {{ message }} KivApple / dell-charger-emulator Public * Notifications * Fork 12 * Star 67 * Emulator of original Dell charger using ATTINY85 67 stars 12 forks Star Notifications * Code * Issues 2 * Pull requests 0 * Actions * Projects 0 * Wiki * Security * Insights More * Code * Issues * Pull requests * Actions * Projects * Wiki * Security * Insights This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository. master Switch branches/tags [ ] Branches Tags Could not load branches Nothing to show {{ refName }} default View all branches Could not load tags Nothing to show {{ refName }} default View all tags 1 branch 0 tags Code Latest commit @KivApple KivApple Update README.md ... d00072a Oct 24, 2017 Update README.md d00072a Git stats * 26 commits Files Permalink Failed to load latest commit information. Type Name Latest commit message Commit time board Add files via upload Oct 24, 2017 .gitignore Move charger data to EEPROM Sep 13, 2017 Makefile Move charger data to EEPROM Sep 13, 2017 README.md Update README.md Oct 24, 2017 crc8.c Moved data to ROM Sep 10, 2017 crc8.h First commit Sep 10, 2017 dell-charger-data-editor.py Small fix Sep 13, 2017 dell-charger-emulator.hex Enable to update EEPROM by 1wire Sep 13, 2017 eeprom-data.hex Move charger data to EEPROM Sep 13, 2017 main.c Enable to update EEPROM by 1wire Sep 13, 2017 View code dell-charger-emulator Reading and writing EEPROM README.md dell-charger-emulator Emulator of original Dell charger using ATTINY85 Power adapter for Dell laptops contains IC to determine adapter capabilities (watts, voltage, current). If you connect an unoriginal adapter, the laptop refuses to charge the battery. This project allows to use the cheap and small microcontroller ATTINY85 for emulating the answers of the original adapter to the requests of the laptop. You can configure adapter settings in the file eeprom-data.hex. This file contains EEPROM data in Intel Hex format. Format of Dell charger identification shown below: Offset Length Content Description 0 4 DELL Manufacturer identifier 4 4 00AC Adapter type 8 3 045 Watts (45W) 11 3 195 Tenths of a volt (19.5V) 14 3 023 Tenths of amps (2.3A) 17 23 CN0CDF577243865Q27F2A05 Serial number 40 2 0x3D 0x94 CRC-16/ARC (LSB first) The description may not be entirely accurate. I'll be glad if you clarify. You can use Python utility dell-charger-data-editor.py to easily change this values. You must flash the EEPROM data together with the program code. Later you can only re-write EEPROM. Warning: do not mask the weak power adapter to a more powerful one. This can lead to hardware damage. Schematic You need ATTINY25, ATTINY45 or ATTINY85 MCU (you may need to change compiler flags in Makefile) running at 8 MHz (the internal RC-oscillator is suitable, but if desired, you can use an external crystal - adjust the fuses accordingly). The Dell power adapter connector has three pins - GND, VOUT (19V) and ID. Connect the ID to the PB2 pin of the microcontroller. Also provide 3.3V power for MCU (you can use a simple linear regulator 78L33 to make the desired voltage from 19V). Reading and writing EEPROM You can read and write EEPROM using dell-charger-data-editor.py (see console menu of this utility). You need connect OneWire bus to any USB-UART adapter using simple schematic with diode: TXD --------|<|----*-------- ID | RXD ---------------- GND ------------------------ GND Warning: USB-UART adapter should use 3.3V or 5V logic levels. 12V levels will damage EEPROM IC. You can read by this utility both original EEPROM and emulated by AVR. You can write only emulated EEPROM. About Emulator of original Dell charger using ATTINY85 Resources Readme Stars 67 stars Watchers 8 watching Forks 12 forks Releases No releases published Packages 0 No packages published Languages * C 50.3% * Python 45.8% * Makefile 3.9% * (c) 2022 GitHub, Inc. * Terms * Privacy * Security * Status * Docs * Contact GitHub * Pricing * API * Training * Blog * About You can't perform that action at this time. You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.