I2C Expansion Board
#1
Hoping to get some insight from anyone who is successfully using the I2C expansion board.

I'm using the Pine temp/humidity sensor...tested with some python code (grabbed from the web and modified) and the sensor works great when using the Pi Bus I2C pins. It also works with the I2C expansion board plugged in and connected to the expansion board pins.

When I plug into one (any) of the I2C expansion board ports, nada...I get an I/O error. After some quick troubleshooting, I see that the device is no longer seen on the I2C bus when i do an i2cdetect command. The fact that the bus pins are confirmed functional, and its specifically with the board ports, it suggests to me there is something more needed that I'm missing.

I have a second I2C expansion board, same issue, so would not appear the board is defective.

Jumpers are on the 3.3v pins as I've confirmed they should be.

I'm running debian-mate, and since I2C works from the bus pins, I don't see it as an OS issue. KH Goh mentioned checking bus speed and confirming its at 10 khz, but would think bus speed would not be a factor as far as being able to see the device on the bus. That said, if anyone can tell me where within the OS configs I can check I2C bus speed, I'd love to eliminate that possibility and also know where it is for future reference.

There is not a lot of detail on the wiki page regarding the expansion board, but I interpret what is there to suggest that I should be able treat the expansion ports just like I would a connection direct to the bus pins.

Thoughts?
  Reply
#2
(07-21-2016, 11:15 AM)DonFL Wrote: Hoping to get some insight from anyone who is successfully using the I2C expansion board.

I'm using the Pine temp/humidity sensor...tested with some python code (grabbed from the web and modified) and the sensor works great when using the Pi Bus I2C pins. It also works with the I2C expansion board plugged in and connected to the expansion board pins.

When I plug into one (any) of the I2C expansion board ports, nada...I get an I/O error. After some quick troubleshooting, I see that the device is no longer seen on the I2C bus when i do an i2cdetect command. The fact that the bus pins are confirmed functional, and its specifically with the board ports, it suggests to me there is something more needed that I'm missing.

I have a second I2C expansion board, same issue, so would not appear the board is defective.

Jumpers are on the 3.3v pins as I've confirmed they should be.

I'm running debian-mate, and since I2C works from the bus pins, I don't see it as an OS issue. KH Goh mentioned checking bus speed and confirming its at 10 khz, but would think bus speed would not be a factor as far as being able to see the device on the bus. That said, if anyone can tell me where within the OS configs I can check I2C bus speed, I'd love to eliminate that possibility and also know where it is for future reference.

There is not a lot of detail on the wiki page regarding the expansion board, but I interpret what is there to suggest that I should be able treat the expansion ports just like I would a connection direct to the bus pins.

Thoughts?
Try to send those info to TL Lim. I have 1 I2C POT Board. And I have this problem too. Without Board all sensors detect and work. With board sensors doesn't work. It is because port on board connected to the I2c port witch linux don't see... As I undestand correctly...
  Reply
#3
(07-21-2016, 12:59 PM)Artyom Wrote:
(07-21-2016, 11:15 AM)DonFL Wrote: Hoping to get some insight from anyone who is successfully using the I2C expansion board.

I'm using the Pine temp/humidity sensor...tested with some python code (grabbed from the web and modified) and the sensor works great when using the Pi Bus I2C pins. It also works with the I2C expansion board plugged in and connected to the expansion board pins.

When I plug into one (any) of the I2C expansion board ports, nada...I get an I/O error. After some quick troubleshooting, I see that the device is no longer seen on the I2C bus when i do an i2cdetect command. The fact that the bus pins are confirmed functional, and its specifically with the board ports, it suggests to me there is something more needed that I'm missing.  

I have a second I2C expansion board, same issue, so would not appear the board is defective.

Jumpers are on the 3.3v pins as I've confirmed they should be.

I'm running debian-mate, and since I2C works from the bus pins, I don't see it as an OS issue. KH Goh mentioned checking bus speed and confirming its at 10 khz, but would think bus speed would not be a factor as far as being able to see the device on the bus. That said, if anyone can tell me where within the OS configs I can check I2C bus speed, I'd love to eliminate that possibility and also know where it is for future reference.

There is not a lot of detail on the wiki page regarding the expansion board, but I interpret what is there to suggest that I should be able treat the expansion ports just like I would a connection direct to the bus pins.

Thoughts?
Try to send those info to TL Lim. I have 1 I2C POT Board. And I have this problem too. Without Board all sensors detect and work. With board sensors doesn't work. It is because port on board connected to the I2c port witch linux don't see... As I undestand correctly...
 KH Goh, who is part of the Pine team, is who I've been in contact with. I'll forward to TL also.

