About autoCircuits


This is a web service for the automated generation of electrical circuit theory problems. The target audience are electrical or electronic engineering students at the Bachelor or Master level, who need to practice their ability to analyze circuits, usually before their final exams. Instructors may also benefit from this service: all generated circuit problems are different, making this service the ideal choice even for producing exam templates.


As an instructor of Circuit Theory at Politecnico di Torino, the Author often receives the question "Could you give me some more exercises?" from his students, despite the exercise book associated to his courses includes more than 500 problems. Some students just need more... So it was decided to develop this autoCircuits web service, for on-demand generation of fully-customized circuit problems (together with their solution).


The autoCircuits web service is backed by a real-time calculation engine that, based on user-defined control options (see below), generates a random support graph with an appropriate number of nodes and edges. The graph is then populated with circuit elements, which are given appropriate numeric and/or symbolic values (always according to user-defined control options). The circuit solution is computed by MNA (Modified Nodal Analysis), available for DC, AC, Symbolic (Laplace), and even transient (closed-form) analyses. A planar drawing of the circuit is then generated, and a PDF file with the problem statement, circuit schematic, and solution (in another page) is made available for download. The download link expires after a short timeout (few seconds), and the circuit file is definitely deleted from the server.

Selecting Options

Circuit generation can be customized through several options. These options are self-explanatory, but a short description is available by clicking on the small question marks next to each header. All options within the same class are mutually exclusive. Selection of an option is performed by clicking on the corresponding button, as illustrated below.

Sample option

The type of circuit problem is selected from a set of "Chapters" or more general "Parts". Chapters correspond more or less to chapters in printed or e-books, whereas Parts collect a set of homogeneous Chapters, e.g., DC or AC circuits. Chapter or Part selection is performed through a vertical menu as illustrated below.

Chapter selection

Alternatively, you may let the system decide, by selecting "Shuffle": a randomized Chapter will be selected.

Circuit generation steps

After selecting the desired type of analysis and the circuit generation options, you should click on the file status icon (see below) in order to start the process. This icon will change depending on the circuit generation stage, together with a short descriptive text. The various stages are itemized below.

System is ready: you can click on this icon to start circuit generation. On mouse click, the control options will be retrieved from the current web page and will be passed to the server.

Request has been received by the server, together with the circuit generation options. Options are being decoded, and the circuit generation request is being submitted to the server processing queue.

The circuit generation process has been submitted to the processing queue and is waiting for execution. The process will start as soon as computing resources become available.

The server has accepted the request and is processing it. This operation may take a few seconds or more, depending on the required circuit and the overall workload of the server.

The circuit is ready for download. Clicking on this icon will open a PDF file with the problem statement, the associated circuit schematic, and the solution.

The download link has expired, and the PDF circuit file has been deleted from the server. After a short timeout (few seconds), it will be possible to generate a new circuit.

Some errors occurred during any of the various stages of circuit generation, including client-server communication or server errors. After a short timeout (few seconds), it will be possible to generate a new circuit.

This service is still in a beta-testing phase. Please report any bug to autocircuits - @ -