USB to I2C converter

Last updated: November 7, 2008
Under construction

2 slightly modified versions of Till Harbaum's i2c_tiny_usb. Firmware can be found there.

Version 1


This version first used 1.3W zenerdiodes to limit the voltage on the USB lines. That did not work, probably the diode capacitance was too high. Removing the diodes solved this for an old P3 computer with an USB 1.1 interface. But it still did not work on 2 new P4 computers with USB 2.0 interfaces. Because both the ATtiny45 and the DS1621 allow a Vcc of approx. 3.6 V a pair of 1N4148 diodes was inserted in the Vcc line. This resulted in a working temperature sensor for all 3 computers.

Btw., it is not a good idea to use a closed box for a temperature sensor :-)

[i2c_tiny_usb_1.png]

Version 2

This version uses voltage clamps build with transistors to limit the voltage on the USB data lines. It can be used in a 5V environment

Version 2 with a X2404 attached.
Version 2 with a DS1621 and a X2404 attached.


[i2c_tiny_usb_2.png]

Software

This archive contains the schematics and a few small python programs for the I2C_TINY_USB. Prerequisites, beside Python itself, are libusb or libusb-win32 and optionally wxPython. Python files:

i2c_tiny_usb.pyi2c_tiny_usb python module
lsi2c.pypolls all adresses on i2c bus
ds1621.pyReads temperature from DS1621 sensor
x24xx.pyDumps content of x2404 EEPROM.
Needs more work

TODO: Upload ds1621_wx.py, a wxPython program to read DS1621 sensor.