SMBusb is a cheap, versatile, open-source SMBus (and I2C) USB interface.
Features
Driver
Software
Hardware
Features
- Based on the Cypress FX2LP dev-board shown above (available for ~$5 shipped on eBay)
- Read/Write all standard SMBus transfer modes (byte, word, block)
- Packet Error Checking (PEC) support
- Arbitrary protocol functionality (allows for I2C or non-standard SMBus protocols)
- Device and command discovery/probing
- No extra components needed
- Open source firmware and library
- Multi-platform. (Tested on Linux and Windows)
- Firmware is compiled into the library and loaded on-demand
Driver
- No driver needed on Linux or other *NIX.
- Zadig Driver Installer can be used on Windows (WinUSB driver)
Software
- Source code and binaries: https://github.com/karosium/smbusb/releases/
- Library documentation: https://github.com/karosium/smbusb/tree/master/lib
- Build instructions: https://github.com/karosium/smbusb
Hardware
- Use the SCL/SDA/GND pins marked on the dev-board, NO external pull-up resistors necessary.
- Teardown of laptop batteries
- Hacking smart batteries
- Hacking the bq8030 with SANYO firmware
- Hacking the R2J240 with LGC firmware
- Adding the M37512 with Panasonic/IBM firmware
- The weird fuses in laptop batteries