Objective and Design Philosophy

The goal of this project is to develop an embedded, remotely controlled window shades using wireless protocols. The system is designed to serve as a reliable and straightforward add-on to commonly available window shade motors, integrating easily with the hardware of our smart assistive living environment. It enables users to control window lighting without requiring significant physical effort.

Core Components

The system is built around the following hardware and software elements:

  • 120V Electric Tubular Motor to control tubing and attached shades.
  • Pi DSP2A-DC12V, DPST-NO (2 Form A) Relay to control power to the motor.
  • G5LE-1 DC12, SPDT(1 Form C) Relay to control the direction of the motor.

Implementation Strategy:

The system design is divided across two separate PCBs: one dedicated to power distribution and the other to the microcontroller. This separation provides electrical isolation between the DC power and AC power domains, enabling safe and effective motor control. The Raspberry Pi Pico W microcontroller communicates with the central hub using the MQTT protocol, facilitated by the ArduinoHA library.

Engineering Challenges and Solutions

  • Since the window shades directly use wall power, power isolation was essential to prevent any components from malfunctioning or burning up. To solve this, the design was revised with optoisolators, fuses, and a circuit breaker to follow safety precautions.
  • To prevent exposure to live wires, the PCBs were enclosed in 3d printed housings.

Performance:

System performance was evaluated in terms of image capture latency, transmission delay, and data consistency. With the ArduCAM configured to capture images at a reduced resolution of 320 x 240 pixels, average JPEG file sizes ranged between 8-15 KB depending on scene complexity. Simpler, low-texture scenes yielded smaller files and faster transmission times, while high-contrast or detailed scenes increased JPEG size and introduced transmission lag.