TEP DOWNLOAD CENTER

Project Files of MG90S Servo Motor Library for Proteus V1.0 (Metal Gear, Arduino)

Libraries Code Projects Simulation
tep://download-terminal mg90s-servo-motor-tep-v1-0-0521eef3d1fe4b4c9dc46bbda2c4aca6.zip ZIP archiveV1.0Verified0 downloadsFree
MG90S Servo Motor Library for Proteus: an Arduino UNO V4.0 driving the black MG90S metal gear servo with its horn at 135 degrees
Proteus library · File 1 of 1

MG90S Servo Motor Library for Proteus V1.0

MG90S Servo 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

MG90S-Servo-Motor-Library-for-Proteus-v1.0.zip with the MG90S metal gear micro servo in Proteus (a turning horn, the torque and current from the supply, stalls and the droop under a load; TEPMG90S.LIB and TEPMG90S.DLL), our Arduino UNO V4.0, the A4 demo project with its Servo.h sketch and a README.

Read MG90S Servo Motor Library for Proteus V1.0 (Metal Gear, Arduino)

File Structure

mg90s-servo-motor-tep-v1-0-0521eef3d1fe4b4c9dc46bbda2c4aca6.zip10 files · 5 folders · 2.6 MB unpacked
MG90S-Servo-Motor-TEP-v1.0/10 files · 2.6 MB
Arduino Code/1 file · 4.2 KB
MG90S_Servo_Demo/1 file · 4.2 KB
INO MG90S_Servo_Demo.inoArduino sketch 4.2 KB
Proteus Library Files/2 files · 226.7 KB
LIB ArduinoV4TEP.LIBProteus library 201.9 KB
LIB TEPMG90S.LIBProteus library 24.7 KB
Proteus Model Files/2 files · 1.2 MB
DLL TEPARDUINO.DLLSimulation model 883.5 KB
DLL TEPMG90S.DLLSimulation model 295 KB
Proteus Simulation/4 files · 1.2 MB
DSN MG90S-Servo-Motor-ArduinoUnoV4.pdsprjProteus simulation 22.9 KB
HEX MG90S_Servo_Demo.hexCompiled HEX file 18.3 KB
DLL TEPARDUINO.DLLSimulation model 883.5 KB
DLL TEPMG90S.DLLSimulation model 295 KB
TXT README.txtText file 18.6 KB

README

README.txt 314 lines
MG90S SERVO MOTOR LIBRARY FOR PROTEUS - V1.0 (the MG90S metal gear micro servo with a turning horn and a pop-up panel)
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/10/mg90s-servo-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, no Virtual Terminal to wire - its own article:
  https://www.theengineeringprojects.com/2026/10/arduino-uno-library-for-proteus-v40.html
Support us (the libraries are free):
  https://www.theengineeringprojects.com/donate

FILE STRUCTURE
MG90S-Servo-Motor-TEP-v1.0/
|-- Proteus Library Files/
|   |-- ArduinoV4TEP.LIB                              201.9 KB   TEP Arduino boards V4.0 (UNO) -> LIBRARY
|   |-- TEPMG90S.LIB                                   24.7 KB   the library -> LIBRARY folder
|-- Proteus Model Files/
|   |-- TEPARDUINO.DLL                                883.5 KB   the Arduino board model -> MODELS folder
|   |-- TEPMG90S.DLL                                  295.0 KB   the model -> MODELS folder
|-- Proteus Simulation/
|   |-- MG90S_Servo_Demo.hex                           18.3 KB   the demo firmware
|   |-- MG90S-Servo-Motor-ArduinoUnoV4.pdsprj          22.9 KB   the demo project
|   |-- TEPARDUINO.DLL                                883.5 KB   copy of the board model
|   |-- TEPMG90S.DLL                                  295.0 KB   copy of the model
|-- Arduino Code/
|   |-- MG90S_Servo_Demo/MG90S_Servo_Demo.ino           4.2 KB   the demo sketch (source of the .hex)
|-- README.txt                                        ~19.7 KB   this file
Total: 2.59 MB (unzipped). The C++ source code of the models is not included.

