Networking and Communications
Documentation for Networking and Communications, including both the individual and group assignments, using the same page style as the rest of the website.
Assignment
Networking and Communications
Boards
ESP32-C3 SuperMini
Methods
Bluetooth
Status
In Progress
Goal: Demonstrate how devices communicate with each other using wireless communication methods, and compare networking approaches through both group and individual work.
๐ง Learning Objectives
- Understand how embedded devices exchange data using communication protocols.
- Compare different networking methods for local and remote communication.
- Build and test a communication system between two or more devices.
- Document the workflow, setup, and results clearly.
๐ Assignments
Individual Assignment
-
Send a message between two projects
Design and test communication between two microcontroller-based systems using a networking or communication method.
Group Assignment
-
Compare communication workflows
Test and compare communication protocols, tools, or networking methods used in the lab.
-
Document and reflect
Publish the group findings and reflect on what I learned on my individual page.
๐ ๏ธ Tools & Components
- Microcontrollers: ESP32-C3 / ESP32
- Communication Method: Bluetooth
- Software: Arduino IDE
- Supporting Components: jumper wires, breadboard, sensors, output devices as needed
Why this matters: Networking allows different devices or parts of a system to exchange information and work together as a larger smart system.
๐ก Communication Theory
Embedded systems can communicate in different ways depending on the project requirements. Some protocols are best for short-distance board-to-board communication, while others are designed for wireless and remote data exchange.
| Protocol | Type | Use Case |
|---|---|---|
| UART | Wired serial | Simple point-to-point communication |
| I2C | Wired bus | Connecting multiple sensors and devices |
| SPI | Wired bus | Fast communication with peripherals |
| Bluetooth / BLE | Wireless | Short-range wireless communication |
| Wi-Fi / ESP-NOW | Wireless | Data exchange between smart devices |
๐ฅ Group Assignment
The purpose of the group assignment was to compare communication and networking methods available in the lab. We explored how different protocols behave in terms of complexity, speed, ease of setup, and possible use cases.
- Reviewed different wired and wireless communication options.
- Compared setup requirements and code structure.
- Observed how data is transmitted between devices.
- Discussed which methods are most useful for future projects.
Group reflection idea: mention which protocol was easiest to use, which one was fastest, and which one best fits your future projects.
๐ค Individual Assignment
For the individual assignment, I created a communication link between two devices/projects. The goal was to send data from one board to another and confirm that the receiving board correctly interpreted the message.
- Sender device: replace with your actual board/project
- Receiver device: replace with your actual board/project
- Protocol used: UART / I2C / Bluetooth / ESP-NOW / other
- Message type: text / sensor value / command / status signal
๐ป Code
Replace the example below with your actual sender and receiver code.
// Example: UART Sender
void setup() {
Serial.begin(115200);
}
void loop() {
Serial.println("Hello from sender");
delay(1000);
}
// Example: UART Receiver
void setup() {
Serial.begin(115200);
}
void loop() {
if (Serial.available()) {
String message = Serial.readStringUntil('\n');
Serial.print("Received: ");
Serial.println(message);
}
}
In this example, one device sends a message repeatedly while the second device listens and prints the received message. Replace this with your real communication logic and protocol setup.
๐งช Testing & Validation
I tested the communication system step by step to make sure the sender and receiver were both working correctly.
| Test | Expected Result | Observed Result |
|---|---|---|
| Sender transmission | Message is generated and sent | Success |
| Receiver listening | Incoming data is captured | Success |
| Data interpretation | Correct message is shown/used | Replace with your result |
| Full system communication | Reliable data exchange between projects | Replace with your result |
โ Results
Replace placeholders below with your actual screenshots, serial monitor logs, or setup photos.
Evaluation notes to add: reliability, speed, signal stability, distance (if wireless), and ease of debugging.
โ ๏ธ Issues & Fixes
- No data received: checked wiring, baud rate, and TX/RX pin mapping.
- Incorrect messages: verified data format and timing between sender and receiver.
- Unstable wireless connection: checked pairing/setup and simplified the test environment.
- Logic mismatch: added debugging prints and tested each board separately first.
๐ฆ Downloads
Replace the placeholder files below with your actual code and notes.
Example paths:
assignments/aX/sender-code.ino
Reflection โ What I Learned
- Communication protocols are essential for building multi-device systems.
- Testing sender and receiver separately makes debugging much easier.
- Wired and wireless methods each have different strengths depending on the application.
- Good documentation of pins, data format, and timing prevents confusion later.