This project was a continuation of the “Stackable Embedded System” project, aiming to further enhance the functionality of our custom-designed PCBs.

The objective was to enable remote control and incorporate several advanced features into our mobile robot platform. Key technical achievements of this project include:

  • Live Video Streaming: Enabled real-time video streaming with an onboard webcam mounted on a stepper motor and servo assembly, allowing for remote adjustability along the x and y axes.

  • Optimized Motor Control: Implemented and fine-tuned a closed-loop, interrupt-driven PI motor control algorithm to achieve adjustable set speeds for each independent DC motor.

  • Linux-Based Server: Designed and hosted a Linux-based server on a Raspberry Pi, serving as the platform supervisor.

  • Remote Communication: Developed a Linux-based client application for seamless remote communication with the server via Wi-Fi.

  • Fail-Safe System: Integrated a fail-safe system using a 'heartbeat' communication protocol between the server and client, ensuring the robot automatically enters emergency stop mode within 200 milliseconds in the event of a server or client crash.

  • Master-Slave System: Established a master-slave configuration with a Raspberry Pi as the master and an STM32 microcontroller as the slave, utilizing Direct Memory Access (DMA) for optimal input response efficiency in the interrupt-driven finite state machine on the STM32.

  • Gaming Controller Integration: Implemented socket programming to integrate a gaming controller for enhanced user control.

  • Status Display: Added an LCD to display the status of the mobile robot, facilitating troubleshooting and debugging.

Final Result Demonstration

Presentation Gallery