Coil Tester SPICE simulation using Proteus.

Ing. Cristoforo Baldoni

This article presents a detailed exploration of the Coil Tester SPICE Simulation using Proteus, focusing on the simulation (version 7 and higher) of an economical yet highly effective coil tester. Crafted for DIY enthusiasts, this In-circuit LOPT (Line OutPut Transformer) Tester, designed by Bob Parker, offers a practical means to assess coil performance by illuminating an array of LEDs in distinct colors. Notably, it doesn’t measure the inductance value itself, but rather gauges the ratio between the resistive and inductive components. With its ability to identify shorted turns, in components such as yoke wounds and SMPS transformers, this tester proves indispensable. Components with low losses activate four or more LEDs, while those with short circuits trigger minimal or no LED response. Within this article, we delve into implementing and simulating the circuit in Proteus, encompassing three key segments: the low-frequency pulse generator, the loop amplitude comparator, and the LED bargraph display. By modeling a coil and experimenting with various inductive and resistive values, we validate the simulation’s accuracy. Access the downloadable Proteus simulation files for this device upon reading further.

Premium Content

Login to buy access to this content

Microcontroller-Based PID Controller Design and Simulation.

Ing. Cristoforo Baldoni

In this article, we will explore the transition from analog PID controller design for continuous-time systems to digital controllers, including PID controller simulation. This transition involves substituting operational amplifiers, resistors, and capacitors with microcontrollers. Digital controllers offer remarkable compactness, fitting the entire controller onto a single chip, complete with A/D and D/A converters. Furthermore, digital controllers remain immune to component aging and temperature-induced value fluctuations, in contrast to analog components.

We will delve into the application of the Z-transform, which serves as the discrete-time systems counterpart to the Laplace transform. This exploration will encompass the identification of a process’s transfer function. Through a systematic, step-by-step approach, we will demonstrate the practical application of theoretical insights. This will be accomplished by analyzing a Proteus microcontroller-based project, wherein the PWM output is harnessed to regulate the temperature of an oven. The microcontroller boasts a 10-bit A/D converter.

This adaptable procedure can be easily customized with minimal adjustments for controlling various other processes.

Topics Covered:

1. Digital Control-System Block Diagrams.

2. Linear Difference Equations, Z-Transform, Inverse Z-Transform and Discrete Transfer Function.

3. Sampling and A/D Conversion: Analog to Digital Converter.

4. D/A Conversion and ZERO ORDER HOLD  (ZOH) : Relationship between the Continuous Transfer Function and Discrete Transfer Function of a Sampled Process.

5.  Manipulation of Block Diagrams for Sampled Data.

6. Methods for designing Digital Controllers and Ensuring Stability.

7. Microcontroller-Based PID Controller Design.

8. Transfer Function Identification and PID Tuning using the Ziegler–Nichols Method.

9. Practical case of a temperature control system implemented with a microcontroller PIC and simulated with ISIS Proteus: Step by step explanation of how to apply the theoretical knowledge for implementing and simulating a PID controller.

Premium Content

Login to buy access to this content
Proteus Video tutorials

Proteus Video tutorials

Welcome to the Proteus Video Tutorials page, an informative destination crafted to provide you with a seamless and insightful exploration of the inherent capabilities within the Proteus simulation software. Within this dedicated space, you will embark on a journey through a curated selection of YouTube videos, each chosen to present a comprehensive panorama of Proteus’s rich feature set.

These Video tutorials span a diverse array of functionalities, encompassing everything from the analog circuit simulation to the dynamic landscape of digital circuit emulation. A particularly distinctive facet of this tutorial collection is its coverage of circuits featuring programmable microcontrollers, showcasing an important attribute of the Proteus software.

By engaging with the Proteus Video Tutorials, you will effortlessly acquire a comprehensive understanding of the multifaceted world of circuit design and simulation, all facilitated by this advanced software. Whether you’re a novice seeking an introduction to circuitry or a seasoned designer seeking to delve into the depths of intricate PCB layout, these tutorials are designed to empower and equip you with the skills you need.

About Proteus: Proteus is a robust and versatile simulation software widely acclaimed by electronics enthusiasts, students, and professionals alike. Renowned for its user-friendly interface and comprehensive toolset, Proteus facilitates the design, simulation, and testing of circuits in a virtual environment. Its prowess extends to both analog and digital circuitry, enabling accurate analysis and optimization before real-world implementation. The integration of microcontroller simulation elevates Proteus to a league of its own, providing a platform for exploring the functionality of embedded systems.

