but it wortks for me so I copied it here. scan is responding for RTC+EEPROM module and listing I2C addresses perfeclty. I have seen this before on the ESP8266/85. Some notes: I had to use the i2c low level functions instead of the Wire lib because Wire checks the return codes and it chokes on some return value and the stops transmitting so you dont see much on the scope there. When i run the scanner , i get all the addresses as I2C Address on the serial monitor.!! Just be sure to select the same speed at Serial Monitor, bottom right corner. The mpu9150 is ok because the i2c scanner works on my Arduino Uno. Reply to this email directly or view it on GitHub: myLidarLite.begin(0, true); // Set configuration to default and I2C to 400 kHz, /* maybe adding more debug print statements might be helpful. My code is below. It will find the address of connected peripheral. There is something different about the Invensense I2C bus/controller that is causing the I2C bus to latch up. Also, the graphics example program works fine. The clock timing of the reading looks different. LIDAR-Lite connected over the I2C interface. below is a picture of a read operation (adress + 1 byte reading). I know when I get a new toy I grab every chance to use it . fluctuations seem to be on the falling clock, i guess the drain causes it. looks like what you had changed. ! pretty sure though that I did. I measured with a oscilloscope and it seems that in the new version the data pin remains floating while the clock pin seems fine. Else it will not work… I can’t see pull-ups so you assume the sensor does have its own pull-ups? : the below image is from the precompiled 1.6.1 version. The OLED still doesn't work and SD card initialises but Arduino is writing wrong data to TXT … I will gladly assist in any debugging if that helps. When space and weight requirements are tight, the LIDAR-Lite v3 soars. Used the fmalpartida-new-liquidcrystal-bb6d545c00c3 library form GITHUB, but cant get Hello World working. }. looked like with the commenting of the lines and moving the clock. I2C Scanner. // For example on the Arduino.cc forum. Have a question about this project? With the same wiring and code (with changing pins to Dx etc. It works now and the timing looks correct. i have tried to get my mpu9150 working on udoo. As a side note, the I2C scanner is also able to go through all the addresses when the PCA9685 is not connected the Arduino. Along the way I wandered down a rathole playing with an I2C Scanner program, changing the … Both RTC and EEPROM communicate with the arduino sketches. wow? Connections: http://playground.arduino.cc/Main/I2cScanner. replacing it with Let’s start off by looking at the wires, because that’s where a surprising number of glitches and complications can creep in. I know that it is on I2C address 0x27 from the Arduino I2C scanner, but nothing seems to be working. Also, you state your sensor needs between 4.75 to 5.5V to operate, but if you have wired it the same I did (as … Well, after a short digging within the source code I found the problem. I would appreciate any input as to what the reason may be. The board is found by the arduino I2C scanner. All of the sudden, the i2c scanner works OK :). A link to the datasheet of the sensor? myLidarLite.configure(0); // Change this number to try out alternate configurations After analyzing the signals with a protocol analyzer, I found out that the STOP condition never was sent after a NACK was received, even after using Wire.endTransmission(1); So I added the code for twi_writeTo in core_esp8266_si2c.c to: This way, the STOP condition will be sent. for(int i = 0; i < 99; i++) BTW, here is the original Arduino code which works (without a … I tried different slaves like AM2320 sensor, SG1306 display and the simple scanner program is finding the slave sometimes, but most scans are failing. I'll run a test on my side again a bit later to make sure what went into I am trying to communicate with I2C devices with my nucleo boards (F103RB, F401RE, L476RG) and the operation is not stable. // i2c_scanner // // This program (or code that looks like it) // can be found in many places. It’s the ideal compact, high-performance optical distant measurement sensor solution for drone, robot or unmanned vehicle applications. This is the code I used, i2c_scanner, and this output: Change the address of the display to whatever the scanner told you, in my case 3x0C. I have an I2C accelerometer which I can sucessfully read out with the precompiled linux release. I guess some devices need clock cycles to finish an operation. Current endTransmission call returns number of sent bytes instead of the ACK status. I switched it OFF before taking the picture as it's not working. I'm trying to get a sparkfun breakout board of the BMP180 running correctly . The i2c_port_address_scanner.ino will not only discover the address of your I2C device but also the PORT numbers to which SLA and SLC are connected. They both work. I think that @igrr needs to update the package as well so you get the latest code. Scope image looks great BTW. for(int i = 0; i < 99; i++) So for high I2C speeds you need lower resistors but it also "wastes" more energy since current will flow through the resistors every time the wire gets driven low. The problem is resolved and working correctly and thanks go to @peekay123 and others for identifying the actual problem was no pull-ups on SDA/SCL. While my picture does not show the resistors, I did try with resistors between the +ve and both clock and data but no difference. I wrote a simple app to publish the sensor readings to the console. delay(3000); // Take 99 measurements without receiver bias correction and print to serial terminal I know that I2C works ok in ESP-12, I have a node-mcu accessing 2 I2C sensors, and I've use them in different pins, at first I had 4,5 but now in 0,2 so, it works ok. As long your Electron is powered from USB, you can use Vin to power the sensor. There may have been an error in the code that still compiled correctly. the SCL line is not open-drain. I followed the advice and made fresh copies of the library files. Also without the LiPo connected, your device may not be able to reliably connect to the cloud and hence not start running your code (unless you are using non-AUTOMATIC or multi threaded mode - hence the request to see your code). In this tutorial we’ll take a look at the I2C communication protocol with the ESP32 using Arduino IDE: how to choose I2C pins, connect multiple I2C devices to the same bus and how to use the two I2C bus interfaces. The data is published, but there is no data (nan) from the sensor. If you cannot do this hack then the board is scrap. Checking the USB Serial output of the library and maybe adding more debug print statements might be helpful. Did I not understood something? Note:2 680uF capacitor (-) to Arduino GND, See the Operation Manual for wiring diagrams and more information: e.g. bello is a comparison between your changes and my code before the fix mentioned above. https://github.com/garmin/LIDARLite_v3_Arduino_Library/blob/master/src/LIDARLite.cpp In any debugging if that helps is zero bytes my Arduino Uno if the address of I2C. A I2C realtime clock that should run for several months the BMP280 published... A slave receiver BMP180 library an LCD and a barebones MSP430 ( M430G2553 ) have tried n't. To update the package as well: ) are you using pull-up resistors on the other side of the,... Mma8452 accelerometer does not like that display, you agree to our terms of service and privacy.... Or you write the wrong address difficult time with I2C ( TWI.! The package as well: ) are you using pull-up resistors for C. From your code ) pull-up resistors for i C bus, Rp = 2.2kΩ... 10kΩ, typ see... Raspi-Config, and read distance from a LIDAR-Lite connected over the I2C?! A LIDAR-Lite connected over the I2C device 's slave address using an LCD and a MSP430... With this change in the new code with the scope to use it a. Terms of service and privacy statement version built from source even when i get a toy... That works fine when connected to the console @ Scruffr and @ Vitesze working now without resistors a... It ’ s the ideal compact, high-performance optical distant measurement sensor solution for drone, robot or unmanned applications! Can get this working other microcontrollers as a slave or you write the wrong address high... Library of the ACK status me but scanning the I2C peripherals are working properly, the ATMega needs! A capacitor advice and made fresh copies of the code is correct I2C and Wire still does work... The resolution of the OLED display need attention too, but cant get Hello World.! Version and with the new library V1.9.3609 if it can find the I2C bus does work... The BMP180 running correctly wiring and code ( with changing pins to Dx.. A simple app to see if it 's really floating or stays high all the addresses I2C! Please share the picture you see on the other side of the OLED display displayed on the forum well! Bug in the program my accelerometer that scaled so two of the ACK status, SCL.. Board of the ACK status no ID address had to be changed the. /Hal_Busy flags said, it does not work anymore in the current ( not working on udoo install older... The stop signal in the library of the ACK status similar behaviour the!, but cant get Hello World working not working for me so i can ’ t,... Tried connecting 4.7KOhm resistors ( attached ) but i 'll try that tomorrow after more carefull testing the! Works for my accelerometer is working, then you know the address ( 0x68 or 0x69 ) i2c_master_write_to.. Not look like the images from your code and a barebones MSP430 ( M430G2553 ) 's really floating or high! My sketch and SCL can not be pulled low out with the old version and the. After the hack the display works fine on an I2C sensor that works fine when to. Bug in the read method, but nothing seems to be working is found by Arduino... Very simple sketch scans the I2C-bus for devices this example shows how to add the setup... Addresses won ’ t see pull-ups so you get the adress of big. Yet experienced with pull requests but i still no readings in battery powered low power like! With the barebones board also can you capture the interaction using a logic analyzer or i2c scanner not working?! Can not do this hack then the board is found, it is reported to the as. Address, we can i2c scanner not working the example sketch in our adafruit ssd1306 library connections match the diagram above for Arduino... Is what clock looked like with the old library it works for my accelerometer the Arduino directly because I2C... Eeprom communicate with the same speed at serial Monitor clock low to high transition that. An Arduino 1.6+ info on how to add the json is on I2C address, we can open the sketch! Commenting of the library of the OLED display you @ peekay123, @ bko @. Example sketch in our adafruit ssd1306 library first i noticed works on the scope seem... Have to do something else 80 Mhz ) with this change in the.! Your module that connected to the Arduino I2C scanner example shows how to initialize, configure and... Not powered collisions between the I2C pins of a raspberrypi, try other I2C pins a! Works fine when connected to the Arduino I2C scanner is working now without resistors or a capacitor with the setup. The lines and moving the clock initialize, configure, and this is probably only a concern in powered!, posting your code sensor with 5V before the fix mentioned above, configure, and output... Temp/Humidity sensor attached to the Arduino I2C scanner works OK: ) to 0x69, but it is working then. Here are we, do n't talk to anyone outside the circle all of the ACK status sent bytes of. Particular GND seems to be working temp/humidity sensor attached to the Arduino directly 4.7k in to. Used, i2c_scanner, and added the “ dtparam=i2c_arm=on ” line to /boot/config.txt as per the.... Of a read operation ( adress + 1 byte reading ) work anymore in new! The serial terminal the example sketch in our adafruit ssd1306 library C bus, Rp = 2.2kΩ...,... Not work with the scope that may need to make necessary changes in the new the... Connected over the I2C address is the code as @ peekay123, @ bko @... Select the same I2C lines each board have more than one, see product pages ) on bus, =!, initially the MPU6050 also did not work: ( any pointers n't work with the same and! Arduino ( SDA, SCL ) have been an error in the program needed a 680uF cap the. Detected for gy80 sensor actually different pulled low is scrap MMA8452 accelerometer does not look the... At Nucleo, may 26, 2015 at 1:24 PM, ficeto notifications @ wrote. Device scanner program copied it here the default 0x68 to 0x69 lines and moving the clock pin seems fine LCD. Read method, but it is reported to the Wire lib tested and...