Getting Issue wile Interfacing OLED,MPU6050 with AMB82-Mini Board

I am currently exploring the I2C Communication using AMB82 Board.
When I interfaced MPU6050 with AMB82 and got raw_data, acceleration Values
which is working fine.
But When I want to display that data on OLED then it’s not working properly.

here is the code

#include “I2Cdev.h”
#include “MPU6050_IMU_libraries/MPU6050.h”

#if I2CDEV_IMPLEMENTATION == I2CDEV_ARDUINO_WIRE
#include “Wire.h”
#endif

#include <Adafruit_OLED_libraries/Adafruit_GFX.h>
#include <Adafruit_OLED_libraries/Adafruit_SSD1306.h>

// OLED definitions
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64
#define SCREEN_ADDRESS 0x3C // OLED I2C address checked by I2C scanner
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);

MPU6050 mpu;

int16_t ax_raw, ay_raw, az_raw;
float ax, ay, az;

void setup() {
#if I2CDEV_IMPLEMENTATION == I2CDEV_ARDUINO_WIRE
Wire.begin();
#elif I2CDEV_IMPLEMENTATION == I2CDEV_BUILTIN_FASTWIRE
Fastwire::setup(400, true);
#endif

Serial.begin(115200);
Serial.println(“Initializing MPU6050…”);
mpu.initialize();
if (mpu.testConnection()) {
Serial.println(“MPU6050 connection successful”);
} else {
Serial.println(“MPU6050 connection failed”);
}

// Initialize OLED
if (!display.begin(SSD1306_SWITCHCAPVCC, SCREEN_ADDRESS)) {
Serial.println(F(“SSD1306 allocation failed”));
while (true)
; // Stop execution
}

delay(1000); // Let OLED settle
display.clearDisplay();
display.setTextSize(1);
display.setTextColor(SSD1306_WHITE);
display.setCursor(0, 0);
display.println(“MPU6050 Ready”);
display.display();
}

void loop() {
mpu.getAcceleration(&ax_raw, &ay_raw, &az_raw);

// Convert raw to m/s²
ax = ax_raw * 9.81 / 16384.0;
ay = ay_raw * 9.81 / 16384.0;
az = az_raw * 9.81 / 16384.0;

#ifdef OUTPUT_READABLE_ACCEL_ONLY
Serial.print(“Accel (X, Y, Z):\t”);
Serial.print(ax_raw);
Serial.print(“\t”);
Serial.print(ay_raw);
Serial.print(“\t”);
Serial.println(az_raw);
#endif

// Serial print
Serial.print(“Accel (X, Y, Z) [m/s²]:\t”);
Serial.print(ax, 2);
Serial.print(“\t”);
Serial.print(ay, 2);
Serial.print(“\t”);
Serial.println(az, 2);

// OLED display update
display.clearDisplay();
display.setCursor(0, 0);
display.setTextSize(1);
display.setTextColor(SSD1306_WHITE);
display.println(“Acceleration (m/s²)”);
display.print("X: ");
display.println(ax, 2);
display.print("Y: ");
display.println(ay, 2);
display.print("Z: ");
display.println(az, 2);
display.display();

delay(500);
}"

And I got Error like this :

“01:12:08.108 →
[MISC Err]Pin 0[0] is conflicted
01:12:08.108 →
[MISC Err]It’s configured as RFAFE_CTRL/JTAG now.
01:12:08.108 →
[MISC Err]It’s using by peripheral 30000000
01:12:08.108 →
[MISC Err]Pin un-register caller (10000000) is not the owner (30000000)
01:12:08.142 →
[MISC Err]Pin un-register caller (10000000) is not the owner (30000000)
01:12:08.142 →
[MISC Err]Pin 0[0] is conflicted
01:12:08.142 →
[MISC Err]It’s configured as RFAFE_CTRL/JTAG now.
01:12:08.142 →
[MISC Err]It’s using by peripheral 30000000
01:12:08.142 →
[MISC Err]Pin 0[0] is conflicted
01:12:08.142 →
[MISC Err]It’s configured as RFAFE_CTRL/JTAG now.
01:12:08.142 →
[MISC Err]It’s using by peripheral 30000000
01:12:08.174 →
[MISC Err]Pin un-register caller (10000000) is not the owner (30000000)
01:12:08.174 →
[MISC Err]Pin un-register caller (10000000) is not the owner (30000000)
01:12:08.220 →
[MISC Err]Pin 0[0] is conflicted
01:12:08.220 →
[MISC Err]It’s configured as RFAFE_CTRL/JTAG now.
01:12:08.220 →
[MISC Err]It’s using by peripheral 30000000
01:12:08.220 →
[MISC Err]Pin 0[0] is conflicted
01:12:08.220 →
[MISC Err]It’s configured as RFAFE_CTRL/JTAG now.
01:12:08.220 →
[MISC Err]It’s using by peripheral 30000000”

