Modular Electronics Learning project

Copyright © 2016-2017, Tony R. Kuphaldt

The Modular Electronics Learning (ModEL) project represents the culmination of nearly two decades of professional instruction in the field of industrial electricity and electronics. It is substantially different from earlier publications such as Lessons In Electric Circuits in multiple ways. First, the tutorials seek to explain as much as possible about electric and electronic circuits from first principles such as physical Conservation Laws, while remaining at a mathematics level below that of calculus. Second, the tutorials seek to be self-contained, each one beginning with a brief review of necessary background topics. Third, question sets, projects, and experiments are contained within each module, designed to challenge students to apply the concepts and procedures taught in the corresponding tutorial. Fourth, these application questions specifically address qualitative, quantitative, and diagnostic modes of thought in order to encourage well-rounded development of the learner's understanding.

Similar to my Socratic Electronics project, the modules contained here are expressly designed to be used within an instructional modality that is both ``inverted'' (students learning independently through reading prior to meeting with the instructor) and ``Socratic'' (the instructor challenging students to reason through all concepts and problems via dialogue).

These documents and all related files are copyrighted works, but licensed under the Creative Commons Attribution 4.0 International Public License. A copy of this license is found in the last Appendix of every learning module. Alternatively, you may visit or send a letter to Creative Commons: 171 Second Street, Suite 300, San Francisco, California, 94105, USA. The terms and conditions of this license allow for free copying, distribution, and/or modification of all licensed works by the general public.


Start at the top, and work your way down.

Modules in the same row may be completed in any order. Ideally, you should complete each whole row before proceeding down to the next row.

Any module titles appearing in italic font are either incomplete (if hyperlinked) or are not yet created (if unaccessible).

Mathematics Fundamentals

Manipulating Algebraic Equations Trigonometry Digital Numeration
Boolean Algebra Complex Numbers Probability

Electrical Fundamentals

Voltage, Current, Resistance, and Basic Circuit Concepts Electrical Diagrams
Sources and Loads, Voltmeters and Ammeters Conductors and Electrical Connections
Components and Symbols Switches and Relays
Ohm's and Joule's Laws, Resistor Ratings, and Electrical Safety Diagnostic Fundamentals
Series Circuits and Voltage Dividers Parallel Circuits and Current Dividers
Kirchhoff's Voltage Law Kirchhoff's Current Law
Series-Parallel Circuits Bridge Circuits
SPICE Modeling of Resistor Circuits Overcurrent Protection

Network Analysis Techniques

Superposition Theorem Maximum Power Transfer Theorem
Thevenin's and Norton's Theorem Millman's Theorem
Loop and Mesh Analysis
SPICE Modeling of DC Networks

Magnetic and Electric Fields

Electromagnetism Electric and Magnetic Fields
DC Generators DC Motors
Capacitance and Inductance Electromagnetic Induction
Capacitors and Capacitive Circuits Inductors and Inductive Circuits
SPICE Modeling of Inductive and Capacitive Circuits

Sensors and Actuators

Sensors Overview Actuators Overview
Potentiometric Sensors Amperometric Sensors
Rheometric Sensors Electromechanical Meters
Electromagnetic Actuators Heating and Lighting Elements

AC Fundamentals

AC Quantities and Measurements Phasor Mathematics
Oscilloscopes AC meters
Resistance, Reactance, and Impedance Transformers
Phasors and AC Circuit Measurements Signal Coupling
Series AC Circuits Parallel AC Circuits
Series-Parallel AC Circuits Resonance
Filters AC Power Factor
Polyphase AC AC Power Instruments
Polyphase Transformer Circuits Series/Parallel AC Equivalents
SPICE Modeling of AC Circuits

Electric Power

Electrical Hazards Principles of Overcurrent Protection
AC Generators AC Motors
Circuit Breakers
AC Motor Starters Variable Frequency Motor Drives
AC Power Regulation Power Factor Correction
Power and Instrument Transformers Principles of Protective Relaying
Auxiliary Relays Symmetrical Components
Overcurrent Relays Differential Current Relays
Directional Current Relays Distance Relays
SPICE Modeling of Power Circuits

Semiconductor Fundamentals

Conductors, Insulators, and Semiconductors Semiconducting Electronic Devices
PN Junctions and Diodes Rectifier Circuits
Bipolar Junction Transistors Field-Effect Transistors
Thyristors Special Transistors
Optoelectronic Devices Special Diodes
SPICE Modeling of Semiconductor Components

Switching Circuits

Diode Switching Circuits Clipper and Clamper Circuits
Transistor Switching Circuits Thyristor Switching Circuits
DC-AC Inverters DC-DC Converters
Comparators Logic Gates
Combinational Logic Timer Logic
Latching Circuits
SPICE Modeling of Switching Circuits


Negative feedback Voltage Regulators
Single-Stage BJT Amplifiers Single-Stage FET Amplifiers
Audio Amplifiers RF Amplifiers
Operational Amplifiers Analog Computing Circuits
Oscillators Active Filters
SPICE Modeling of Amplifier Circuits

Software applications

SPICE version 2G6 is a legacy, ``freeware'' program used to analyze DC and AC circuits. Using SPICE is similar to writing a computer program. The first step is to create a plain-text file containing instructions for SPICE to follow, and then you invoke the SPICE program to process that plain-text file. SPICE then generates readable output with an analysis of the circuit, either in plain-text form of in a format suitable to graphic display using other software applications. While this may seem primitive in comparison to ``WYSIWYG'' style circuit analysis programs where you draw a picture of the circuit to be analyzed, using SPICE to analyze simple circuits is far from complicated, and becoming familiar with writing SPICE code is an excellent introduction to text-based computer programming, which any serious student of electronics needs to learn anyway.

Here is SPICE2G6 compiled for Microsoft Windows XP, to be run in the command-line window (cmd). This is a precompiled set of executables and dynamically-linked libraries:

Here is SPICE2G6 for the Linux operating system. After unpacking this ``tar.gz'' source code archive file, you will need to compile it to create an executable: spice2g6.tar.gz

A more modern version of SPICE is NGSPICE, the particular version hosted here is version 26. This is a derivative project based on SPICE version 3, copyright (1996) by the Regents of the University of California under a modified BSD license. A user's manual complete with all copyright notices and licenses is avaiable here: Ngspice version 26 manual (PDF)

Here is NGSPICE version 26 compiled for Microsoft Windows. It comes with an interactive terminal and graphic display. Simply extract all files contained in the ``zip'' archive: Instructions for using the interactive mode are found in the manual. NGSPICE also supports legacy ``batch'' mode operation as well, where you invoke NGSPICE at the command prompt (cmd) and receive text output.

Here is NGSPICE version 26 for the Linux operating system. After unpacking the source code archive file, you will need to compile it to create an executable: ngspice-26.tar.gz.

Source files

This is the ``archive'' file for the Modular Electronics Learning project, in ``tar'' format which is a popular archival format on Unix-based operating systems: model.tar

Download this file to your computer, place it in a directory suitable for storing all the source files of this project, and then run the following command to extract all the individual files from this archive:

tar xvf model.tar

Every single file that is part of this project is covered by the Creative Commons ``Attribution'' license, which gives you freedom to pick specific files and incorporate them into your own project(s) if desired. All you must do is attribute original authorship of these files to myself.