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

PCB Probes


  • Connect quickly and effectively to PCB traces
  • Be cheap and easy to make
  • Allow in-circuit reprogramming of microcontrollers


  • Tested various designs for probes
    • Decided on clothespin because it pushes down on board
  • Designed PCB tip in KiCad, milled on CNC machine
  • Designed socket to make swapping probe tips easy, and aligner to keep probe centered
    • Socket and aligner 3D printed in PLA
    • Socket, aligner and magnets superglued to clothespin
  • Clothespins magnetically attracted to base, an extra toaster tray
  • PCB secured to base with double-sided tape


Quick change socket for probe tip
Powering circuit with probes