TEP DOWNLOAD CENTER

Project Files of Car Wiper Motor Library for Proteus V1.0 (12V, Park Switch)

Libraries Code Projects Simulation
tep://download-terminal car-wiper-motor-tep-v1-0-391f0fffff4a4bd9b11f6a8910ffde68.zip ZIP archiveV1.0Verified0 downloadsFree
Car Wiper Motor Library for Proteus: an Arduino UNO V4.0 and a 2-channel relay module run a 12 V car wiper motor with its arm
Proteus library · File 1 of 1

Car Wiper Motor Library for Proteus V1.0

Car Wiper Motor Library for Proteus V1.0 comes as a ZIP archive of 10 files (1.2 MB, 2.6 MB unpacked) holding Proteus library files, simulation model DLLs, a Proteus simulation, an Arduino sketch and compiled HEX firmware.

  • LIBProteus library
  • DLLProteus model
  • DSNProteus simulation
  • INOArduino sketch
  • HEXHEX firmware

Description

Car-Wiper-Motor-Library-for-Proteus-v1.0.zip with the 12 V car wiper motor in Proteus (two speeds, the park switch, the linkage and the arm on wet, dry or icy glass; TEPWIPER.LIB and TEPWIPER.DLL), our Arduino UNO V4.0, the A3 two-relay demo project with its sketch and a README.

Read Car Wiper Motor Library for Proteus V1.0 (12V, Park Switch)

File Structure

car-wiper-motor-tep-v1-0-391f0fffff4a4bd9b11f6a8910ffde68.zip10 files · 5 folders · 2.6 MB unpacked
Car-Wiper-Motor-TEP-v1.0/10 files · 2.6 MB
Arduino Code/1 file · 3.5 KB
Wiper_Demo/1 file · 3.5 KB
INO Wiper_Demo.inoArduino sketch 3.5 KB
Proteus Library Files/2 files · 233.1 KB
LIB ArduinoV4TEP.LIBProteus library 201.9 KB
LIB TEPWIPER.LIBProteus library 31.2 KB
Proteus Model Files/2 files · 1.1 MB
DLL TEPARDUINO.DLLSimulation model 883.5 KB
DLL TEPWIPER.DLLSimulation model 278 KB
Proteus Simulation/4 files · 1.2 MB
DSN Car-Wiper-Motor-Relay-ArduinoUnoV4.pdsprjProteus simulation 25.9 KB
DLL TEPARDUINO.DLLSimulation model 883.5 KB
DLL TEPWIPER.DLLSimulation model 278 KB
HEX Wiper_Demo.hexCompiled HEX file 16.2 KB
TXT README.txtText file 14.9 KB

README

README.txt 256 lines
CAR WIPER MOTOR LIBRARY FOR PROTEUS - V1.0 (a 12 V DC car wiper motor with its
park switch, its linkage and the wiper arm)
Designed by The Engineering Projects
www.TheEngineeringProjects.com

IMPORTANT LINKS
Article (read it first - pictures, step by step, every feature explained):
  https://www.theengineeringprojects.com/2026/11/car-wiper-motor-library-for-proteus-v1-0.html
Report a bug or suggest a feature (our forum):
  https://www.theengineeringprojects.com/forum/category/motor-driver-proteus-library
The demo runs on our Arduino UNO V4.0 (included) - working LEDs, RESET and a
built-in serial monitor - its own article:
  https://www.theengineeringprojects.com/2026/10/arduino-uno-library-for-proteus-v40.html
The demo switches the motor with our Relay Module - a SEPARATE library, not in
this package: download and install it first - its own article:
  https://www.theengineeringprojects.com/2026/10/relay-module-library-for-proteus-v1-0.html
Support us (the libraries are free):
  https://www.theengineeringprojects.com/donate

