-
• #2
Monochrome 128x32 I2C OLED graphic display, adafruit PRODUCT ID: 931
o comes with integrated 4.7k pull-ups
o module SSD1306
o ESP8266-12E&F
o D4 - SDA and D5 - SCL
works without problems
-
• #3
It might be useful to document which board and pins were used as well, as this seems to be the tricky part!
-
• #4
@Wilberforce added board and pins - thanks for that hint
-
• #5
Adafruit HTU21D-F Temperature & Humidity Sensor Breakout Board
PRODUCT ID: 1899
https://www.adafruit.com/products/1899working on esp8266-01
sda - D0 scl - D2 or
sda - D2 scl -D0
works without problems.By mistake, I run esp8266-01 with 5 volts for a week before I discovered that it only should have 3V3 volts.
I have made clock streching on it with a copy from @TVE.
-
• #6
AT24 series eeprom
4.7k pullups, on pins 4 and 5.
Esp-12f I think.
-
• #7
Might be useful documenting what's not working too, just a thought, and, crucially, which MCU you are using!
-
• #9
Working for me:
- MCP23008 port expander
- Honeywell SSC MAN 060PG 2A3 pressure sensor
- Bosch BME180
All usingI2C1.setup({scl:D12,sda:D13});
and a 4.7K resistor to 3.3v.
- MCP23008 port expander
-
• #12
If your I2C device is not working the most helpful would be to hook up a logic state analyzer. That'll tell you what is going on...
-
• #13
would be to hook up a logic state analyzer
Even just sticking LEDs on the 2 pins (so they are normally off) would let you check whether you had the right ones.
-
• #14
It might be useful to document which board and pins were used as well, as this seems to be the tricky part!>
In addition, a code snippet might help people too! -
• #15
ESP8266 - PCF8574 8 bit IO expander from DX.com
pinMode(NodeMCU.D5,'input_pullup'); pinMode(NodeMCU.D4,'input_pullup'); I2C1.setup({scl:NodeMCU.D5, sda:NodeMCU.D4}); var lcd = require("HD44780").connectI2C(I2C1); lcd.print("Hello World!"); lcd.setCursor(0,1); lcd.print("ESP8266!");
I'm not sure if the pull up lines even have an effect, as it works without them too!
1 Attachment
-
• #16
TI INA3221: "INA3221 Triple-Channel, High-Side Measurement, Shunt and Bus Voltage Monitor"
a.- (Dev Kit by SwitchDoc Labs : http://store.switchdoc.com/ina3221-breakout-board-3-channel-current-voltage-monitor-grove-headers-compare-to-ina219-grove-headers/ )b.- I2C works with:
I2C1.setup({sda:D4,scl:D5});
c.- Physical Pinouts are SCL/D1 and SDA/D2 (3 places on the board)
d.- PullUps @ 4k1 Ohms
E.- Work In Progress
1 Attachment
-
• #21
clock stretching by @Frida will be available with 1v92
-
• #22
Working for me:
Bosch BMP280 I2C1.setup({sda: D4, scl: D5} ); with SD0 to low address 118; to high address 119
1 Attachment
-
• #23
- integrated 3.73 pullups
- used module DS3231 - work perfect with DS1307
tested on ESP8266-04,12E/F 1v95
var SDA = D5, SCL = D4; // ESP8266 I2C1.setup({scl:SCL,sda:SDA, bitrate:100000}); var rtc = require("DS3231").connect(I2C1, { DST : true }); rtc.setDate(Date().getDate(),Date().getMonth(),Date().getFullYear()); rtc.setTime(Date().getHours(),Date().getMinutes(), Date().getSeconds()); setInterval(function() { console.log(rtc.readDateTime()); }, 1000); /* output 23/00/18 22:06:20 23/00/18 22:06:30 23/00/18 22:06:40 */
1 Attachment
- integrated 3.73 pullups
Like to use this post to build up a list of tested i2c devices on ESP8266
please fell free to add devices - thanks.