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