<?xml-stylesheet type="text/xsl" href="https://community.element14.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>USB-to-I2C with a Pi Pico: Building an Easy I2C Adapter for PC control of I2C Devices</title><link>/products/raspberry-pi/raspberrypi_projects/b/blog/posts/usb-to-i2c-with-a-pi-pico-building-an-easy-i2c-adapter-for-pc-control-of-i2c-devices</link><description>Table of Contents

 Introduction 
 Building It 
 Using it from a Terminal (Console) 
 Using it from Python 
 Using Multiple Adapters 
 Known Devices Database 
 Summary 


Introduction
This simple project converts a Pi Pico into a USB-to-I2C adapter! It</description><dc:language>en-US</dc:language><generator>Telligent Community 12</generator><item><title>RE: USB-to-I2C with a Pi Pico: Building an Easy I2C Adapter for PC control of I2C Devices</title><link>https://community.element14.com/products/raspberry-pi/raspberrypi_projects/b/blog/posts/usb-to-i2c-with-a-pi-pico-building-an-easy-i2c-adapter-for-pc-control-of-i2c-devices</link><pubDate>Sun, 02 Feb 2025 15:00:57 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:ddf4ebbb-3b33-4b43-972f-2a186c80e5eb</guid><dc:creator>shabaz</dc:creator><slash:comments>1</slash:comments><description>&lt;p&gt;New functionality added to the Python interface (and the blog content is updated). See the section titled &amp;quot;Known Devices Database&amp;quot;.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;It basically allows a lookup of any I2C address against a known list of about 700 IC part names.&lt;/p&gt;
&lt;p&gt;A reverse-lookup on sub-strings is also possible, i.e. if you know the part name but not the I2C address.&lt;/p&gt;&lt;img src="https://community.element14.com/aggbug?PostID=28282&amp;AppID=84&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item><item><title>RE: USB-to-I2C with a Pi Pico: Building an Easy I2C Adapter for PC control of I2C Devices</title><link>https://community.element14.com/products/raspberry-pi/raspberrypi_projects/b/blog/posts/usb-to-i2c-with-a-pi-pico-building-an-easy-i2c-adapter-for-pc-control-of-i2c-devices</link><pubDate>Tue, 28 Jan 2025 20:08:35 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:ddf4ebbb-3b33-4b43-972f-2a186c80e5eb</guid><dc:creator>an79881</dc:creator><slash:comments>1</slash:comments><description>&lt;p&gt;One hint: as the easyadapter.py supersedes the easy_interface.py your description may be updated for using print_data:&lt;/p&gt;
&lt;p&gt;&lt;em&gt;from easy_interface import print_data&lt;/em&gt;&lt;br /&gt;&lt;em&gt;print_data(buffer)&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;You don&amp;#39;t need this. Instead of print_data(buffer) use &lt;strong&gt;adapter&lt;/strong&gt;.print_data(buffer)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;&lt;img src="https://community.element14.com/aggbug?PostID=28282&amp;AppID=84&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item><item><title>RE: USB-to-I2C with a Pi Pico: Building an Easy I2C Adapter for PC control of I2C Devices</title><link>https://community.element14.com/products/raspberry-pi/raspberrypi_projects/b/blog/posts/usb-to-i2c-with-a-pi-pico-building-an-easy-i2c-adapter-for-pc-control-of-i2c-devices</link><pubDate>Sun, 26 Jan 2025 13:55:18 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:ddf4ebbb-3b33-4b43-972f-2a186c80e5eb</guid><dc:creator>an79881</dc:creator><slash:comments>1</slash:comments><description>&lt;p&gt;IVe seen your project and shortly tested with terminal and also python. Thanks for sharing. It would be helpful to get a full command reference for python. Furthermore, which I2C speed is used actually ? I guess 100kHz. Is there a way to configure I2C speed e.g. 100kHz and 400kHz? As far as I know the Pico supports two (2) I2C interfaces. Is it possible to use with easyadapter in Python? Thanks in advance for your feedback.&lt;/p&gt;&lt;img src="https://community.element14.com/aggbug?PostID=28282&amp;AppID=84&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item><item><title>RE: USB-to-I2C with a Pi Pico: Building an Easy I2C Adapter for PC control of I2C Devices</title><link>https://community.element14.com/products/raspberry-pi/raspberrypi_projects/b/blog/posts/usb-to-i2c-with-a-pi-pico-building-an-easy-i2c-adapter-for-pc-control-of-i2c-devices</link><pubDate>Sun, 10 Nov 2024 07:31:45 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:ddf4ebbb-3b33-4b43-972f-2a186c80e5eb</guid><dc:creator>shabaz</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Project updated!&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Now it is possible to use up to eight Pi Pico boards simultaneously, i.e. eight completely independent I2C buses. Each&amp;nbsp;board can be given a different identifier, by shorting particular GPIO pins to ground.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;In the Python code, it&amp;#39;s now possible to independently control all eight boards using those identifier values. The information is in the blog post.&lt;/p&gt;
&lt;p&gt;Also, I added a couple of new commands, which can be used to control any unused GPIO pin for general input/output. For instance, you could use GPIO 5 as an output, and GPIO 6 as an input, and so on.&lt;/p&gt;
&lt;p&gt;Since there are about 20 free GPIO pins on the Pi Pico, that means up to around 160 GPIO pins are available, if eight Pi Pico boards were attached.&lt;/p&gt;&lt;img src="https://community.element14.com/aggbug?PostID=28282&amp;AppID=84&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item><item><title>RE: USB-to-I2C with a Pi Pico: Building an Easy I2C Adapter for PC control of I2C Devices</title><link>https://community.element14.com/products/raspberry-pi/raspberrypi_projects/b/blog/posts/usb-to-i2c-with-a-pi-pico-building-an-easy-i2c-adapter-for-pc-control-of-i2c-devices</link><pubDate>Sun, 25 Aug 2024 18:40:49 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:ddf4ebbb-3b33-4b43-972f-2a186c80e5eb</guid><dc:creator>ggabe</dc:creator><slash:comments>1</slash:comments><description>&lt;p&gt;&lt;span&gt;Adding monitoring would be nice, but on second thought, a Logic2 and a cheap CY7C86013 should do the trick. A must have anyway.&lt;/span&gt;&lt;/p&gt;&lt;img src="https://community.element14.com/aggbug?PostID=28282&amp;AppID=84&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item><item><title>RE: USB-to-I2C with a Pi Pico: Building an Easy I2C Adapter for PC control of I2C Devices</title><link>https://community.element14.com/products/raspberry-pi/raspberrypi_projects/b/blog/posts/usb-to-i2c-with-a-pi-pico-building-an-easy-i2c-adapter-for-pc-control-of-i2c-devices</link><pubDate>Fri, 23 Aug 2024 19:43:09 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:ddf4ebbb-3b33-4b43-972f-2a186c80e5eb</guid><dc:creator>shabaz</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;I tested the&amp;nbsp;USB-to-I2C adapter with this project:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;[mention:840c7ae26328414f99aa44b22654c19f:f7d226abd59f475c9d224a79e3f0ec07]&amp;nbsp;&lt;/p&gt;&lt;img src="https://community.element14.com/aggbug?PostID=28282&amp;AppID=84&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item><item><title>RE: USB-to-I2C with a Pi Pico: Building an Easy I2C Adapter for PC control of I2C Devices</title><link>https://community.element14.com/products/raspberry-pi/raspberrypi_projects/b/blog/posts/usb-to-i2c-with-a-pi-pico-building-an-easy-i2c-adapter-for-pc-control-of-i2c-devices</link><pubDate>Thu, 22 Aug 2024 19:06:09 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:ddf4ebbb-3b33-4b43-972f-2a186c80e5eb</guid><dc:creator>DAB</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Nice project.&lt;/p&gt;
&lt;p&gt;If I ever get back into looking at I2C devices I will have to build one.&lt;/p&gt;&lt;img src="https://community.element14.com/aggbug?PostID=28282&amp;AppID=84&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item><item><title>RE: USB-to-I2C with a Pi Pico: Building an Easy I2C Adapter for PC control of I2C Devices</title><link>https://community.element14.com/products/raspberry-pi/raspberrypi_projects/b/blog/posts/usb-to-i2c-with-a-pi-pico-building-an-easy-i2c-adapter-for-pc-control-of-i2c-devices</link><pubDate>Thu, 22 Aug 2024 13:40:03 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:ddf4ebbb-3b33-4b43-972f-2a186c80e5eb</guid><dc:creator>dougw</dc:creator><slash:comments>1</slash:comments><description>&lt;p&gt;Handy little project. Thanks for posting.&lt;/p&gt;
&lt;p&gt;I guess if needed it could be easily expanded to search for the I2C address....&lt;/p&gt;
&lt;p&gt;&lt;a id="" href="https://learn.adafruit.com/scanning-i2c-addresses/arduino" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;https://learn.adafruit.com/scanning-i2c-addresses/arduino&lt;/a&gt;&lt;/p&gt;&lt;img src="https://community.element14.com/aggbug?PostID=28282&amp;AppID=84&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item><item><title>RE: USB-to-I2C with a Pi Pico: Building an Easy I2C Adapter for PC control of I2C Devices</title><link>https://community.element14.com/products/raspberry-pi/raspberrypi_projects/b/blog/posts/usb-to-i2c-with-a-pi-pico-building-an-easy-i2c-adapter-for-pc-control-of-i2c-devices</link><pubDate>Thu, 22 Aug 2024 13:04:39 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:ddf4ebbb-3b33-4b43-972f-2a186c80e5eb</guid><dc:creator>genebren</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Very cool!&amp;nbsp; I could see this being a very useful device for prototyping with I2C components.&amp;nbsp; Thanks for sharing!&lt;/p&gt;&lt;img src="https://community.element14.com/aggbug?PostID=28282&amp;AppID=84&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item><item><title>RE: USB-to-I2C with a Pi Pico: Building an Easy I2C Adapter for PC control of I2C Devices</title><link>https://community.element14.com/products/raspberry-pi/raspberrypi_projects/b/blog/posts/usb-to-i2c-with-a-pi-pico-building-an-easy-i2c-adapter-for-pc-control-of-i2c-devices</link><pubDate>Thu, 22 Aug 2024 02:56:21 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:ddf4ebbb-3b33-4b43-972f-2a186c80e5eb</guid><dc:creator>dang74</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Thanks for sharing.&amp;nbsp; This appears to be a nice easy method to interact with I2C devices from your PC.&lt;/p&gt;&lt;img src="https://community.element14.com/aggbug?PostID=28282&amp;AppID=84&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item></channel></rss>