Jump to content
I2Cdevlib Forums

Search the Community

Showing results for tags 'MPU6050'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


  • I2Cdevlib Web Tools
    • I2C Protocol Analyzer
    • I2C Device Entry Interface
    • I2C Device Library API
  • I2Cdev Platform Discussion
    • Arduino (ATmega)
    • Arduino Due (ARM Cortex M3)
    • MSP430
    • Other Platforms
  • I2C Device Discussion
    • AD7746 capacitance-to-digital converter (Analog Devices)
    • ADS1115 16-bit A/D converter (Texas Instruments)
    • ADXL345 3-axis accelerometer (Analog Devices)
    • AK8975 3-axis magnetometer (AKM Semiconductor)
    • BMA150 3-axis accelerometer (Bosch Sensortec)
    • BMP085 pressure sensor (Bosch Sensortec)
    • DS1307 real-time clock (Maxim)
    • HMC5843 3-axis magnetometer (Honeywell)
    • HMC5883L 3-axis magnetometer (Honeywell)
    • iAQ-2000 indoor air quality sensor (AppliedSensor)
    • IQS156 ProxSense capacitive touch sensor (Azoteq)
    • ITG-3200 3-axis gyroscope (InvenSense)
    • L3G4200D 3-axis accelerometer (STMicroelectronics)
    • MPL3115A2 Xtrinsic Smart Pressure Sensor (Freescale)
    • MPR121 12-bit capacitive touch sensor (Freescale)
    • MPU-6050 6-axis accelerometer/gyroscope (InvenSense)
    • MPU-9150 9-axis accelerometer/gyroscope/magnetometer (InvenSense)
    • PanelPilot multi-screen digital meter (Lascar Electronics)
    • SSD1308 128x64 OLED/PLED driver (Solomon Systech)
    • TCA6424A 24-bit I/O expander (Texas Instruments)

Find results in...

Find results that contain...

Date Created

  • Start


Last Updated

  • Start


Filter by number of...


  • Start





