Chain Puller


  • Integrate fluorescent light fixture into smart home system
  • Device should work consistently


  • Tested pulling light chain with servo motor
    • Added spring to give the device more pulling power
    • Adjusted servo moving distance to pull the chain correctly
  • Modified lightbulb example from esp-homekit-sdk to control servo
    • Runs on ESP-32 development board
  • Added light state sensor
    • Compares two photoresistors to determine on/off state of fluorescent fixture
      • Two photoresistors allow the sensor to be accurate regardless of external light levels
    • Interfaced sensor with esp-homekit-sdk to display state of light in smart home app


  • Successful project- is used daily
  • Fails to fully pull the chain occasionally
    • Sensor allows this error to be noticed by the user so they can try again
    • Adjusting servo travel distance may help with this issue, or using a stronger actuator
  • Chain gets disconnected from servo arm sometimes, but it can be reattached
Appears in Apple’s Home app
One photoresistor faces the light, the other away