by Komal Vachhani
See all projects here!
💡 Idea
The idea behind the SmartSwitch project was to create an automated light switch system that could efficiently control room lights using a combination of hardware and software. The goal was to develop a solution that would enhance convenience and energy efficiency by automating turning off lights when they were not needed.
🔨 Tools
- Arduino Mega: The Arduino Mega microcontroller board served as the core hardware component of the project. It provided processing power and I/O capabilities to control the lights and communicate with other modules.
- C++ Programming Language: C++ was chosen as the programming language for coding the firmware that ran on the Arduino Mega. It offered a robust and efficient platform for developing the necessary control logic.
- React Native: The SmartSwitch project also involved developing a mobile application for wirelessly controlling the switch. React Native was employed to create the user-friendly app while using Expo CLI for real-time user testing-driven development.
- HC-06 Bluetooth Module: The HC-06 Bluetooth module facilitated the communication between the mobile app and the Arduino Mega. It allowed users to toggle the switch on demand from their smartphones.
- Real-Time Operating System (RTOS): To improve task management and ensure the efficient execution of multiple processes, a Real-Time Operating System (FreeRTOS) was employed. Its priority-based scheduling algorithm significantly enhanced the responsiveness of the SmartSwitch system.
🔑 Key Learnings/Takeaways
- Communication Protocols
- Learning RTOS
- Improved task management with priority-based scheduling (FreeRTOS), leading to 1.2x faster response time
- Embedded Systems/System Integration
- Mobile App Development