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

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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

  1. Communication Protocols
  2. Learning RTOS
    1. Improved task management with priority-based scheduling (FreeRTOS), leading to 1.2x faster response time
  3. Embedded Systems/System Integration
  4. Mobile App Development