FILE STRUCTURE
Car-Wiper-Motor-TEP-v1.0/
|-- Proteus Library Files/
|   |-- ArduinoV4TEP.LIB                              201.9 KB   TEP Arduino boards V4.0 (UNO) -> LIBRARY
|   |-- TEPWIPER.LIB                                   31.2 KB   the library -> LIBRARY folder
|-- Proteus Model Files/
|   |-- TEPARDUINO.DLL                                883.5 KB   the Arduino board model -> MODELS folder
|   |-- TEPWIPER.DLL                                  278.0 KB   the model -> MODELS folder
|-- Proteus Simulation/
|   |-- Car-Wiper-Motor-Relay-ArduinoUnoV4.pdsprj      25.9 KB   the demo project
|   |-- TEPARDUINO.DLL                                883.5 KB   copy of the board model
|   |-- TEPWIPER.DLL                                  278.0 KB   copy of the model
|   |-- Wiper_Demo.hex                                 16.2 KB   the demo firmware
|-- Arduino Code/
|   |-- Wiper_Demo/Wiper_Demo.ino                       3.5 KB   the demo sketch (source of the .hex)
|-- README.txt                                        ~16.1 KB   this file
Total: 2.56 MB (unzipped). The C++ source code of the models is not included.

WHAT IS IT?
A simulation model of the car wiper motor - the 12 V DC motor with a worm
gearbox that drives a car's windscreen wipers, and a favourite of makers for
robots, animatronics and Halloween props because it is strong, slow and cheap
from a scrapyard. Its five DIN terminals: 53 the low speed, 53b the high speed
(a third brush), 31 ground, 53a +12 V for the park switch, 31b the park
switch's output. Our own model:
  * The two brushes are in the circuit: LOW from 53 to 31 (1.2 ohm, 1.5 mH),
    HIGH from 53b to 31 (0.9 ohm, 1.0 mH, 0.65 x the back-EMF: faster); their
    torque turns the motor through a 60 : 1 worm gear (it cannot be driven
    back) to the crank, the rod and the arm, which sweeps 90 deg.
  * The load: the blade on the glass, heaviest mid-sweep where the arm moves
    fastest - wet glass 3 N.m at the crank, dry glass 6 N.m (the blade drags),
    ice: the blade frozen to the glass (the motor stalls).
  * The park switch: a cam on the gear wheel connects 31b to 31 (ground) while
    the arm is down, and to 53a (+12 V) anywhere else. Wired to 53 when the
    wiper is switched off, it keeps the motor running until the arm is down,
    then shorts the low brush: the motor brakes and the arm stops parked.
  * On a 12 V supply: about 40 wipes a minute on LOW (2.2 A over a wipe on
    wet glass), about 58 on HIGH (3.4 A); dry glass: about 30 a minute, 3.8
    A; ice: 9 - 9.5 A stalled, and the windings heat fast.
  * The watch: LOW, HIGH, the wipes a minute, RUN-ON (the park switch fed 53),
    PARKED (where the arm stopped), STOPPED MID-SWEEP (no park circuit), the
    glass, and the warnings STALLED and HOT.
The symbol shows the motor from the front: the black motor can with its end
cap, the cast aluminium worm gearbox, the crank on its output, the rod to the
pivot's lever and the black wiper arm and blade on a piece of windscreen; the
5-way plug on the left. At Run the arm sweeps (rain drops on wet glass,
cleared where the blade passes; frost when icy). The plate, the ON LED (green
while current flows), the glass panel, the rating line and the strip under
the plate (WIPES, CURRENT, PARK, OPEN PANEL) are TEP additions; the real motor
has none of them.

ONE DEVICE (search "wiper" in Pick Devices):
  WIPERMOTORTEP    "Car Wiper Motor V1.0"   (category Electromechanical >
                   Motors), model TEPWIPER.DLL
  The pop-up panel "TEP Car Wiper Motor" opens at Run (and with OPEN PANEL on
  the strip) - the look of the TEP Serial Monitor. Tabs Wiper, Graphs, Event
  log and Check; gear and ? icons for Settings and Help; the palette icon
  switches the theme:
    Wiper      the glass chips (Wet glass, Dry glass, Ice); the state in big
               letters (LOW - 40 WIPES A MINUTE, 2.2 A ON WET GLASS; HIGH;
               OFF - PARKED; STALLED); the windscreen with the arm and the
               wiped arc; the live values (the wipes a minute, the speed, the
               current now and over a wipe, the arm, the park switch, the
               wipes, the windings); the last 4 s: the arm, the current and
               the park switch.
    Graphs     the wipes a minute, the current and the windings' temperature
               over the last 10, 30 or 60 s. Live / Freeze.
    Event log  LOW / HIGH ("LOW - 40 wipes a minute, 2.2 A on wet glass"),
               RUN-ON, PARKED, STOPPED MID-SWEEP, the glass, the warnings;
               filters All / Wipes / Warnings, Pause, Clear
    Check      Good for: a wiper that will not run, will not park, runs
               slowly or gets hot - the supply, the speed, the park circuit,
               the glass, the current, the windings, with tips
    Settings   theme, text size, open at Run, window size
    Help       report a bug, suggest a feature, article, updates, donate,
               forum; Copy diagnostics for a bug report