WHAT IS IT?
A simulation model of the MG90S, the metal gear micro servo: the SG90's size
and wiring with a metal gear train, a stronger motor and 13.4 g. Our own model,
not a symbol on top of Proteus's motor:
  * It reads the pulses on SIG like the real servo: a servo pulse is 300 -
    3000 us; 544 - 2400 us means 0 - 180 deg - the numbers of the Arduino
    Servo library, so write(90) puts the horn at 90 deg (properties PULSE_MIN /
    PULSE_MAX for other libraries).
  * Inside: the position loop of an analog servo (a dead band of about 0.45
    deg - the data sheet's 5 us), the DC motor (6.9 ohm, back-EMF), the metal
    gearbox (a little more friction and inertia than the SG90's plastic one),
    the horn's inertia, end stops at -8 and 188 deg. The horn turns at the real
    speed: about 585 deg/s with no load at 4.8 V - 60 deg in about 0.13 s with
    the start and the slow-down, 0.11 s at 6 V.
  * The torque follows the supply: 1.8 kg.cm at 4.8 V, about 1.9 kg.cm at 5 V
    and 2.2 kg.cm at 6 V - the data sheet's two points.
  * The current comes from V+ in the circuit: about 6 mA at rest, a few
    hundred mA at the start of a move, about 0.7 A when it stalls - a probe or
    an ammeter on V+ shows it.
  * Like a real analog servo it is driven only while pulses come: after
    detach() the horn holds by the gears' friction. A pulse beyond the range
    pushes the horn against its end stop (and draws stall current).
  * The load: property LOAD (kg.cm), the load buttons on the pop-up, or a click
    on the horn: a 2.5 kg.cm brake - more than an MG90S can give: it stalls. A
    load it can carry holds the horn a few degrees short - the loop's droop -
    and the pop-up says so.
  * The mistakes it names: no power or a low V+, SIG stuck HIGH, fast PWM
    (analogWrite) instead of servo pulses, pulses faster than 100 Hz, a pulse
    beyond the range, a stall.
The symbol looks like the real servo seen from the top: the black body with its
two mounting ears and the METAL GEAR label, the brass bushing round the output
shaft, the white single-arm horn, the brown / red / orange cable to its plug
(GND, V+, SIG). The horn turns on the schematic to the simulated angle; an
orange marker on the 0 - 180 deg scale shows the angle the pulses ask for. The
plate, the scale, the PWR and SIG LEDs and the strip under the plate (ANGLE,
PULSE, CURRENT and OPEN PANEL) are TEP additions; the real servo has none.

ONE DEVICE (search "MG90S" or "servo" in Pick Devices):
  MG90SSERVOTEP   "MG90S Servo Motor V1.0"   (category Electromechanical >
                 Servo Motors), model TEPMG90S.DLL
  The pop-up panel "TEP MG90S Servo Motor" opens at Run (and with OPEN PANEL on
  the strip) - the look of the TEP Serial Monitor. Tabs Servo, Graphs, Event
  log and Check; gear and ? icons for Settings and Help; the palette icon
  switches the theme:
    Servo      the state in big letters (HOLDING / MOVING / HOLDING AGAINST
               A LOAD / NO PULSES / STALLED / NO POWER), the dial - the orange
               target and the white horn -, the live values (target, angle,
               pulse, rate, speed, current, supply, load), the signal: one frame
               and the last pulse against the 0 / 90 / 180 deg marks. The
               toolbar: the load on the horn (None, 0.5 - 2.0 kg.cm) and the
               2.5 kg.cm brake.
    Graphs     the angle (the horn and the target), the supply current and the
               pulse width over the last 1, 3 or 6 s. Live / Freeze.
    Event log  power, every new target and every move with its time and speed
               ("reached 30.2 deg from 134.9 in 214 ms"), a move stopped short
               by the load, the signal, the load, the warnings; filters All /
               Moves / Warnings, Pause, Clear
    Check      Good for: a servo that does not move, jitters, stops short,
               buzzes or resets the Arduino - the supply, the signal, the pulse
               rate, the pulse widths seen against the servo's range, the
               range, the load against the torque at this supply, the position
               and the current, each with a verdict (green = fine, amber =
               check, red = wrong)
    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
A4 sheet, an Arduino UNO V4.0 with its built-in monitor, the MG90S on D9, RV1 on
A0 at 75 %; the pop-up open).
What the runs showed (the horn's angle as the model computed it):
  * The project loads and starts cleanly. RV1 at 75 %: "Pot 768 -> Angle 135
    deg -> pulse 1936 us"; "reached 134.7 deg from 92.7 in 112 ms (377
    deg/s)", then 135.0 deg held at 6 mA.
  * Typed 30: 853 us - "reached 30.2 deg from 134.9 in 214 ms (489 deg/s)";
    knob: "reached 134.7 deg from 30.1 in 215 ms (488 deg/s)".
  * The load (the pop-up's chips) at 5 V: 2.0 kg.cm and 30 asked - the horn did
    not move: "STALLED at 134.8 deg - the load (2.0 kg.cm) is above its torque
    (1.9 kg.cm at 5.0 V), 729 mA". 1.5 kg.cm: the horn went down and "stopped
    at 34.0 deg, 4.0 deg short of 30.0 (the load)"; the pop-up: "HOLDING 33.5
    DEG AGAINST 1.5 KG.CM - 3.6 DEG SHORT (THE LOOP'S DROOP)", 377 mA.
  * sweep: the horn followed the target 1 deg every 15 ms from 0 to 180 deg
    and back (the Graphs page: the blue horn on the orange target), 14 mA.
  * knob again: 135 deg; the Check page all green - "6 mA now, 766 mA peak -
    the peaks are the start of each move; fine on 5 V for one MG90S".
  * The pop-up: Servo, Graphs (1 / 3 / 6 s), Event log, Check - all four pages
    followed the run.
  Plus automatic checks on a PC, 0 failed: 28 on the servo (Servo.h's 0 - 180
  deg land within 0.6 deg; 60 deg in 0.129 s at 4.8 V with the settling,
  0.107 s at 6 V; top speed 584 deg/s; no overshoot; 6 mA at rest; 1.5 kg.cm
  reaches 0 deg within the loop's droop (4.0 deg); 2.5 kg.cm stalls at 702 mA;
  2.0 kg.cm stalls at 4.8 V and gets through at 6 V; no pulses = no drive;
  2800 us = the end stop; analogWrite pulses ignored; SIG stuck HIGH found;
  2.5 V = dead; detach() holds undriven; the Sweep example followed within 1.7
  deg); 6 on the pop-up pages rendered; the demo project read back from disk
  (51 checks: devices, pins, wires, labels, no wire through a part, no wire
  crossing).

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" (TEPMG90S.LIB, and our Arduino
   library V4.0, ArduinoV4TEP.LIB, with the ARDUINO UNO V4.0 used by the demo)
   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 TEPMG90S.DLL and TEPARDUINO.DLL from "Proteus Model Files" to the
   MODELS folder (...\Proteus 8 Professional\MODELS).
   ArduinoV4TEP.LIB and TEPARDUINO.DLL are the files of our Arduino Library
   V4.0 - if you have it, they are the same.
4. Delete TEPMG90S.IDX from the LIBRARY folder if it is there (Proteus makes a
   new index).
5. Start Proteus. In Pick Devices (P) search "MG90S".

RUN THE DEMO
"Proteus Simulation\MG90S-Servo-Motor-ArduinoUnoV4.pdsprj" (an A4 sheet) - keep
the .hex file and the two DLLs beside the project.
  ARD1: Arduino UNO V4.0 running MG90S_Servo_Demo.hex (the Arduino Servo
        library), its serial monitor built in (window "TEP Arduino UNO - ARD1").
  SERVO1: the MG90S - SIG on D9 (by the SIG net label), V+ on the +5V power
        terminal (Proteus' 5 V rail), GND.
  RV1: a 10k potentiometer (POT-HG) on A0 - the Knob example: turn it and the
        horn follows.
  1. Press Run. The monitor and the servo's pop-up open (move them aside -
     they open over the schematic). The horn goes to the pot's angle (RV1 at
     75 %: 135 deg).
  2. Click RV1's arrows: the horn follows, the orange marker first.
  3. Type in the monitor and press Enter or Send: 30 (an angle), us 2800
     (beyond the range), sweep, knob, detach - see THE DEMO SKETCH.
  4. On the pop-up pick 2.0 kg.cm and type 30: STALLED - more than the 1.9
     kg.cm an MG90S gives at 5 V. Pick 1.5 kg.cm: it moves, and holds a few
     degrees short. Click the horn for the 2.5 kg.cm brake (again to release).
  5. The pop-up: Servo, Graphs (try 6 s and Freeze), Event log, Check.
Closed a window? The monitor: click the UNO's USB port; the pop-up: OPEN PANEL.

WIRING (the same in Proteus and on a real board)
  MG90S wire       Arduino UNO
   brown (GND)    GND
   red (V+)       5V (one MG90S with no load - see REAL HARDWARE)
   orange (SIG)   D9 (any digital pin: the Servo library makes the pulses
                  with Timer1)
  Potentiometer   the ends to 5V and GND, the wiper to A0
In the sketch (Arduino Servo library, installed with the Arduino IDE):
  #include <Servo.h>
  Servo servo;
  servo.attach(9);                 // D9: 50 Hz pulses start
  servo.write(90);                 // 0 - 180 deg = 544 - 2400 us
  servo.writeMicroseconds(1500);   // or the pulse itself
REAL HARDWARE:
 * One MG90S draws up to about 0.7 A when it starts or stalls: more than one
   servo, or any load, wants its own 5 - 6 V supply for the red wire, GND
   common with the Arduino's - an Arduino on USB power can reset otherwise.
 * 6 V gives about a quarter more torque and speed than 4.8 V; keep it at or
   under 6 V.
 * The metal gears survive a stall or a knock that strips an SG90's plastic
   gears - but the motor still heats up: do not leave it stalled.
 * Many MG90Ss turn less than 180 deg for 544 - 2400 us, or hit their end stop
   before 2400 us: find each servo's own limits (attach(pin, min, max)) and
   keep the pulses inside them - a servo pushing against its stop runs hot.
 * analogWrite() is not a servo signal (980 Hz PWM): use the Servo library.

THE DEMO SKETCH ON THE SERIAL MONITOR (MG90S_Servo_Demo V1.0, 9600 baud)
  0 - 180       go to that angle and stay (the pot is ignored until knob)
  us 1500       writeMicroseconds(1500), 400 - 2900 us - try 2800: beyond the
                servo's range, the horn hits its end stop (the Servo library
                clamps writeMicroseconds() to the attach() limits, 544 - 2400 us
                by default, so the sketch re-attaches with attach(9, 400, 2900)
                for a pulse outside them)
  sweep         0 -> 180 -> 0 deg, 1 deg every 15 ms (the Sweep example),
                then back to the pot
  knob          follow the pot on A0 again (the Knob example)
  detach        stop the pulses - the horn is no longer driven
  help          the list
EXPECTED MONITOR OUTPUT
  MG90S Servo Motor demo - The Engineering Projects
  Turn the pot on A0, or type an angle.
  Commands: 0-180 = angle, us 1500 = pulse width, sweep, knob, detach, help
  Pot 768 -> Angle 135 deg -> pulse 1936 us

PROPERTIES (double-click the part > Edit Properties)
  PULSE_MIN   the pulse for 0 deg in us (default 544, the Servo library's)
  PULSE_MAX   the pulse for 180 deg in us (default 2400)
  START       the horn's angle at the start in deg (default 90)
  LOAD        a constant load on the horn in kg.cm (default 0; the MG90S gives
              1.8 kg.cm at 4.8 V, 2.2 kg.cm at 6 V)
Every run starts again from the properties. The demo's UNO (ARDUINO UNO V4.0):
PROGRAM MG90S_Servo_Demo.hex, MONITOR YES (the built-in monitor), BAUD 9600,
AUTOOPEN YES, BOOTLOADER YES.

LINKS.INI (OPTIONAL)
The Help page cards of the pop-up open web pages. To point them somewhere else
without a new DLL, put a text file named links.ini next to TEPMG90S.DLL with
lines KEY=URL, for example:
  ARTICLE=https://www.theengineeringprojects.com/...
Keys: WEBSITE, FORUM, BUG_REPORT, FEATURE_REQUEST, ARTICLE, USER_GUIDE,
UPDATE_CHECK, DONATE. Only http:// and https:// links are used; lines starting
with # are comments.

TROUBLESHOOTING
* The horn never moves and the pop-up says NO POWER: V+ is not connected or
  below 3 V (an MG90S wants 4.8 - 6 V).
* WAITING FOR PULSES / no pulses: SIG is on another pin than the sketch's
  attach(), or the sketch never called attach() / write().
* "SIG stays HIGH" or "pulses under 300 us": digitalWrite() or analogWrite() on
  the SIG pin - use the Servo library.
* The horn stops a few degrees short: a load (LOAD, the pop-up's load buttons)
  - HOLDING AGAINST A LOAD. Under load a real analog servo droops too.
* STALLED: the load is above the torque at this supply (1.9 kg.cm at 5 V), or
  the brake - the orange ring round the hub.
* The horn sits at an end and the current is high: a pulse beyond the range
  (the Check page shows the widths seen) - or PULSE_MIN / PULSE_MAX do not
  match the library's numbers.
* The part is not simulated / the horn never turns: TEPMG90S.DLL is missing from
  MODELS and from the project folder. No UNO / no monitor window:
  TEPARDUINO.DLL is missing, 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

WEBSITE
  https://www.theengineeringprojects.com/

LICENCES AND THIRD-PARTY NOTES
* The servo model (TEPMG90S.DLL), the symbol and artwork and the Arduino Library
  V4.0 (ArduinoV4TEP.LIB / TEPARDUINO.DLL, with its built-in TEP Serial Monitor
  Advance) are made by The Engineering Projects. The model is an independent
  implementation written from the typical data of the MG90S micro servo. The
  model uses only standard Windows libraries; no Visual C++ redistributable is
  needed.
  The C++ source code is not included.
* Arduino UNO V4.0 (ArduinoV4TEP.LIB / TEPARDUINO.DLL, our Arduino Library
  V4.0 - its microcontroller is Proteus's own AVR model): The Engineering
  Projects, https://www.theengineeringprojects.com/2026/10/arduino-uno-library-for-proteus-v40.html
* The potentiometer is Proteus's own POT-HG.
* The demo sketch uses the Arduino Servo library 1.2.2 (LGPL 2.1, Arduino:
  https://github.com/arduino-libraries/Servo), installed with the Arduino IDE.
  The .hex file is built from the demo sketch, the Servo library and the
  Arduino AVR core 1.8.6, which include LGPL-licensed code; their source code
  is available at https://github.com/arduino-libraries/Servo/tree/1.2.2 and
  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. MG90S is a TowerPro product.
  This library is not made or endorsed by TowerPro, 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\MG90S_Servo_Demo\MG90S_Servo_Demo.ino (the Servo
library comes with the Arduino IDE), select Arduino Uno and use Sketch > Export
Compiled Binary. Replace the simulation's .hex with the exported HEX. The
sketch needs 6,648 bytes of flash (20 % of the UNO) and 306 bytes of RAM.

MODEL SCOPE AND LIMITS
Modelled: the MG90S's pulse decoding (300 - 3000 us, the period between pulses),
the pulse stretcher (the motor is driven about 22 ms after each pulse), the
position loop with its dead band, the motor (resistance, back-EMF), the metal
gearbox, inertia, friction, end stops, the current from V+, the torque and the
speed from the supply (4.8 - 6 V; 3 V and less: nothing moves), a load torque,
the droop under a load, stalls.
How it runs: Proteus runs the digital side (the Arduino's pulses) before each
analog step; the servo keeps every SIG edge with its time and integrates its
motor and horn over each step from that history, in 50 us steps, with analog
steps of 1 ms or less.
Not modelled: the servo's dead band and range variations from part to part,
gear play, heating and damage from a wrong supply (the model only warns).
Digital servos (300 Hz and more) and continuous-rotation servos are not
modelled - the MG90S here is the standard 180 deg analog servo.

VERSION
TEP MG90S Servo Motor library V1.0 (Oct 2026). Device MG90SSERVOTEP (TEPMG90S.LIB /
TEPMG90S.DLL). Demo sketch MG90S_Servo_Demo V1.0 (Arduino Servo library 1.2.2).
Demo board: ARDUINO UNO V4.0 (TEP Arduino Library V4.0) with its built-in
serial monitor.
Advertisement

Development1 release

  1. V1.0MG90S Servo 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 mg90s-servo-motor-tep-v1-0-0521eef3d1fe4b4c9dc46bbda2c4aca6.zip and choose Extract All (or open it with 7-Zip or WinRAR) into a folder you can find again. Keep its folder structure (MG90S-Servo-Motor-TEP-v1.0) as it is.

  2. 2

    Copy the library files into Proteus

    Move ArduinoV4TEP.LIB and TEPMG90S.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 TEPMG90S.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 MG90S_Servo_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 MG90S_Servo_Demo.hex and run the simulation. For real hardware, flash the same file with your programmer.

  7. 7

    Open the example simulation

    Open MG90S-Servo-Motor-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

    MG90S Servo Motor Library for Proteus V1.0 (Metal Gear, Arduino) 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 MG90S Servo 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?

MG90S Servo 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, 0fd9cc3cd0b7a6bd7fb6a83a720f956bdb19d4a9b7d87a9cb45ca04889d10ec7. In PowerShell run Get-FileHash "mg90s-servo-motor-tep-v1-0-0521eef3d1fe4b4c9dc46bbda2c4aca6.zip"; on macOS or Linux run shasum -a 256 "mg90s-servo-motor-tep-v1-0-0521eef3d1fe4b4c9dc46bbda2c4aca6.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 · mg90s-servo-motor-tep-v1-0-0521eef3d1fe4b4c9dc46bbda2c4aca6.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
  • 30 Oct 2026Uploaded at
Last 14 days0 downloads
SHA-256 0fd9cc3cd0b7a6bd7fb6a83a720f956bdb19d4a9b7d87a9cb45ca04889d10ec7
DocumentationMG90S Servo Motor Library for Proteus V1.0 (Metal Gear, Arduino)
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.