Project Files of Car Wiper Motor Library for Proteus V1.0 (12V, Park Switch)
car-wiper-motor-tep-v1-0-391f0fffff4a4bd9b11f6a8910ffde68.zip

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.
File Structure
3.5 KB201.9 KB31.2 KB883.5 KB278 KB25.9 KB883.5 KB278 KB16.2 KB14.9 KBGallery12 images from the tutorialOpen the tutorial
The circuit, the board and the results as they appear in Car Wiper Motor Library for Proteus V1.0 (12V, Park Switch). Open an image for its full size.












README
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.Development1 release
-
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
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
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
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
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
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
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
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
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.
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.
Members skip the wait. Log in or join TEP.
- 0Total downloads
- 4%Popularity
- ProteusCategory
- 0Comments
- ssyedzainnasirUploaded by
- 2 Nov 2026Uploaded at
41af64b358d0ccf4c8549c7375e8f285040ed50365e50486e0700395e8af515a

















Comments
0