Cart: 0 item(s) - £0.00
For detailed information about any product visit the Product index.

BV4222 USB to I2C and SPI

Product Condition:   New
Send to a friend

USB to I2C and SPI Terminal and Analyser


This device presents itself as a COM port and allows you to control I2C or SPI devices directly from a terminal or terminal emulator running on the PC. It comes with a complete foundation tutorial and user guide (on line) and works with 3.3V & 5V logic. This is excellent for learning about I2C or SPI. Works with EEPROMS, humidity, temperature, gas sensors, displays. The I2C will also discover addresses and so will enable you work with unknown systems.


  • Reading / writing EEPROMS **
  • Learning about I2C or SPI
  • Controlling I2C and SPI devices from a PC or RPi via USB
  • Working with an I2C or SPI device before being implemented into a system

 on line icon Resources, Data sheet, drivers etc. Includes LabVIEW resource



  1. I2C interface speed selectable
  2. Can detect all I2C addresses on the bus (find feature)
  3. LED's to indicate if I2C bus has locked up
  4. 3.3V & 5V voltage settings
  5. Two modes of operation SPI and I2C
  6. SPI has a CS line to drive SPI device
  7. SPI supports 8 to 16 bit data lengths
  8. Comes with free terminal software and user guide
  9. Inspector mode for analysing I2C bus traffic

Simple Example of Use

There are VB and Python examples in the link above but the device fundamentally works very simply with text. As an example a low cost RTC and EEPROM is connected. When a serial terminal is opened the default address of 0x42 is shown:


  • x: This returns all the addresses of the connected I2C devices, in this case the RTC is address 0xA0 and the EEPROM is 0xD0
  • Ad0: Switches to the 0xD0 device
  • s: This sends a start condition using the address 0xD0
  • 0 0: Is the EEPROM address we wish to read
  • r: Sends a restart condition, this is normally sent prior to reading
  • g-5: Is get 5 bytes
  • p: Is the stop condition

The current contents of the 5 bytes of EEPROM are listed (35,52,07,03,15) at our requested address 0 0 (Two bytes are needed because it is a 16 bit address)

Writing to the EEPROM is:

  • s: This sends a start condition using the address 0xD0
  • 0 0 1 2 3:  0 0 is the EEPROM address we wish to write to followed by the data which in this case is 1,2,3
  • p: Is the stop condition

A further read of the EEPROM at address 0 shows that it has been written to.

In any programming language this is a very easy process to implement.

Write an online review and share your thoughts with other shoppers!

Be the first to review this product