Group assignment
Individual assignments
Embedded Networking and Communications refer to the methods and technologies used to enable communication between embedded systems, or between embedded systems and external devices. These systems are designed to perform specific tasks and often work in collaboration with other hardware/software components.
Enables devices to communicate and share data. It includes both wired (UART, SPI, I2C, CAN) and wireless (Wi-Fi, Bluetooth, Zigbee) communication methods.
Wi-Fi (Wireless Fidelity) is a wireless networking technology that allows devices to communicate over a wireless signal. It uses radio waves to provide high-speed internet and network connections. Wi-Fi operates primarily on 2.4 GHz and 5 GHz frequency bands and requires a wireless router or access point. Devices like smartphones, laptops, and microcontrollers (e.g., ESP32) can connect to a Wi-Fi network to access the internet or communicate with each other. Wi-Fi is widely used due to its convenience, scalability, and ability to support multiple devices within a range of 30–100 meters indoors.
The ESP32-C3 is a powerful, cost-effective microcontroller developed by Espressif Systems. It features integrated 2.4 GHz Wi-Fi and Bluetooth Low Energy (BLE) capabilities, making it ideal for IoT applications. Built on a RISC-V single-core processor, it offers robust performance, enhanced security features like secure boot and flash encryption, and low power consumption. The ESP32-C3 supports Wi-Fi 802.11 b/g/n protocols, allowing stable and fast wireless communication. Its compact size, GPIO flexibility, and open-source toolchain make it perfect for wireless sensor networks, smart devices, and remote control systems where seamless internet connectivity is essential.
ESP-NOW is a lightweight, connectionless communication protocol developed by Espressif, supported by the ESP32-C3 microcontroller. It allows devices to communicate directly using MAC addresses without requiring Wi-Fi or internet. ESP-NOW enables fast, low-power, peer-to-peer data transfer, making it ideal for real-time control, sensor networks, and IoT projects.
One-Way Communication (Unicast)
A sender transmits data to a specific receiver using its MAC address.
Two-Way Communication (Bidirectional)
Devices exchange data both ways, useful for confirmation and control tasks.
Broadcast Communication
One device sends data to multiple receivers at once without specifying individual MAC addresses.
Mixed Communication (Unicast + Broadcast)
Combines both methods, allowing selective and group messaging simultaneously.
In this task, I used two ESP32-C3 microcontroller modules to demonstrate wireless communication. The first ESP32-C3 was connected to a push button, while the second was connected to an LED. When I pressed the push button, the first module detected the input and sent a signal over Wi-Fi to the second ESP32-C3. Upon receiving the signal, the second module responded by blinking the LED. This setup effectively demonstrated how simple input signals can be wirelessly transmitted and used to control output devices remotely, showcasing the capabilities of ESP32-C3 modules in IoT-based applications and wireless communication between devices.
The Master ESP32-C3 reads joystick values.
The Slave ESP32-C3 receives data and controls the OLED and motors.
I demonstrated the functionality of my wireless controller system using ESP32-C3 modules. I verified the successful data transfer from the master module (with the joystick) to the slave module (with the OLED and motor driver) using the Serial Monitor. When the joystick was moved, corresponding data packets were sent through ESP-NOW and received by the slave. The slave module correctly interpreted the signals, triggering the OLED to display directional values and activating the motors accordingly. The motor rotated forward or backward based on joystick direction, proving that the communication and control logic worked reliably.
Here I used the boards developed during my Input and Output Devices assignments. Please check out those assignments for detailed information on the design, components used, and testing process. These boards played a crucial role in enabling sensor input and motor control, seamlessly integrating into the final project.
For my Final Project, I developed a wireless controller system for my BB-8 inspired bot using two ESP32-C3 modules. The master module is connected to a generic 2-axis joystick, capturing directional input from the user. This input is transmitted wirelessly using ESP-NOW protocol to the slave module. The slave ESP32-C3 is integrated with an OLED display for feedback and a motor driver (L298N) that controls two N20 motors (3V, 300 RPM). This setup allows smooth, real-time control of the bot's movement without the need for an external router or internet, enabling efficient communication between the controller and the bot.