TEST STATUS
V1.0: verified in Proteus 8.5 on 29 Oct 2026 (the demo project as shipped: an
A3 sheet, an Arduino UNO V4.0 with its built-in monitor, our 2-channel relay
module - its pop-up version, from its own library - wired as the two-relay
wiper circuit, the motor on wet glass and RV1 at 30 %; all pop-ups open).
What the run showed:
  * The project loads and starts cleanly with the arm parked. "low": relay 1
    on (its LED and the motor's ON LED lit), "LOW - 40 wipes a minute, 2.2 A
    on wet glass"; the relay's pop-up: "NO closed: 2.36 A".
  * "high": "HIGH - 58 wipes a minute, 3.4 A on wet glass".
  * "off": "RUN-ON - the park switch fed 53 until the arm was down; now it
    brakes the motor", "PARKED - the arm down, 1.7 deg from its park point (9
    wipes so far)".
  * "int" ("a wipe every 5.9 s (RV1)"): two single wipes, each one RUN-ON,
    then PARKED 1.7 deg from the park point.
  * The Dry glass chip and "low": "LOW - 30 wipes a minute, 3.8 A on dry
    glass".
  * The Ice chip: "STALLED - 9.1 A and the arm does not move (ice on the
    glass? a blocked linkage?)"; "off" with the arm frozen: still STALLED
    (9.0 A - the park switch keeps feeding 53).
  * The Wet glass chip: "RUN-ON", then "PARKED - the arm down, 1.8 deg from
    its park point (15 wipes so far)"; the windings at 34 C after the run.
  Plus automatic checks on a PC, 0 failed: 10 on the motor (LOW on wet glass
  40.1 wipes a minute, 2.20 A over a wipe; HIGH 58.4, 3.39 A; off parks it
  1.7 deg from its park point; no park circuit: the arm stops at 25.9 deg; dry
  glass 31.4 a minute, 3.79 A; ice 9.5 A stalled and 112 C after 2 minutes; a
  24 V motor on 24 V 40.5 a minute) and 2 on the pop-up (every page painted,
  21.7 ms at the most).

