It can be extremely annoying and frustrating to finally get comfortable somewhere only to realize that you forgot to turn off a light, thus requiring a short journey to and from the wall switch. Mechanical engineering student and Instructables user alanmerritt ran into the same problem in his dorm room, so he responded by creating a device that could remotely operate a light switch without any modifications to the switch itself.
The first step in designing this remote control device was measuring the fixture and modeling it in CAD, after which Alan made a small rack-and-pinion mechanism that uses a servo motor to rotate a gear and thus lift an attached slider up or down. He also 3D printed an enclosure that surrounds the otherwise ugly electronics, hiding them from the view of potential visitors.
Commands to toggle the switch are sent from a controller that consists of an Arduino Mega and an nRF24 wireless transceiver module, and a corresponding nRF24 transceiver receives the command and passes the information to an Arduino Uno over the SPI bus. Finally, this Uno board interprets the command and moves the servo motor to their the on or off position accordingly.
To read about this project in more detail, including the code and design files, you can check out Alan’s write-up here on Instructables.