0
\$\begingroup\$

I want to buy either an UMFT200XD-01 or an UMFT201XB-01 from FTDI. According to the datasheet of the UMFT200XD the

"UMFT200XD is a USB to I2C breakout module"

After I searched for a difference between these two modules I came across this post Not getting any reading from FTDI UMFT201XB USB-to-I2C module

Does this mean I cannot connect one of the modules mentioned above to my Win7 PC and read data from an I²C device (e.g. TMP102)?

\$\endgroup\$
0

1 Answer 1

1
\$\begingroup\$

The datasheet of TMP102 temperature sensor mentions that

7.3.2 Serial Interface

The TMP102 device operates as a slave device only on the two-wire bus and SMBus.

This means you will need a master I2C device to read data from this sensor.

UMFT200XD-01 is based on FTDI’s FT200XD chipset and UMFT201XB-01 is based on FTDI’s FT201XQ chipset. As these chipsets have only I2C slave functionality in their internal I2C hardware unit, they won't be able to communicate with the sensor and read it's data by using their inbuilt I2C hardware.

But wait, you will still be able to communicate to the sensor if you do bit-banging (i.e. implementing I2C protocol master behavior using its GPIOs). Read the following from datasheet

Asynchronous Bit Bang Mode with RD# and WR# Strobes. The FT201X supports FTDI’s previous chip generation bit-bang mode. In bit-bang mode, the 2 I 2C lines can be switched from the regular interface mode to a 2-bit general purpose I/O port. Data packets can be sent to the device and they will be sequentially sent to the interface at a rate controlled by an internal timer (equivalent to the baud rate pre-scalar). In the FT201X device this mode has been enhanced by outputting the internal RD# and WR# strobes signals which can be used to allow external logic to be clocked by accesses to the bit-bang I/O bus.

Better approach is to look for a module like this. This is USB-I2C master only device. This device will be able to generate clock necessary for initiating the communication and thus can read your sensor data and you won't need to take the overhead of bit-banging process.

\$\endgroup\$
1
  • \$\begingroup\$ Thank you for your explanation and your alternative module. I found this module too but it has a output voltage of 5V and I'm looking for 3.3V. Apropos, the TMP102 was just an example of an I²C device - actually I want to read values from a MPU6050. \$\endgroup\$
    – JeffreyH
    Commented Dec 21, 2017 at 14:54

Not the answer you're looking for? Browse other questions tagged or ask your own question.