Remote Lab LMS & Hardware Integration
Provides students with remote access to physical laboratory equipment like FPGAs and microcontrollers, allowing for real-time interaction and session scheduling via a web interface.
Project Showcase
Visual overview of the platform interfaces
Project Overview
Project Overview
Remote Lab is a sophisticated Learning Management System (LMS) designed for engineering education. Unlike traditional LMS platforms, it bridges the gap between software and hardware by providing students and admins with remote access to physical laboratory equipment (FPGAs, microcontrollers) through a dynamic web interface.
The platform allows users to schedule sessions, view educational material, and interact with remote hardware in real-time, including uploading configuration files (bitstreams) and controlling hardware pins (GPIO).
Key Technical Achievements
- Hardware-Software Bridge: Engineered a robust integration layer between a Flutter frontend and Raspberry Pi controllers to enable low-latency hardware manipulation.
- Web-First Performance: Optimized the Flutter Web application for complex data entry, real-time hardware monitoring, and high-frequency state updates.
- Secure Remote Access: Implemented a secure architecture using Ngrok tunnels and Firebase Auth to allow public access to private laboratory networks without compromising security.
- Specialized File Handling: Built custom Flutter widgets to handle engineering-specific file formats and asynchronous upload workflows to remote embedded systems directly from the browser.
- Unified Data Pipeline: Integrated multiple external APIs (Google Sheets, Calendly, TutorLMS) into a centralized Firebase-backed data ecosystem for streamlined management.
Key Features
Remote Hardware Control
Real-time interaction with physical laboratory hardware (GPIO pins, status polling) via custom API endpoints on Raspberry Pi.
Bitstream Uploader
Custom file handling system for selecting and uploading hardware configuration files (.bit, .mcs) to remote devices from the browser.
Advanced LMS Suite
Hierarchical course structure with modules, lessons, and materials integrated with a session scheduling system for lab usage.
Real-time Camera Monitoring
Integrated camera stream viewing providing visual feedback of the physical hardware status during remote sessions.
Dynamic Session Scheduling
Automated hardware availability management and student scheduling using Calendly and custom event logic.
Secure Tunneling
Management of secure tunnels via Ngrok to bridge local laboratory hardware with the public cloud infrastructure.