I2C_0 is the pi bus port, you're thinking the expander uses I2c_1? Not seeing where that port is exposed on any of the headers..??

I did actually change the port in my code last night as part of my testing/troubleshooting, and saw no difference. I also don't see the device when doing an i2cdetect command on either port.
  Reply
#4
Noted the problem. We are currently try to identified the problem on our side. Will get back to you once we have more info on it.

Regards,
KH Goh
  Reply
#5
(07-21-2016, 07:16 PM)khgoh Wrote: Noted the problem. We are currently try to identified the problem on our side. Will get back to you once we have more info on it.

Regards,
KH Goh

hi, a couple of us guys on the irc channel were attempting to connect the POT i2c expander board tonight, and ran into this very same error. The sensors are visible wired direct, but are not seen wired to the expander board. 

marcushh777
  Reply
#6
So it sounds like a definite bug at the hardware level..would be interested in hearing details from anyone, if they exist, that has gotten the expander board working, what OS used, etc.
  Reply
#7
Hi,
I found the problem that cause the I2c communication brake down when installing the I2c POT. The problem is due to the internal pull up feature is not enabled by default on the i2c i/o pin. I manage to come up with a small program that enable the internal pull up for the I2c Pin. You can download it from the wiki page. The archive is included with the source code and the compiled binary (I use ubuntu 20160716-1 image with gcc to compile the code).

You just need to execute the program once (with root access privilege) to enable the internal pull. After that, you can test it out using the i2cdetect to detect the i2c devices.

../KH Goh
  Reply
#8
Thanks! Will test it today.
  Reply
#9
(07-26-2016, 02:59 AM)khgoh Wrote: Hi,
I found the problem that cause the I2c communication brake down when installing the I2c POT. The problem is due to the internal pull up feature is not enabled by default on the i2c i/o pin. I manage to come up with a small program that enable the internal pull up for the I2c Pin. You can download it from the wiki page. The archive is included with the source code and the compiled binary (I use ubuntu 20160716-1 image  with gcc to compile the code).

You just need to execute the program once (with root access privilege) to enable the internal pull. After that, you can test it out using the i2cdetect to detect the i2c devices.

../KH Goh

kh goh,  thank you very much.  I will have a couple of the guys on the irc channel test this too, with the debian image (as will I ).

This is really good news !   ... thank for your work !   Cool


marcus
  Reply
#10
(07-26-2016, 07:09 AM)MarkHaysHarris777 Wrote:
(07-26-2016, 02:59 AM)khgoh Wrote: Hi,
I found the problem that cause the I2c communication brake down when installing the I2c POT. The problem is due to the internal pull up feature is not enabled by default on the i2c i/o pin. I manage to come up with a small program that enable the internal pull up for the I2c Pin. You can download it from the wiki page. The archive is included with the source code and the compiled binary (I use ubuntu 20160716-1 image  with gcc to compile the code).

You just need to execute the program once (with root access privilege) to enable the internal pull. After that, you can test it out using the i2cdetect to detect the i2c devices.

../KH Goh

kh goh,  thank you very much.  I will have a couple of the guys on the irc channel test this too, with the debian image (as will I ).

This is really good news !   ... thank for your work !   Cool


marcus
[Image: bfec976b0f6f9734163eaae373023f08.jpg]

[Image: 9cca42e995fc6c96d66e573920cf5e99.jpg]

Thank you very much! This is COOL!

As I undestand you switch on pull up resistors? You using pullup register to do that?
  Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  Poll: interest for SPDIF-only POT board? amp 0 2,796 05-01-2019, 11:17 PM
Last Post: amp
  Audio DAC pot board nejec 2 7,006 12-09-2017, 01:43 PM
Last Post: nejec
  Zwave Board: 300, 400 or 500? Lugor 4 9,212 01-10-2017, 08:55 PM
Last Post: Lugor
  Questions. board serial.? bongky youn 8 12,093 09-12-2016, 09:24 AM
Last Post: bongky youn
  My Board Layout Diagram UnixOutlaw 8 14,128 09-09-2016, 02:41 AM
Last Post: pfeerick
  New module: POT board Crispin 25 44,610 07-12-2016, 08:47 PM
Last Post: khgoh
  GPS expansion board stephen fleming 3 6,416 07-06-2016, 11:20 AM
Last Post: xalius

Forum Jump:


Users browsing this thread: 3 Guest(s)