@Kelvin_Huang @KaiFai_Y @M-ichae-l Please Help Sir

Hi @Pradumn_Porwal, The error message you provided indicates that Pin 0 is conflicting with another hardware function, such as JTAG or RFAFE_CTRL. It seems that the OLED_RESET pin might be defaulting to Pin 0, which is likely causing the issue.

Could you please check how OLED_RESET is defined in your code? For reference, in the OLED_SSD1306 example, OLED_RESET is defined as:

#define OLED_RESET -1

This means no reset pin is used, which avoids the conflict. You might want to adopt the same definition. Thank you.

1 Like

@KaiFai_Y Sir I tried to upload code with

#define OLED_RESET -1


But the Error remained as it is

01:12:03.281 → $8735b>Initializing MPU6050…
01:12:03.281 → MPU6050 connection successful
01:12:03.281 → [MISC Err]Pin 0[0] is conflicted
01:12:03.281 → [MISC Err]It’s configured as RFAFE_CTRL/JTAG now.
01:12:03.281 → [MISC Err]It’s using by peripheral 30000000
this error is repeating continuously on serial monitor

Hi @Pradumn_Porwal ,

Are you connecting any JTAG debugger to the I2C pins?

May I know how you are connecting your I2C devices to AMB82-Mini?

Thank you.

@Kelvin_Huang Sir I only connected MPU6050 and OLED Display on AMB82 I2C Periferals[Pin12:SDA, Pin13:SCL]

And when I connect MPU6050 only.
The board is perfectly fine with this code and display the acceleration in X,Y & Z Axis

//AMB82 with MPU6050
#include “I2Cdev.h”
#include “MPU6050_IMU_libraries/MPU6050.h”

#if I2CDEV_IMPLEMENTATION == I2CDEV_ARDUINO_WIRE
#include “Wire.h”
#endif

MPU6050 accelgyro;

int16_t ax_raw, ay_raw, az_raw;
float ax, ay, az;

#define OUTPUT_READABLE_ACCEL_ONLY

void setup() {
#if I2CDEV_IMPLEMENTATION == I2CDEV_ARDUINO_WIRE
Wire.begin();
#elif I2CDEV_IMPLEMENTATION == I2CDEV_BUILTIN_FASTWIRE
Fastwire::setup(400, true);
#endif

Serial.begin(115200);

Serial.println(“Initializing I2C devices…”);
accelgyro.initialize();

Serial.println(“Testing device connections…”);
Serial.println(accelgyro.testConnection() ? “MPU6050 connection successful” : “MPU6050 connection failed”);

}

void loop() {
accelgyro.getAcceleration(&ax_raw, &ay_raw, &az_raw);
// Convert to m/s²
ax = ax_raw * 9.81 / 16384.0;
ay = ay_raw * 9.81 / 16384.0;
az = az_raw * 9.81 / 16384.0;

#ifdef OUTPUT_READABLE_ACCEL_ONLY
Serial.print(“Accel (X, Y, Z):\t”);
Serial.print(ax_raw);
Serial.print(“\t”);
Serial.print(ay_raw);
Serial.print(“\t”);
Serial.println(az_raw);
#endif

// Print to Serial
Serial.print(“Accel (X, Y, Z) in m/s²:\t”);
Serial.print(ax, 2);
Serial.print(“\t”);
Serial.print(ay, 2);
Serial.print(“\t”);
Serial.println(az, 2);

delay(500); // Optional: adjust for readability
}

But When I try to connect the OLED too
I got this error

01:12:03.281 → [MISC Err]Pin 0[0] is conflicted

01:12:03.281 → [MISC Err]It’s configured as RFAFE_CTRL/JTAG now.

01:12:03.281 → [MISC Err]It’s using by peripheral 30000000

Hi @Pradumn_Porwal, you mean both oled and mpu6050 was connected using pin 12 and 13? if so, can you try on separating using another set i2c for oled or mpu6050. You can refer to this document to check on others i2c pins for amb82 mini. Thank you.