Proteus offers an expansive array of features that cater to various skill levels and requirements. The Proteus Video Tutorials page is your gateway to unraveling the great potential this software holds, guiding you through its intricacies and empowering you to bring your circuit designs to life with confidence and precision.

For a detailed walkthrough on creating and simulating your initial circuit using NI Multisim, you can consult this article.

DC Machine and Motor Speed Drives Course with Proteus!!

How to simulate a simple circuit with Proteus
How to create a component symbol in Proteus
How to perform a Time domain analysis in Proteus
Security Alarm System Simulation
Buck Boost Converter Simulation
Logic Gates Proteus Simulation
Microcontroller Simulation with Proteus
Arduino Proteus Simulation
How to design a circuit board layout with Proteus ARES

Digital Electronics for Beginner’s:- Mastering with PROTEUS!!

How to import PSpice Models into Proteus: A Step-by-Step Guide

Welcome to our comprehensive guide on enhancing your circuit design capabilities! This article is dedicated to unlocking the potential of Proteus by seamlessly integrating additional PSpice models into the platform. While Proteus offers a rich array of built-in models, our focus lies in expanding your toolkit by incorporating PSpice models, allowing you to access a wider range of options for your circuit simulations. If you’ve ever wondered “How to Import PSpice Models into Proteus,” you’re in the right place. In the following sections, we’ll provide you with a step-by-step guide to make this integration process smooth and efficient. Whether you’re an aspiring electronics enthusiast or a seasoned professional, this resource will empower you to take your circuit simulations to the next level.

If you’re not familiar with this powerful simulation environment, to take your first steps with Proteus, you can refer to this article.

Let’s now explore the process of importing a SPICE model using the “.model” statement into Proteus. Consider a scenario where we aim to import the PSpice model of an NPN Radio Frequency transistor, specifically the BF199. In the image below, we have the PSpice model of the transistor.

Open Proteus and click on the “P” button of “Device” to select the generic NPN device:

write “NPN” on the keywords edit field and select “Generic NPN bipolar transistor”


Master the art of circuit analysis with SPICE using Proteus!

After placing the component on the layout, click on “Text Script Mode” button of left side toolbar and left mouse click on the layout, the Edit Script Block window pops up

Now, copy the text of the source SPICE model and paste it between the two statements:



as in the figure below

DC Machine and Motor Speed Drives Course with Proteus!!

It’s important to copy the source text between the two statements; otherwise, the simulator will issue a warning, indicating that it’s unable to recognize the model, and it will replace it with a default NPN primitive.

Arduino Simulation with Proteus

Arduino, a versatile and widely embraced open-source electronics platform, stands as a cornerstone in the realms of both education and professional innovation. At its essence, Arduino comprises a series of microcontroller boards paired with an intuitive software ecosystem, designed to facilitate the creation of interactive and programmable projects. Catering to a diverse audience, from students and hobbyists to seasoned engineers, Arduino enables individuals to translate their creative ideas into tangible prototypes and functional systems.

In the educational sphere, Arduino serves as an invaluable tool for introducing fundamental concepts of electronics and programming. Its user-friendly interface and extensive online resources make it accessible even to those with limited technical backgrounds, nurturing a generation of problem solvers and tinkerers. Through hands-on experimentation, students learn to code, wire circuits, and witness real-world outputs, fostering a deeper understanding of the intricate interplay between software and hardware.

Beyond the classroom, Arduino finds its place within the professional landscape as a rapid prototyping powerhouse. Its adaptability, cost-effectiveness, and robust community support make it a go-to choice for swiftly iterating through ideas and proofs of concept. Entrepreneurs, engineers, and innovators across various industries harness Arduino’s capabilities to bring products to market faster, all while maintaining the flexibility to customize solutions to specific needs.

On this article, we will explore how straightforward it is the Arduino Simulation using Proteus software, employing nothing more than a microcontroller, an oscillator, and two capacitors. Arduino simulation projects through Proteus empowers us to expedite the design process and implement immediate modifications before transitioning to the physical prototype stage.

To familiarize yourself with Proteus software, you can refer to this article to get started with this powerful design and simulation tool.

Let’s execute the ISIS Schematic:


To simulate the core of Arduino platform, we require just a handful of components: the ATmega328P Microcontroller, a crystal, and two capacitors. Let’s proceed to locate these devices within the library:

