Window Motor Controls





The new style switches for the older window motors are not directly compatible and will need to be integrated through custom circuitry. If using a microcontroller for control of this system, programming and DC voltage systems knowledge is necessary.

Another aspect that makes this a challenge is that linear motion systems mostly use limit switches to run the system safely within its designated range. Newer window motors usually have a self-resetting breaker to keep the motors from overheating or binding. The target vehicle has no resettable breakers and does not have enough room for limit switches and the necessary wiring.

Problem Statement

Controls for an electronics retrofit kit are needed for electric windows in an older car with no computer system. The desired result is to create a kit that will allow the windows to perform in the same manner that newer cars feature.

Since this is a vehicle, it will need to be able to drive 12-volt relays. The number of inputs and outputs will require a microcontroller. The combination of these two factors means that a dual voltage system may be necessary.

The window switches have already been sourced and have two outputs for five button states. The buttons should be able to move the windows up, down, to the closed up position, and the fully open position.

Envisioned Solution

This system will be able to perform all window movements and keep the system from drawing excessive power to the components. A passenger window switch should output its button states to an Arduino Nano to move the window as long as the first stage button is pressed until released, and automatically to the final position if the second stage button is pressed momentarily. Any other button press on the same window should interrupt the current motion of the window.

The Arduino will control 12-volt relays that will power the high current window motors. The window motor has two power wires and is grounded through the body. The use of the relays effectively turns the wiring into an H-bridge for the motor control. It is imperative that the up and down relay cannot be on at the same time or the motor will short out.

In order to stop the motors on automatic movements, it is desired that a Hall effect current sensor is used because it will be able to handle up to 30 amps and be a non-invasive method of measuring stall current of the motors.

A secondary objective is to program the same features to a 'master Arduino' for the driver controls. This 'master' would send a digital signal to the 'slave'(passenger) windows to indicate button states pressed on the driver controls. This digital signal will help minimize the number of wires needed to be run throughout the vehicle.

In the program itself, it must be able to sequence a combination of two signals to indicate five button states: no signal - no output; signal A - up; signal A then B - full up; signal B - down; signal B then A - full down. These states will either turn on a relay for the time that the button is pressed (for single signal), or latch the relay on (for both signals) until the current sensing interrupt signals that the window has gone to the final location

What’s a Rich Text element?

The rich text element allows you to create and format headings, paragraphs, blockquotes, images, and video all in one place instead of having to add and format them individually. Just double-click and easily create content.

Static and dynamic content editing

A rich text element can be used with static or dynamic content. For static content, just drop it into any page and begin editing. For dynamic content, add a rich text field to any collection and then connect a rich text element to that field in the settings panel. Voila!

How to customize formatting for each rich text

Headings, paragraphs, blockquotes, figures, images, and figure captions can all be styled after a class is added to the rich text element using the "When inside of" nested selector system.

Project Rules

Challenge Rules

  • Your submission must be accompanied with a written summary detailing how and why your submission meets as many possible requirements and standards for the challenge
  • Files must be submitted in a single zip-file before required deadlines
  • Submissions must be mindful of any potential intellectual property violations or cite the source for credit
  • Solution providers may submit multiple entries barring that they are all unique
  • If the judges determine that inadequate number of quality submissions have been submitted, they reserve the right to:
  • Modify, extend the dates as deemed fit
  • Modify prize structure
  • Cancel the challenge
  • At the end of Stage 1, the number of prizes awarded is at the discretion of the judges based on the quality of submissions
  • Typically, the language used for coding is expected to be standard Arduino code, C++, or Python.

Project Compensation Breakdown

Challenge Prize Breakdown

Top 5 Submissions

  • Winner 1: $100
  • Winner 2: $100
  • Winner 3: $100
  • Winner 4: $100
  • Winner 5: $100


Stage 1:

Written plan for how the solution will work with technical details and functional details of:

  • Reasoning for design specifics
  • Circuit diagram
  • Arduino code
  • Any simulations if performed (not required

Pictures or a video of a breadboard

  • Buttons to represent the window switches
  • Relays or LED's to represent window movement
  • Hall effect sensor or a momentary button to indicate stall current condition
  • BONUS: 'Master' Arduino controlling a 'slave' Arduino (two sets of controls must be shown for this)

Note: Any Arduino can be used by the applicant, but the final design must be for an Arduino Nano.


Stage 1:

  • Full report will be reviewed by the client and the Surcle team to the standards of the scoring rubric.
  • Check the written plan and profile of submitter
  • Client will upload submitted code to a test setup and create the circuit described in the submitted report.
  • Client will test that all functions perform properly.
  • Code will be reviewed to the specifications of the scoring rubric.
  • Check language, compiler, toolchain plans
  • Run through the code: headers and source files must compile
  • Upon final testing and analysis, winners of this challenge will be chosen and contacted

Stage 2:

In the event that this challenge is inconclusive or does not provide a fully functional solution, winners of the challenge may be contacted to make adjustments or improvements to the final designs.


Please take a moment to review this project's terms and agreement.

Engineer Types



14 Weeks


Mar 13th, 2020




Not your cup of tea?