Website URL







  1. #ifdef OUTPUT_READABLE_WORLDACCEL #ifdef OUTPUT_READABLE_WORLDACCEL // display initial world-frame acceleration, adjusted to remove gravity // and rotated based on known orientation from quaternion mpu.dmpGetQuaternion(&q, fifoBuffer); mpu.dmpGetAccel(&aa, fifoBuffer); mpu.dmpGetGravity(&gravity, &q); mpu.dmpGetLinearAccel(&aaReal, &aa, &gravity); mpu.dmpGetLinearAccelInWorld(&aaWorld, &aaReal, &q); Serial.print("aworld\t"); Serial.print(aa
  2. Question above. Also, is it possible to read the angular rate (only gyro) at a higher frequency when dmp is enabled?
  3. im creating my own Controller and quadcopter and i always run into a the question of "how do you filter your gyro and Acc and use them together to get a Angle" . My question is, do i need to filter the Acc and Gyro or is the OUTPUT_READABLE_YAWPITCHROLL just a filter that Uses both acc and gyro to produce the Angles? what i want to do is use both Acc and Gyro to create an angle that i will use for a PID controller to balance the quad but if the OUTPUT_READABLE_YAWPITCHROLL already does that, than that would be unnecessary.
  4. Hello Sir, I am using this git hub code https://github.com/jrowberg/i2cdevlib/blob/master/Arduino/MPU6050/examples/MPU6050_DMP6/MPU6050_DMP6.ino and I want to find displacement from accelerometer. How can I Implement it? I know only If we have to find Displacement from accelerometer then we have to integrate it.But If we Directly integrate It then error will increase, so we have to use filter But which filtter I have to use? And which accelerometer data I have to integrate It raw data or gravity-free data. Please, anyone, help me how to find displacement from the accele
  5. Hello everyone. I'm quite new to Arduino and i2c so please bear with me even if my questions may have an obvious answer from your point of view. Looking at the example of 6 axis MPU 6050 I'm trying to wrap my head around some programming decision that was made, specifically: 1) Why do we run while loop while (!mpuInterrupt && fifoCount < packetSize) { inside the main Arduino loop() instead of just simply running single interrupt flag and fifoCount check each iteration of the loop(), is that to catch new data package as absolutely soon as possible? 2) Why do w
  6. Hello, I am trying to use both an MPU6050 IMU and an I2CXL-MaxSonar-EZ ultrasonic range sensor on a single Arduino board in order to send data to ROS. I am attempting to make a MaxSonar driver using I2Cdevlib as it the MPU code is far more difficult to change. The problem I am running into is that the datasheet (http://www.maxbotix.com/documents/I2CXL-MaxSonar-EZ_Datasheet.pdf) doesn't have a full register map. I have the device ID and data I need to send to the sonar to tell it to take a range measurement, but it doesn't give the register address to send the data to. Has anyone else trie
  7. import smbus import time # Get I2C bus bus = smbus.SMBus(1) # MPU-6000 address, 0x68(104) # Select gyroscope configuration register, 0x1B(27) # 0x18(24) Full scale range = 2000 dps bus.write_byte_data(0x68, 0x1B, 0x18) # MPU-6000 address, 0x68(104) # Select accelerometer configuration register, 0x1C(28) # 0x18(24) Full scale range = +/-16g bus.write_byte_data(0x68, 0x1C, 0x18) # MPU-6000 address, 0x68(104) # Select power management register1, 0x6B(107) # 0x01(01) PLL with xGyro reference bus.write_byte_data(0x68, 0x6B, 0x01) I wish to convert the measurement range from +-16g of the ac
  8. I have made an Arduino sketch that simplifies the task of calibrating the MPU6050's offsets. Easy steps: - Wire your MPU6050 to your Arduino. - Put the MPU6050 as horizontal as possible and leave it there, don't touch it. - Check the sketch in order to configure your MPU's I2C address (0x68 or 0x69). - Upload the sketch to your Arduino. - Open Arduino serial monitor and send any character to the Arduino. - Wait. - Write down your offsets for that particular MPU6050 and use them with library's functions "...setoffset..." in your projects. There are also a few options in the
  9. Dear Jeff, Could you please help to complete the "dmpGetTemperature()" function in MPU6050_6Axis_MotionApps20 ? I unable to find any resource to complete this function. https://github.com/jrowberg/i2cdevlib/blob/900b8f959e9fa5c3126e0301f8a61d45a4ea99cc/Arduino/MPU6050/MPU6050_6Axis_MotionApps20.h#L680 An other thing I need to know in the DMP configuration, Do I need to change some configuration when I consider vertical axes as Y, instead of Z axes ?
  10. Hi All, I have 5 different MPU6050 on one mechanic. I'm using Jeff's DMP6 code and I am especially interested in pitch and roll values from "OUTPUT_READABLE_YAWPITCHROLL". I already calibrated All 5 MPU with "MPU6050_calibration.ino" All sensors gives me "0 degree" when they placed in horizontal position, with package letters facing up. Also I'm getting "90 degree"(almost) they placed vertical. When i place sensors in forexample 45 degree all of them shows different angles between 43-47, this error follows me in different angles. i have no error on vertical and horizontal pla
  11. To detect vibration I'm sampling the MPU6050 various times and averaging it with previous samples and the algo works very well, it's the following: Force = sqrt((currentX - lastX) * (currentX - lastX) + (currentY - lastY) * (currentY - lastY) + (currentZ - lastZ) * (currentZ - lastZ) ); However, the problem is the result is always a positive number, and since I've been studying accelerometers I've noticed they often give negative values too. So I'd like to be able to get these negative values. In the accelerometers initial state x, y can be negative depe
  12. Hi friends, I have managed to read from two mpu6050 on DMP. Both sensors are fitted on a piece of board and are perfectly levelled. My problem is that when I tilt the sensors such that I increase/decrease Roll, the Yaw is changed, even when the sensors are not rotated on the z axis. Is it normal that rolling affects yawing? Furthermore, the change in Yaw for both sensors is not the same, and there will be a difference in yaw of 8 deg between the two sensors for a 45deg rolling. Thanks in advance, Hatt
  13. Hi, I have a question about the sampling rate and the digital low pass filter configuration values for the mpu6050. I know from the datasheet that the output rate for the acceleration is 1kHz. I use the clock source from the X Gyro for reference, as default on the mpu6050.h lib from jeff rowberg. Does the DLPF_CFG = 0 (260Hz ) affect my acceleration sampling rate or the acceleration output rate? If so, does the output rate goes from 1kHz down to 260Hz? Thanks in advance
  14. Hello friends! I will use the MPU 6050 to analyse the human gait, but i don't understand the source code the MPU 6050 (Arduino Mega) that is attached because is very complex, anyone has some source code to send me or comment the sorce code. Thanks. This project is very important because it will help people with disability in the legs. Thanks. Teste 1.txt
  15. I have problem with MPU6050. Approximately every 1 - 2 minutes I get the NACK on the I2C bus from the sensor. This situation arises entirely by chance. I receive NACK during read "Current FIFO buffer size" register, but after reading this register again, the device responds normally. Do not know what could be the reason?
  16. Hi, I'm new to the MPU6050 but getting some good results using 8051 micro interfaced to GY-521 breakout board to MPU6050. One puzzling thing is that while the Invensense register map for the MPU6050 states: REGISTERS 59 TO 64 – ACCELEROMETER MEASUREMENTS REGISTERS 67 TO 72 – GYROSCOPE MEASUREMENTS After a 200 mSec delay I measure the offsets, save them and subtract the offsets from the X,Y, and Z values of the acceleration and gyro angles. The results show values near zero after subtracting the offsets. So far, so good. But...I get the Gyro and Acceleration reverse
  17. Hello guys I have been trying to get yaw values from gyro MPU6050 for my application. The application is basically to control a robot's movement with respect gyro readings. Recently I started facing some issues relating calibration of the gyro. In my code I am mapping all the values of the whole range of yaw (-180 to 180) to pwm range (0 to 200). So ideally the sensor should get calibrated every time at value 100. The situation I am facing is that it gets calibrated at 100 just 3 times out of 10. What may be the possible issue? I am attaching the code for reference. Th
  18. Hello, I am a college student working to build a UAV. I selected the MPU6050 as my IMU because it seems to have a pretty substantial community around it. Time to test that! Does anyone know how to invert the orientation of the IMU sensor in order to change its frame from a quadcopter to a UAV? I have attached photos below. I have tried flipping the physical sensor and playing with the offsets but that has not yielded anything useful. I have designed a complicated quaternion attitude controller dependent on the AC orientation and it would be a real pain to have to redo a
  19. Dear all, Just want to how I can change the acceleration level from 2g to 4g on the Jeff's MPU6050 code for raw data. I assume I need to change AFS_SEL = 0 to AFS_SEL = 1. But how could I do it? I didnt find anything I need to change in MPU6050.h file. Do I need to do something on MPU6050.h file? Thanks all. Ji
  20. I'm working on a project that requiers high precision gyro Z axis on the atmega328 chip, in the mpu6050 lib it is explained that when you set dlpf mode to 0, the low pass filter is disabled and sample rate is set to 8kHz. That's what the invensense docs says as well, but then what is the purpose of the option to set DLPF to 0 and sample at 8000Hz while the bandwidth is only 256kHz? For some reason the output on 256kHz is very stable as if it was going through the low pass filter. I know I could sample directly at 1kHz but this is wasting way too much my system recources, so samp
  21. Hi all, perhaps someone can help me to find a solution for my problem. I got the original teapod demo working together with the arduino code MPU6050_DMP6.ino. The plane on the processing sketch does exactly what I want to get out; the absolute position of the object in respect to the ground position (or point of view). All what i want is to get the angles for each axis of the object (yaw, pitch and roll) in realtime, just like i sit in the plane an look on an artificial horizon. All my attempts to convert quaternion to euer or YPR ended in solutions, where pitch an roll interact. So for e
  22. Hi, I'm using MPU6050 for a wearable application and the IC responds well at times but gives out 0 acceleration at times even though Device-ID is read correct always. It is also found that, once I heat the IC with a hot air gun, it works again. In the datasheet provided by the link below, it is said under section 11.4 Assembly Precautions that the exposed pad must not be soldered, but I have it soldered it in my target board and it is also mentioned that thermo-mechanical stress will affect the IC . I also have a buzzer in my board, will it be as reason too?
  23. Hi there, I am attempting to use an SSD1306 and a MPU6050 together. I am using the U8G2 and I2CDevlib libraries but the devices seem to be mixing each other up. The devices each work seperatly but not together and have different addresses. Does anyone know why this is happening?
  24. mpu6050GetDeviceID() hangs. Any idea why this happens? I'm building for stm32f405 attached to mpu6050 by i2c using nosys c stl w/c99. I have verified that the stm32f405 can run a program and that this program works with the arm-atollic-eabi-gcc compiler, but not with the arm-none-eabi-gcc compiler.
  25. Hi there,I am using the MPU6050 and I2CDevlib library to obtain quaternion values from the sensor. This sketch is currently taking up a bit too much memory for my liking and I noticed that there is a 64 byte buffer. Since I am only using one set of data, is there anyway to go into the library and not input the other data such as acceleration and gyro?Thanks
  • Create New...