The Art of Doing: Electronics for Everyone
Start designing, building, and playing with your own circuits today!!

Click the “P” button and input “atmega” as the keyword:


Double-click on the model, and it will appear in the Devices panel:

Perform the same steps for the Crystal and Capacitor components:



Getting Started with Proteus PCB

In this article, we will examine the essential procedure for moving from a complete circuit diagram, in this case featuring a PIC microcontroller in Proteus schematic, to its associated PCB project in Proteus PCB. This step by step guide aims to provide a systematic and informative guide, to facilitate the seamless conversion of your electronic circuits into tangible and functional prototypes through the utilization of Proteus PCB

Let’s commence with this comprehensive Proteus schematic.


this microcontroller circuit has the following components:

4 diodes 1N4148

2 NPN transistors BC547

2 electrolitic capacitors CAP-ELEC

2 zener diodes a 3EZ8V2D5 and a 3EZ5V1D5

3 resistors RES

a connector D-type 9 pin female CONN-D9

a PIC microcontroller PIC16F877

The PIC16F877 features two concealed pins, VDD and VSS. The VDD pin should be designated as ‘POWER,’ and the VSS pin should be assigned as ‘GROUND.’ When incorporating a component in Proteus Schematic, certain components are preconfigured with a corresponding PCB footprint, while others may not possess an associated PCB footprint and necessitate manual addition. In such instances, it is imperative to manually include the appropriate footprint, as illustrated in the ‘CAP-ELEC’ example below:

Open the Properties dialog box for the CAP-ELEC component. Click the “?” Button (in the latest versions the binoculars icon) to open the PCB package selection dialog


Select an appropriate PCB footprint, and then click ‘OK’ to confirm your choice. Proceed to select PCB footprints for all the components. Next, open the Netlist Compiler by navigating to the ‘Tools’ menu within Isis Proteus (Tools -> Netlist Compiler). A settings dialog box will appear; please retain the default settings and click ‘OK’ to generate the netlist file. Once the file is generated, access ARES software by selecting ‘Tools -> Netlist to ARES’ from the ‘Tools’ menu. Alternatively, you can utilize the corresponding button on the toolbar to perform this operation.


Note: in the latest versions of Proteus it is sufficient to click on the PCB Layout icon:

DC Machine and Motor Speed Drives Course with Proteus!!

As we can see, the workspace is currently empty, and our intention is to utilize all the elements listed on the left.

Before proceeding with component placement, it is essential to create a border. To achieve this, we utilize the ‘2D Graphics Box Mode’ button to draw the border:

Prior to initiating the drawing procedure, it is necessary to make a color selection. Given the border’s nature, we have chosen the color yellow (Board Edge), as discernible within the settings tool situated at the lower section of the main window:

Click within the workspace, hold down the left mouse button, drag the cursor to define a rectangle of suitable dimensions, and then release the mouse button.

If you wish to make adjustments to the board’s size at a later stage, you can follow these steps: Click on the ‘2D Graphics Box’ rectangular icon once more, right-click on any of the board’s corners to reveal a control point, and then drag this control point to resize the board. To return to the components placement view, simply click the icon located below:

To populate the board with components, please follow these steps. For an overall perspective, press the ‘F8’ key. The outcome will be as follows:


How to connect Proteus with Keil IDE


Proteus can performs a mixed-mode SPICE circuit simulation of analog devices with a variety of models of microprocessors for a complete microcontroller based design. This  feature is called VSM Virtual System Modelling. It can performs RS232 dynamic simulation, I2C simulation and debugging , SPI simulation and debugging, USB simulation, keypad and LCD system simulation functions,  it also has available various virtual instrument devices , such as oscilloscopes, logic analyzers, signal generators. Proteus Also supports third-party software to compile and debug environment, such as Keil uVision IDE software. Keil uVision is an integrated development environment that combines project management, code editing, program debugging and other facilities in a single environment.

In the context of Proteus with Keil, here’s a straightforward example illustrating a debugging session of a Proteus simulation project with Keil. Communication is established via TCP/IP. The key advantage of this method is that a debug session can be conducted on either a single computer or two computers connected through the local network, all without the need for any external hardware.

