Project Files of Electric Bell Library for Proteus V1.0 (Arduino + 12V Trembler Bell)
electric-bell-tep-v1-0-038474fea5cc47ff8a72acc3888f3c2c.zip

Electric Bell Library for Proteus V1.0
Electric Bell Library for Proteus V1.0 comes as a ZIP archive of 10 files (1.2 MB, 2.5 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
Electric-Bell-Library-for-Proteus-v1.0.zip with the electric trembler bell in Proteus (a 12 V DC bell: the coils, the interrupter contact, the hammer and the gong, about 26 strikes a second; TEPBELL.LIB and TEPBELL.DLL), our Arduino UNO V4.0, the A3 L9110S demo project with its sketch and a README.
File Structure
4.3 KB201.9 KB17.3 KB883.5 KB273.5 KB21.1 KB23.2 KB883.5 KB273.5 KB15.5 KBGallery12 images from the tutorialOpen the tutorial
The circuit, the board and the results as they appear in Electric Bell Library for Proteus V1.0 (Arduino + 12V Trembler Bell). Open an image for its full size.












README
ELECTRIC BELL LIBRARY FOR PROTEUS - V1.0 (a 12 V DC trembler bell: two coils, an
interrupter contact, a hammer and a gong)
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/electric-bell-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's driver is our L9110S Motor Driver - a SEPARATE library, not in this
package: download and install it first - its own article:
https://www.theengineeringprojects.com/2026/10/l9110s-motor-driver-library-for-proteus-v1-0.html
Support us (the libraries are free):
https://www.theengineeringprojects.com/donate
FILE STRUCTURE
Electric-Bell-TEP-v1.0/
|-- Proteus Library Files/
| |-- ArduinoV4TEP.LIB 201.9 KB TEP Arduino boards V4.0 (UNO) -> LIBRARY
| |-- TEPBELL.LIB 17.3 KB the library -> LIBRARY folder
|-- Proteus Model Files/
| |-- TEPARDUINO.DLL 883.5 KB the Arduino board model -> MODELS folder
| |-- TEPBELL.DLL 273.5 KB the model -> MODELS folder
|-- Proteus Simulation/
| |-- Bell_Demo.hex 21.1 KB the demo firmware
| |-- Electric-Bell-L9110S-ArduinoUnoV4.pdsprj 23.2 KB the demo project
| |-- TEPARDUINO.DLL 883.5 KB copy of the board model
| |-- TEPBELL.DLL 273.5 KB copy of the model
|-- Arduino Code/
| |-- Bell_Demo/Bell_Demo.ino 4.3 KB the demo sketch (source of the .hex)
|-- README.txt ~16.9 KB this file
Total: 2.54 MB (unzipped). The C++ source code of the models is not included.
WHAT IS IT?
A simulation model of the electric trembler bell - the bell of school corridors,
factory shifts, fire alarms and old doorbells. It needs no electronics: two
coils on a yoke pull an iron armature that carries the hammer, and a contact in
series with the coils, inside the bell, breaks the circuit as the armature moves
in. The spring throws the armature back - the hammer strikes the gong on the way
in - the contact closes again, and it all repeats twenty-odd times a second. So
steady DC on its two terminals makes it ring. Our own model:
* The coils between + and - are in the circuit while the contact is closed,
with their resistance and an inductance that grows as the armature closes:
24 ohm (25 C), 36 mH open, 103 mH at the pole - a 12 V, 0.5 A bell. While
the contact is open the terminals carry nothing; the coils' current dies
inside the bell (the contact's spark and its suppressor).
* The armature is pulled by the coils' current against its spring: it moves
from 316 mA (7.6 V on a 12 V bell). The contact opens below a 0.9 mm gap
and closes again above 1.5 mm; the hammer meets the gong at 0.4 mm.
* At 12 V it rings at about 26 strikes a second with 0.47 A peaks; it still
rings at 9 V (17 a second) and 8.5 V (14), and below about 8 V the hammer
never moves: TOO WEAK.
* A PWM drive averages down: at 50 % (6 V on average) it never strikes; the
watch sees the PWM and says so.
* More current than the coils are rated for (a 12 V bell on 24 V) gives a
warning; a long ring warms the coils (a 6 W coil for short rings).
* The watch: RINGING (strikes a second, the voltage), STOPPED (how long it
rang, how many strikes), NO STRIKE (the contact chops but the hammer stops
short), TOO WEAK, a PWM drive, too much current, hot coils.
The symbol shows the bell lid-off from the front: the dark base, the red gong,
the two copper coil bobbins on their steel yoke, the armature with its hinge
spring and contact screw, the hammer by the gong's rim and the two brass screw
terminals with the red + and black - wires. At Run the hammer swings and the
gong shows faint rings while it rings. The plate, the COIL LED (green while
current flows - held 0.15 s so the trembler's pulses show as a steady light),
the rating line and the strip under the plate (STRIKES, RATE, CURRENT, OPEN
PANEL) are TEP additions; the real bell has none of them.
ONE DEVICE (search "bell" in Pick Devices):
ELECBELLTEP "Electric Bell V1.0" (category Electromechanical > Motors),
model TEPBELL.DLL
The pop-up panel "TEP Electric Bell" opens at Run (and with OPEN PANEL on the
strip) - the look of the TEP Serial Monitor. Tabs Bell, Graphs, Event log and
Check; gear and ? icons for Settings and Help; the palette icon switches the
theme:
Bell the state in big letters (RINGING - 25.7 STRIKES A SECOND, 0.47
A PEAK; TOO WEAK; NO STRIKE; SILENT); the gong and the hammer,
the contact; the live values (strikes a second, strikes, ring
time, peak current, the voltage while driven, the contact, the
hammer, the coils); the last quarter second: the current, the
hammer and the contact - the trembler's chopping.
Graphs the strike rate, the current (20 ms averages) and the coils'
temperature over the last 10, 30 or 60 s. Live / Freeze.
Event log RINGING ("RINGING - 25.7 strikes a second at 11.3 V across the
bell"), STOPPED ("STOPPED - rang 0.93 s, 25 strikes (25.7 a
second)"), TOO WEAK, NO STRIKE, a PWM drive, the warnings;
filters All / Rings / Warnings, Pause, Clear
Check Good for: a bell that stays silent, only buzzes, rings weakly or
gets hot - the supply, the strike, the rate, the current, the
contact, the drive, the coils, 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 L9110S driver -
its pop-up version, from its own library - on +12V, RV1 and the bell; all
pop-ups open). What the runs showed:
* The project loads and starts cleanly; one ring at power-up, RV1's length
(30 %: 0.97 s): "RINGING - 25.7 strikes a second at 11.3 V across the
bell", 453 mA, "STOPPED - rang 0.93 s, 25 strikes (25.7 a second)"; the
COIL LED lit, the gong ringing on the sheet.
* "door": two short rings - "STOPPED - rang 0.12 s, 4 strikes" twice.
* "school": three rings of 1 s - 25.7, 25.6 and 25.6 strikes a second, 26
strikes each.
* "pwm 50": "a PWM drive (about 974 Hz): a trembler bell wants steady DC -
its hammer weakens", then "TOO WEAK - 219 mA through the coils, under the
316 mA pull-in: the hammer never moves" - 6.0 V across the bell on
average; the Check page: the supply and the strike in red.
* "alarm" then "stop": "RINGING - 25.5 strikes a second", "STOPPED - rang
2.56 s, 66 strikes (25.4 a second)" - 177 strikes in the run, the coils
at 29 C.
* The L9110S's own pop-up: motor A switching the bell on and off.
Plus automatic checks on a PC, 0 failed: 13 on the bell (12 V: 26.0 strikes
a second, 0.48 A peaks, pull-in 316 mA (7.6 V), 36 / 103 mH; it rings down
to 8.5 V and is too weak at 6 V; 24 V on a 12 V bell: 0.93 A and the
warning, a 24 V bell rings on 24 V; a 50 % PWM never strikes and its
frequency is read, 85 % still rings; a ding-dong is two rings; three school
rings each logged at the true rate; a 60 s ring warms the coils to 50 C;
the driven voltage is kept after a ring and a 50 % PWM gives about 6 V;
every event text fits); 2 on the pop-up pages rendered; the demo project
read back from disk (57 checks: devices, pins, wires, labels, no wire through
a part, no 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" (TEPBELL.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 TEPBELL.DLL and TEPARDUINO.DLL from "Proteus Model Files" to the MODELS
folder (...\Proteus 8 Professional\MODELS). The demo's driver is NOT in this
package: install our L9110S Motor Driver library the same way (its own ZIP -
see IMPORTANT LINKS): TEPL9110S.LIB and TEPL9110S.DLL.
4. Delete TEPBELL.IDX from the LIBRARY folder if it is there.
5. Start Proteus. In Pick Devices (P) search "bell".
RUN THE DEMO
"Proteus Simulation\Electric-Bell-L9110S-ArduinoUnoV4.pdsprj" - keep the .hex
file and the DLLs beside the project (with the L9110S library installed).
ARD1: Arduino UNO V4.0 running Bell_Demo.hex, its serial monitor built in
(window "TEP Arduino UNO - ARD1").
DRV1: our L9110S driver (pop-up version, a separate library): A-IA on D5,
A-IB on D6, VCC on +12V, GND - by net labels.
BL1: the bell: + on the L9110S's A-OA, - on A-OB (motor A) - straight wires.
RV1: 10k pot on A0 (the length of a plain "ring", 0.1 - 3 s).
1. Press Run. The monitor and the two pop-ups open (move them aside). The bell
rings once, RV1's length.
2. Type in the monitor and press Send: ring 2, door, school, alarm, stop,
pwm 50.
3. Double-click BL1: VOLTAGE (6 / 12 / 24).
4. The pop-up: Bell, Graphs, Event log, Check.
WIRING (the same idea on a real bell)
L9110S Arduino UNO / supply
A-IA, A-IB D5, D6
VCC 12 V (the L9110S takes 2.5 - 12 V; its inputs stay 5 V
logic), GND to the UNO's GND
Bell L9110S
+ / - A-OA / A-OB
In the sketch (no library needed): the bell ON for the length of the ring, then
OFF - never a PWM:
digitalWrite(BELL_A, HIGH); digitalWrite(BELL_B, LOW); delay(1000); // ring
digitalWrite(BELL_A, LOW); // off (brake)
The demo does the same with millis(), so the monitor and RV1 keep working.
REAL HARDWARE:
* A 12 V trembler bell takes 0.3 - 0.5 A: an NPN transistor or a logic MOSFET
with a diode across the bell, a relay, or an H-bridge - never a pin.
* Give it steady DC for the ring: its own contact does the chopping. A PWM
(or a supply too low) makes the hammer stop short or never move.
* Its contact sparks as it opens; a 100 nF capacitor across the contact
(inside the bell) makes it last. The adjusting screw sets the gap: too far
and it only buzzes, too close and it never opens.
* Ring it in short bursts: the coils are made for seconds, not minutes.
THE DEMO SKETCH ON THE SERIAL MONITOR (Bell_Demo V1.0, 9600 baud)
ring one ring, RV1's length ring 2 one ring of 2 s
door ding-dong: two short rings school three rings of 1 s
alarm ring until stop stop silence
pwm 50 one ring of 1 s at a 50 % PWM (a trembler bell wants steady DC)
help the list
EXPECTED MONITOR OUTPUT
Electric Bell demo - The Engineering Projects
L9110S on 12 V: the bell on motor A (D5 / D6). Steady DC rings it; RV1 sets the ring.
Commands: ring | ring 2 | door | school | alarm | stop | pwm 50 | help
Ring - 0.97 s
Done
PROPERTIES (double-click the part > Edit Properties)
VOLTAGE the bell's rating: 6 (6 ohm, 1 A), 12 (24 ohm, 0.5 A) or 24 (96
ohm, 0.25 A); default 12
Every run starts again from the properties.
TROUBLESHOOTING
* It stays silent and nothing is logged: no current - the L9110S has no 12 V,
or its inputs are not driven.
* "TOO WEAK": the supply is too low for the bell (a 24 V bell on 12 V), or a
PWM averages it down - give it its rated voltage, steady.
* "NO STRIKE": the contact chops but the hammer stops short of the gong - more
voltage, steady DC.
* It rings fast and hot, "coil current ... x the rated": a 12 V bell on 24 V.
* The part is not simulated: TEPBELL.DLL is missing from MODELS and from the
project folder. No driver: install our L9110S library (TEPL9110S.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 bell model (TEPBELL.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 DC trembler bells. The models use only standard Windows
libraries; no Visual C++ redistributable is needed.
The C++ source code is not included. The demo's driver, our L9110S Motor
Driver library (TEPL9110S.LIB / TEPL9110S.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 bell
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\Bell_Demo\Bell_Demo.ino, select Arduino Uno and
use Sketch > Export Compiled Binary. The sketch needs 7,656 bytes of flash
(23 % of the UNO) and 311 bytes of RAM.
MODEL SCOPE AND LIMITS
Modelled: the coils (resistance with its temperature, an inductance that grows
as the armature closes), the interrupter contact in series (opening and closing
with the armature), the armature's pull against its spring, the hammer and the
gong (the strike, the bounce, the ring dying away), the coils' heating, the
watch's states and warnings.
How it runs: while the contact is closed the coils are in the circuit as a
flux-linkage companion over the analog step (a conductance and a source that
follow the armature); while it is open only a tiny leak; the armature, the
contact and the coils' internal current run in 10 us sub-steps between the
analog points, which are held to 50 us while the bell is driven or moving (2 ms
at rest).
Not modelled: the sound itself, AC operation, the wear of the contact, a
single-stroke or a motor-driven bell.
VERSION
TEP Electric Bell library V1.0 (Oct 2026). Device ELECBELLTEP (TEPBELL.LIB /
TEPBELL.DLL). Demo sketch Bell_Demo V1.0. Demo driver: L9110SADVTEP (TEP L9110S
Motor Driver 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.0Electric Bell 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 electric-bell-tep-v1-0-038474fea5cc47ff8a72acc3888f3c2c.zip and choose Extract All (or open it with 7-Zip or WinRAR) into a folder you can find again. Keep its folder structure (Electric-Bell-TEP-v1.0) as it is.
- 2
Copy the library files into Proteus
Move ArduinoV4TEP.LIB and TEPBELL.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 TEPBELL.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 Bell_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 Bell_Demo.hex and run the simulation. For real hardware, flash the same file with your programmer.
- 7
Open the example simulation
Open Electric-Bell-L9110S-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
Electric Bell Library for Proteus V1.0 (Arduino + 12V Trembler Bell) explains every connection and setting in order; keep it open beside the files while you build.
FAQs9 questionsContact TEP
How do I download Electric Bell 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?
Electric Bell Library for Proteus V1.0 comes as a ZIP archive of 10 files (1.2 MB, 2.5 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, a28c6e98b6b53f39cf330ca2624bbc51ef4e150a84f779b2e391360d269f20bf. In PowerShell run Get-FileHash "electric-bell-tep-v1-0-038474fea5cc47ff8a72acc3888f3c2c.zip"; on macOS or Linux run shasum -a 256 "electric-bell-tep-v1-0-038474fea5cc47ff8a72acc3888f3c2c.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
a28c6e98b6b53f39cf330ca2624bbc51ef4e150a84f779b2e391360d269f20bf

















Comments
0