INSTALLATION (about 2 minutes)
1. Close Proteus. Extract the WHOLE ZIP to a normal folder (e.g. Desktop).
2. Copy everything in "Proteus Library Files" (TEPWIPER.LIB and our Arduino
   library V4.0, ArduinoV4TEP.LIB) to the LIBRARY folder of Proteus, for
   example:
     C:\Program Files (x86)\Labcenter Electronics\Proteus 8 Professional\LIBRARY
   (on some PCs: C:\ProgramData\Labcenter Electronics\Proteus 8 Professional\
   LIBRARY - use the folder that already holds Proteus's own .LIB files).
3. Copy TEPWIPER.DLL and TEPARDUINO.DLL from "Proteus Model Files" to the
   MODELS folder (...\Proteus 8 Professional\MODELS). The demo's relay module
   is NOT in this package: install our Relay Module library the same way (its
   own ZIP - see IMPORTANT LINKS): TEPRELAY.LIB and TEPRELAY.DLL.
4. Delete TEPWIPER.IDX from the LIBRARY folder if it is there.
5. Start Proteus. In Pick Devices (P) search "wiper".

RUN THE DEMO
"Proteus Simulation\Car-Wiper-Motor-Relay-ArduinoUnoV4.pdsprj" - keep the .hex
file and the DLLs beside the project (with the Relay Module library
installed).
  ARD1: Arduino UNO V4.0 running Wiper_Demo.hex, its serial monitor built in
        (window "TEP Arduino UNO - ARD1").
  RLY1: our 2-channel relay module (pop-up version, a separate library): IN1
        on D7, IN2 on D8, VCC, GND; relay 1: COM1 on 53, NO1 on L12, NC1 on
        31B; relay 2: COM2 on +12V, NO2 on 53B, NC2 on L12 - by net labels.
  M1:   the motor (GLASS=WET): 53b on 53B, 53 on 53, 31b on 31B, 53a on
        +12V, 31 to ground.
  RV1:  10k pot on A0 (the intermittent pause, 2 - 15 s; 30 % = 5.9 s).
  1. Press Run. The monitor and the two pop-ups open (move them aside). The
     arm is parked.
  2. Type in the monitor and press Send: low, high, off, int, wipe.
  3. On the motor's pop-up: Wet glass, Dry glass, Ice.
  4. Double-click M1: VOLTAGE (12 / 24), GLASS (WET / DRY / ICE).

WIRING (the same idea in a real car or a project)
  The two-relay wiper circuit:
   relay 1   COM - 53;  NO - relay 2's NC;  NC - 31b
   relay 2   COM - +12 V (fused, 15 A);  NO - 53b
   motor     53a - +12 V;  31 - ground
  Both relays off: 53 on 31b - the park switch keeps it running until the
  arm is down, then brakes it. Relay 1 on: LOW. Both on: HIGH (53 cut off).
In the sketch (no library needed): the relay inputs are active LOW:
  digitalWrite(RELAY_LOW, LOW);                          // low speed
  digitalWrite(RELAY_LOW, HIGH); digitalWrite(RELAY_HIGH, HIGH);   // off: it parks
REAL HARDWARE:
 * A wiper motor draws 2 - 4 A running and about 10 A stalled - relays or a
   big H-bridge (BTS7960), a 15 A fuse, never an Arduino pin.
 * Keep the park circuit: off must be 53 on 31b, or the arm stops wherever
   it is. Terminal numbers vary between cars: find 31 / 53 / 53b / 31b / 53a
   with a meter (the park switch changes over as the output turns).
 * Never drive 53 and 53b at the same time.
 * On ice or a blocked linkage it stalls: the real motor has a thermal
   breaker; your circuit should time out too.

THE DEMO SKETCH ON THE SERIAL MONITOR (Wiper_Demo V1.0, 9600 baud)
  low     the low speed                  high    the high speed
  int     intermittent: a wipe every RV1 seconds
  wipe    one wipe                       off     off - the arm parks by itself
  help    the list
EXPECTED MONITOR OUTPUT
  Car Wiper Motor demo - The Engineering Projects
  Relay 1 (D7): 53 to +12 V or to the park switch 31b. Relay 2 (D8): 53b to +12 V. RV1: the pause.
  Commands: low | high | int | wipe | off | help

PROPERTIES (double-click the part > Edit Properties)
  VOLTAGE    the motor's voltage: 12 or 24 (a truck motor); default 12
  GLASS      the glass at the start: WET, DRY or ICE; default WET
Every run starts again from the properties.

TROUBLESHOOTING
* It does not move and nothing is logged: no supply on 53 / 53b, 31 not on
  ground, or the relays are not driven.
* STOPPED MID-SWEEP: the park circuit is missing - off must connect 53 to
  31b, and 53a must be on +12 V.
* It never stops: 53 is still on +12 V (relay 1 on), not on 31b.
* STALLED: ice on the glass (the Ice chip) or a blocked arm - switch it off.
* HOT: a long stall or dry glass for a long time.
* The part is not simulated: TEPWIPER.DLL is missing from MODELS and from the
  project folder. No relay: install our Relay Module library (TEPRELAY.LIB /
  .DLL). No UNO / no monitor window: TEPARDUINO.DLL, or click the UNO's USB
  port.
* The pop-up does not appear: click OPEN PANEL on the strip, or turn "Open the
  panel at Run" on its Settings page back on.

BUG REPORTS AND FEATURE REQUESTS
Please post them in our forum with a screenshot, the Serial Monitor text, the
simulation log and the pop-up's Copy diagnostics text:
  https://www.theengineeringprojects.com/forum/category/motor-driver-proteus-library

SUPPORT US
This library is free. If it saves you time, please support our work:
  https://www.theengineeringprojects.com/donate

LICENCES AND THIRD-PARTY NOTES
* The motor model (TEPWIPER.DLL), the symbol and artwork and the Arduino
  Library V4.0 (ArduinoV4TEP.LIB / TEPARDUINO.DLL) are made by The Engineering
  Projects. The model is an independent implementation written from the
  typical data of 12 V car wiper motors. The models use only standard Windows
  libraries; no Visual C++ redistributable is needed.
  The C++ source code is not included. The demo's relay module, our Relay
  Module library (TEPRELAY.LIB / TEPRELAY.DLL), is a separate download.
* The demo's .hex is built from the demo sketch and the Arduino AVR core 1.8.6,
  which includes LGPL-licensed code; its source code is available at
  https://github.com/arduino/ArduinoCore-avr/tree/1.8.6
* Proteus is a product of Labcenter Electronics and is not included. Arduino is
  a trademark of Arduino SA. This library is not made or endorsed by any car
  or wiper maker, Arduino or Labcenter.

REBUILDING THE FIRMWARE (OPTIONAL)
The HEX file is supplied; Arduino IDE is not needed to run the demo. To edit
the sketch, open Arduino Code\Wiper_Demo\Wiper_Demo.ino, select Arduino Uno and
use Sketch > Export Compiled Binary. The sketch needs 5,872 bytes of flash
(18 % of the UNO) and 274 bytes of RAM.

MODEL SCOPE AND LIMITS
Modelled: the two brushes (resistance with its temperature, inductance,
back-EMF), the worm gear (60 : 1, self-locking), the crank and the arm's
sweep, the blade's load on wet, dry or icy glass, the park cam switch, the
windings' heating, the watch's states and warnings.
How it runs: each brush is in the circuit as a backward-Euler companion over
the analog step; the park switch as two switched conductances; the motor and
the heat run in sub-steps of at most 0.2 ms between the analog points, which
are held to 1 ms while it turns or carries current (5 ms at rest).
Not modelled: the washer pump, rain sensors, a three-speed or intermittent
relay inside the car, the arm's spring pressure, the motor's internal thermal
breaker (it is warned about instead).

VERSION
TEP Car Wiper Motor library V1.0 (Oct 2026). Device WIPERMOTORTEP
(TEPWIPER.LIB / TEPWIPER.DLL). Demo sketch Wiper_Demo V1.0. Demo relay:
RELAY2ADVTEP (TEP Relay Module library V1.0, a separate library). Demo board:
ARDUINO UNO V4.0 (TEP Arduino Library V4.0) with its built-in serial monitor.
Advertisement

Development1 release

  1. V1.0Car Wiper Motor Library for Proteus V1.0this page

    V1.0 is the only release in the Download Center so far. When a newer version is published, it appears above with its own download page.

Installation8 steps

From the download to a working project, in order. The steps follow what the package contains.

You will need

  • Proteus Design SuiteProteus 8 or newer (Labcenter), on Windows
  • Arduino IDE1.8 or 2.x, with the board of the tutorial chosen under Tools → Board
  • Any archive toolWindows, macOS and Linux extract ZIP files on their own

Steps

  1. 1

    Extract the archive

    Right-click car-wiper-motor-tep-v1-0-391f0fffff4a4bd9b11f6a8910ffde68.zip and choose Extract All (or open it with 7-Zip or WinRAR) into a folder you can find again. Keep its folder structure (Car-Wiper-Motor-TEP-v1.0) as it is.

  2. 2

    Copy the library files into Proteus

    Move ArduinoV4TEP.LIB and TEPWIPER.LIB and the files into the LIBRARY folder of your Proteus installation: C:\Program Files (x86)\Labcenter Electronics\Proteus 8 Professional\LIBRARY for Proteus 8, or the matching Proteus 7 folder. Older versions keep it under ProgramData\Labcenter Electronics. If Proteus is open, close it first.

  3. 3

    Add the simulation model

    Copy TEPARDUINO.DLL and TEPWIPER.DLL into the MODELS folder next to LIBRARY, so the component can run, not only be drawn.

  4. 4

    Restart Proteus and place the component

    Start Proteus, open a schematic, press P (Pick Devices) and search for the component by the name used in the tutorial. It appears with its pins ready to wire.

  5. 5

    Open the sketch in the Arduino IDE

    Open Wiper_Demo.ino, select your board and port under Tools, then Verify. Sketch → Export Compiled Binary writes the HEX file a simulation needs.

  6. 6

    Load the HEX file

    In Proteus double-click the microcontroller, set Program File to Wiper_Demo.hex and run the simulation. For real hardware, flash the same file with your programmer.

  7. 7

    Open the example simulation

    Open Car-Wiper-Motor-Relay-ArduinoUnoV4.pdsprj in Proteus to see the wiring exactly as in the tutorial. Check the controller's Program File path, then press Play.

  8. 8

    Follow the tutorial

    Car Wiper Motor Library for Proteus V1.0 (12V, Park Switch) explains every connection and setting in order; keep it open beside the files while you build.

How to add a library in Proteus 8

FAQs9 questionsContact TEP

How do I download Car Wiper Motor Library for Proteus V1.0?

Wait for the 30-second guest countdown on this page, then press the download button; the file comes straight from our storage. Members who are logged in skip the wait. If the browser opens the file instead of saving it, use its Save as option. The download link is made for you when the countdown ends and works for 15 minutes; a saved or shared link stops working, so share this page instead.

What is inside the archive?

Car Wiper Motor Library for Proteus V1.0 comes as a ZIP archive of 10 files (1.2 MB, 2.6 MB unpacked) holding Proteus library files, simulation model DLLs, a Proteus simulation, an Arduino sketch and compiled HEX firmware. Open the File Structure tab for the full list of 10 files.

What should I do if the download does not start?

Check the browser's download list first; an ad blocker or a company firewall can also hold it back, so try another browser or network. If the file arrives incomplete, download it again. For an installation problem, read the Install tab or tell us in the comments with your software version and the exact error message.

Is this file free?

Yes. Every file in the TEP Download Center is free for learning, personal and student projects. If you share it, link back to this page or the tutorial so others find the latest version.

How do I check that the file arrived complete?

Compare its SHA-256 with the one on this page, 41af64b358d0ccf4c8549c7375e8f285040ed50365e50486e0700395e8af515a. In PowerShell run Get-FileHash "car-wiper-motor-tep-v1-0-391f0fffff4a4bd9b11f6a8910ffde68.zip"; on macOS or Linux run shasum -a 256 "car-wiper-motor-tep-v1-0-391f0fffff4a4bd9b11f6a8910ffde68.zip". The same value means the file is exactly the one in our storage; a different one means the download broke off, so download it again.

Do I need WinRAR to open the ZIP file?

No. Windows, macOS and Linux open ZIP archives on their own (Extract All, or double-click). WinRAR and 7-Zip work too. Extract the whole archive before using the files.

Where do I put the LIB and IDX files?

Both files go into the LIBRARY folder of your Proteus installation (Proteus 8: C:\Program Files (x86)\Labcenter Electronics\Proteus 8 Professional\LIBRARY; Proteus 7 has the same folder under its own name). Restart Proteus afterwards and search for the component with P.

Which Proteus version does the library need?

The tutorial names the Proteus version the library was made and tested with. Most TEP libraries work in Proteus 7 and Proteus 8; if the component does not appear after a restart, check that both the LIB and the IDX file were copied and that Proteus was fully closed while copying.

How do I get the HEX file into the simulation?

Compile the sketch in the Arduino IDE (Sketch → Export Compiled Binary gives you the HEX next to the sketch), then in Proteus double-click the board, set Program File to that HEX and run.

preparing · car-wiper-motor-tep-v1-0-391f0fffff4a4bd9b11f6a8910ffde68.zip
Rating
Your download will be ready shortly
Preparing your download…

Members skip the wait. Log in or join TEP.

  • 0Total downloads
  • 4%Popularity
  • ProteusCategory
  • 0Comments
  • ssyedzainnasirUploaded by
  • 2 Nov 2026Uploaded at
Last 14 days0 downloads
SHA-256 41af64b358d0ccf4c8549c7375e8f285040ed50365e50486e0700395e8af515a
DocumentationCar Wiper Motor Library for Proteus V1.0 (12V, Park Switch)
Need help with this file? Bug report Ask a question Download problemsGet updates
Advertisement

Comments

0

Join the conversation

Start the conversationAsk a question or share how you used this download.