The heart of the circuit features an AT89C51 microcontroller. A seven-segment 6-digit LED display is interfaced with the microcontroller. The segment code pins (a, b, c, d, e, f, g, dp) are linked to microcontroller port P1, while six pins of port P2 are connected to the digit code pins (1, 2, 3, 4, 5, 6). The objective is to display LED characters with a strobe effect.

In case you’ve never worked with Proteus, this article provides a guide to get started.

Control Anything Anywhere without Internet with Arduino!!

this is the schematic of the AT89C51 microcontroller connected to the 6-digit LED display


Let’s create the circuit schematic:

Add the necessary components to the object selection window. Select the components for the schematic by clicking the Object Selector button, as depicted in the image below:

In the ‘Pick Devices’ window, modify the ‘Keywords’ input to ‘AT89C51’ to search for the object library, and the search results will be displayed as illustrated:


“In the ‘Results’ column, choose the first item, ‘AT89C51’. Then, in the ‘Pick Devices’ window, modify the ‘Keywords’ to ‘7 SEG’ and select ‘7SEG- MPX 6 – CA – BLUE’ (6-digit common anode 7-segment LED display), as demonstrated in the image:


Lastly, modify the ‘Keyword’ to ‘RES’ and choose the single result, as indicated:

Click the “OK” button add the component to the devices window.

wiring up in Proteus

Wiring up In Proteus.

In the field of electronic design and simulation, the process of wiring up in Proteus holds a central significance, as it entails the establishment of intricate connections among electronic components. Proteus, a widely adopted software suite for circuit design and simulation, offers a range of techniques for establishing these crucial connections within electronic circuits. From conventional point-to-point wiring to advanced automated routing, proficiency in the practice wiring up in Proteus environment is essential for both newcomers and seasoned electronics enthusiasts. This article endeavors to delve into the various wiring techniques available in Proteus, elucidating how each approach can be effectively employed to facilitate the creation and testing of electronic circuits. Whether one is embarking on their journey in electronic design or seeking to augment their competence in this potent simulation environment, this comprehensive guide aims to illuminate the path to proficient circuitry integration in Proteus.Inizio modulo

In this article, you will find a guide for getting started with Proteus schematic.

Connection between two objects: Line automatic path function (Wire Auto – Router or WAR)

Left-click on the first object’s connection point. If you want Proteus to automatically provide the line path, simply left-click on another connection point.

On the other hand, if you want to manually determine the alignment path, simply click the left mouse button at the desired point where you want a corner.

The automatic wire path function eliminates the need for manually drawing each specific wire path. This feature is enabled by default but can be disabled in two ways. If you simply left-click on the two connection points, WAR will automatically select a suitable path. However, if you click on a connection point, followed by one or several non-connected point positions, Proteus will interpret this as a manual alignment path request. It will allow you to click at each corner of the path and complete it by left-clicking on another connection point. Another method to deactivate the WAR mode is by accessing the Tools menu and using the WAR command to disable it.

This feature becomes highly useful when you need to establish a direct connection between two connection points, such as in the case of a diagonal path:

Arduino Water Level Checker with Automated Water Pump
You will learn how to use a float sensor to measure the water level in a tank, and how to use a relay to control a pump

Repeat wiring (Wire Repeat)

Assuming you want to establish a connection between an 8-byte ROM data bus and the main data bus circuit, we have both the ROM and the bus, as depicted in the picture below:

First, left-click on A, and then left-click on B to draw a horizontal line between A and B. Double-click on C to activate the repeat wiring function, which automatically wires C to D. Double-click on E, and it will be connected to F. The repeat wiring function replicates an entire line path. If the auto-repeat function is enabled, it allows you to connect different wires or pins to the bus. Simply connect the first one, and then double-click on each subsequent pin, and the connections will be established automatically.

Drag line (Dragging Wires)

There are special methods available for wiring two components. If you position the mouse pointer anywhere between the ends of the wire, a corner will appear, allowing you to adjust the wire’s path by dragging the corner. It’s important to note that for this to function correctly, the wire connected to the object must not have a label; otherwise, Proteus will interpret it as an attempt to move the object instead.

Move segment or segments group  (To move a wire segment or a group of segments)

If you wish to move and drag a selection window as if it were a single line segment, follow these steps: Left-click on the “Move” icon located in the toolbox:

Left-click to select the final position of the block. If the newly created wiring is not satisfactory, you can always use the Undo command to revert the changes.

Arduino Solar Tracker
Make Your Own Arduino Solar Tracker in a Step by Step Manner, learn and have fun Practicing Arduino!!