Group Assignment Documentation: Communication Between Two ESP32C3 Boards

Group Members:


Objective:

To establish a communication system between two ESP32C3 boards, where messages can be sent and received seamlessly, using a communication protocol like Bluetooth, Wi-Fi, ESP-NOW,SPI,I2C,UART .  We have taken I2C Communication to test our boards. This will help understand microcontroller communication, data transmission, and synchronization.


Work Process

1. Initial Setup:



2. Implementation:

3. Challenges Encountered:

4. Results:

5. Future Improvements:


Reflection

Page 1: What I Learned as Charath Chander (Sender Configuration)
 As the team member responsible for configuring the Sender ESP32C3, I learned:

  1. The fundamentals of the I2C protocol, including pairing devices.
  2. The importance of efficient message encoding to prevent data loss.
  3. Debugging skills, as I encountered issues with the Sender not initializing I2C properly.
  4. Collaboration benefits; team discussions provided insights into effective troubleshooting techniques.

Page 2: What I Learned as Sabareesh  (Receiver Configuration)
 My role involved setting up the Receiver ESP32C3, and I gained the following:

  1. Insights into message reception protocols and ensuring compatibility with the Sender.
  2. How to use debugging tools like the Serial Monitor to identify and fix communication issues.
  3. The impact of environmental factors on wireless communication and how to mitigate interference.

Sender Code:

#include <Wire.h>

void setup() {

  Wire.begin(2);

  Wire.onRequest(requestEvent);

}

void loop() {

  delay(100);

}

void requestEvent() {

  Wire.write("mayday mayday no power no thrust ");

}

Receiver Code:

#include <Wire.h>

void setup() {

  Wire.begin();

  Serial.begin(9600);

}

void loop() {

  Wire.requestFrom(2, 17);

  while (Wire.available()) {

    char c = Wire.read();

    Serial.print(c);            // print the characters till all characters are complete

  }

  delay(500);

}

<<< Back to Lab Page