 <?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://Robo.Fish/wiki/index.php?action=history&amp;feed=atom&amp;title=Volta</id>
	<title>Volta - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://Robo.Fish/wiki/index.php?action=history&amp;feed=atom&amp;title=Volta"/>
	<link rel="alternate" type="text/html" href="https://Robo.Fish/wiki/index.php?title=Volta&amp;action=history"/>
	<updated>2026-04-22T10:43:41Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://Robo.Fish/wiki/index.php?title=Volta&amp;diff=2786&amp;oldid=prev</id>
		<title>Kai at 2018-02-26T21:05:23</title>
		<link rel="alternate" type="text/html" href="https://Robo.Fish/wiki/index.php?title=Volta&amp;diff=2786&amp;oldid=prev"/>
		<updated>2018-02-26T21:05:23Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[File: volta_volta_logo.png]]&lt;br /&gt;
=== Introduction ===&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Volta is a simple circuit simulator for macOS that I created between 2007 and 2013. It all started with the concept drawing below.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:1em&amp;quot;&amp;gt;&lt;br /&gt;
[[File: volta_early_concept_drawing.png | x200px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:1em&amp;quot;&amp;gt;&lt;br /&gt;
Volta was available in the Mac App Store for a short time. My old website &amp;#039;&amp;#039;&amp;#039;KulFX.com&amp;#039;&amp;#039;&amp;#039; (&amp;quot;Cool Effects&amp;quot;) was the home of all information related to Volta. In 2017 I stopped operating KulFX.com. In early 2018 I moved the contents of the old Volta homepage to this wiki page.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:1em&amp;quot;&amp;gt;&lt;br /&gt;
[[File: volta_kulfx_logo.png | x70px ]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:1em&amp;quot;&amp;gt;&lt;br /&gt;
The feature set of Volta is similar to that of its predecessor, [[MI-SUGAR]]. Unlike MI-SUGAR, where the electric components are hard-coded types and the circuit files are stored in a binary format, Volta loads its library components and circuit descriptions from XML files. Also unlike MI-SUGAR, Volta has a modular architecture that is realized with dynamically loadable plug-ins and clear interface definitions. Components like the schematic editor, the simulator, the plotter are all plug-ins.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:1em&amp;quot;&amp;gt;&lt;br /&gt;
The implementation of Volta started with C++ and Qt as the GUI toolkit. In 2008 I decided to make Volta exclusively for macOS. Qt was thus replaced by Cocoa. The core model layer, however, remained C++. I recently published the source code [https://github.com/robo-fish/Volta on Github] as a first step to migrating it to Swift. &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:2em&amp;quot;&amp;gt;&lt;br /&gt;
=== Screenshots ===&lt;br /&gt;
{| style=&amp;quot;border:0px&amp;quot; align=&amp;quot;left&amp;quot;&lt;br /&gt;
| [[File: volta_screenshot_v124_1.png | x200px]]&lt;br /&gt;
| [[File: volta_screenshot_v124_2.png | x200px ]]&lt;br /&gt;
| [[File: volta_screenshot_v124_3.png | x200px ]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:2em&amp;quot;&amp;gt;&lt;br /&gt;
=== Download ===&lt;br /&gt;
Volta is not available for download as a readily usable app. You can download the [https://developer.apple.com/xcode Xcode] project, however, with all the source code [https://github.com/robo-fish/Volta from Github]. Follow the instructions on the Github page to build the Volta app with Xcode. The project files are distributed under the GPL 3 license.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:2em&amp;quot;&amp;gt;&lt;br /&gt;
=== User Guide ===&lt;br /&gt;
I haven&amp;#039;t transferred the original Volta user guide to this wiki yet. It is available for viewing at [https://robo.fish/volta/help/v124/en/index.html robo.fish/volta/help/v124/en/index.html]. Replace &amp;#039;en&amp;#039; with &amp;#039;de&amp;#039; for the German version. The user guide will eventually be transferred to [[Volta User Guide | this]] page.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:2em&amp;quot;&amp;gt;&lt;br /&gt;
=== Extra Library Files ===&lt;br /&gt;
Download these [[:File: volta_library_spice_models_pack.zip | SPICE models]]. &lt;br /&gt;
{|&lt;br /&gt;
! Title&lt;br /&gt;
! Type&lt;br /&gt;
! Date&lt;br /&gt;
! Source&lt;br /&gt;
! File&lt;br /&gt;
|-&lt;br /&gt;
| NXP Semiconductors models || SPICE || 2012/09/30 || NXP Semiconductors || NXP.lib&lt;br /&gt;
|-&lt;br /&gt;
| On Semiconductor Models || SPICE || 2012/09/15 || ON Semiconductor || OnSemi.lib&lt;br /&gt;
|}&lt;br /&gt;
Download these [[:File: volta_library_subcircuits_pack.zip | subcircuit models]]&lt;br /&gt;
{|&lt;br /&gt;
! Title&lt;br /&gt;
! Date&lt;br /&gt;
! Source&lt;br /&gt;
! File&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;1N4148&amp;#039;&amp;#039;&amp;#039; High-speed diode, 4 ns, 100 V max reverse, 450 mA max || 2012/09/30 || NXP Semiconductors || 1N4148.volta&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;2N7002&amp;#039;&amp;#039;&amp;#039; N-channel MOSFET, 60 V, 500 mA || 2012/09/30 || NXP Semiconductors || 2N7002.volta&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;BD680&amp;#039;&amp;#039;&amp;#039; 80 V PNP Darlington Bipolar Power Transistor || 2012/09/15 || ON Semiconductor || BD680.volta&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;BS170&amp;#039;&amp;#039;&amp;#039; BS170 N-channel small-signal MOSFET 500 mA, 60 V || 2012/09/30 || NXP Semiconductors || BS170.volta&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;TIP122&amp;#039;&amp;#039;&amp;#039; 100 V NPN Darlington Bipolar Power Transistor || 2012/09/15 || ON Semiconductor || TIP122.volta&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;TIP127&amp;#039;&amp;#039;&amp;#039; 100 V PNP Darlington Bipolar Power Transistor || 2012/09/15 || ON Semiconductor || TIP127.volta&lt;br /&gt;
|}&lt;br /&gt;
Download these [[:File: volta_library_palettes_pack.zip | component palettes]]&lt;br /&gt;
{|&lt;br /&gt;
! Title&lt;br /&gt;
! Date&lt;br /&gt;
! Source&lt;br /&gt;
! File&lt;br /&gt;
|-&lt;br /&gt;
| Capacitors (E12 Series) || 2012/09/15 || KulFX || Capacitors_E12.volta&lt;br /&gt;
|-&lt;br /&gt;
| Inductors (E12 Series) || 2012/09/15 || KulFX || Inductors_E12.volta&lt;br /&gt;
|-&lt;br /&gt;
| Resistors (E12 Series) || 2012//09/15 || KulFX || Resistors_E12.volta&lt;br /&gt;
|-&lt;br /&gt;
| Meters and Power Sources || 2012/09/15 || KulFX || Meters.volta&lt;br /&gt;
|-&lt;br /&gt;
| Most Used || 2012/09/15 || KulFX || Most_Used.volta&lt;br /&gt;
|-&lt;br /&gt;
| Semiconductor Devices || 2012//09/15 || KulFX || Semis.volta&lt;br /&gt;
|}&lt;br /&gt;
The contents of the library packs above are redistributed with permission from the copyright owners.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:2em&amp;quot;&amp;gt;&lt;br /&gt;
=== Example: Bandpass Filter ===&lt;br /&gt;
We are going to simulate the [http://www.ecircuitcenter.com/Circuits/MFB_bandpass/MFB_bandpass.htm Multiple Feedback Band-Pass Filter] from eCircuit Center using Volta. We will create a subcircuit for the operational amplifier and a circuit for the actual filter. No custom models are required.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[File: volta_bandpass_example_opamp_subcircuit.png | x250px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
You can either create your own Volta subcircuit based on the netlist snippet below or you can [[:File:BPOP.volta.zip | download]] the subcircuit file shown in the figure above. Pins 1 and 3 are the non-inverting and inverting inputs of the op-amp, pin 3 is not used, and pin 4 maps to internal node 6, which is the output of the op-amp.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
.SUBCKT OPAMP1	     1   2   6&lt;br /&gt;
* INPUT IMPEDANCE&lt;br /&gt;
RIN	1	2	10MEG&lt;br /&gt;
* DC GAIN (100K) AND POLE 1 (100HZ)&lt;br /&gt;
* GBP = DCGAIN X POLE1 = 10MHz&lt;br /&gt;
EGAIN   3 0     1 2     100K&lt;br /&gt;
RP1     3       4       1000&lt;br /&gt;
CP1     4       0       1.5915UF&lt;br /&gt;
* OUTPUT BUFFER AND RESISTANCE&lt;br /&gt;
EBUFFER 5 0     4 0     1&lt;br /&gt;
ROUT    5       6       10&lt;br /&gt;
.ENDS&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Copy the subcircuit file into Volta&amp;#039;s Subcircuits folder. You can reach the Subcircuits folder by opening the Library window (&amp;amp;#8984;L) and clicking on the folder icon at the bottom of the subcircuits section, as shown below.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[File: volta_bandpass_example_opening_subcircuits_folder.png | x250px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Advanced&amp;#039;&amp;#039;&amp;#039;: The filesystem path to the Subcircuits folder is &amp;quot;~/Library/Containers/com.kulfx.Volta/Data/Library/Application Support/Volta/Subcircuits/&amp;quot; where &amp;#039;&amp;#039;~&amp;#039;&amp;#039; refers to your home folder. If you don&amp;#039;t see the folder &amp;#039;&amp;#039;Library&amp;#039;&amp;#039; in Finder then open &amp;#039;&amp;#039;Terminal.app&amp;#039;&amp;#039; and enter the command&lt;br /&gt;
&amp;lt;pre class=&amp;quot;terminal&amp;quot;&amp;gt;&lt;br /&gt;
chflags nohidden ~/Library&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
to make it visible.&lt;br /&gt;
|}&lt;br /&gt;
We are now ready for the filter circuit. Again, you can either create it yourself from the netlist below, or you can [[:File:bandpass_filter.volta.zip | download]] the circuit file. Make sure the subcircuit is added to your library before you open the filter circuit.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
* MULTIPLE FEEDBACK BAND-PASS FILTER&lt;br /&gt;
VS   1   0   AC 1  SIN(0VOFF 1VPEAK 10KHZ)&lt;br /&gt;
R1A  1   2   7.96K&lt;br /&gt;
R1B  2   0   162&lt;br /&gt;
R2   3   4   15.9K&lt;br /&gt;
C1   2   3   10000PF&lt;br /&gt;
C2   2   4   10000PF&lt;br /&gt;
XOP  0   3   4  OPAMP1&lt;br /&gt;
*&lt;br /&gt;
&amp;lt; Subcircuit definition goes here &amp;gt;&lt;br /&gt;
*&lt;br /&gt;
* ANALYSIS&lt;br /&gt;
.AC 	DEC 	200 3K 30K&lt;br /&gt;
.PRINT	AC V(4)&lt;br /&gt;
.END&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[File: volta_bandpass_example_circuit.png | x300px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Capture (&amp;amp;#8997;&amp;amp;#8984;C) the schematic and start the simulation (&amp;amp;#8997;&amp;amp;#8984;A). You will see the results of the AC analysis in the plotter. Hint: Plot (&amp;amp;#8997;&amp;amp;#8984;P) is a shortcut for capturing and analyzing.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
You will notice that, in the downloadable circuit file, the inverting and non-inverting inputs of the op-amp are not connected as in the netlist but the other way around. Try connecting either way and to see the difference in the frequency curves.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
You will also notice, that the frequency curve peaks in the negative direction. You would expect the peak to be positive. The reason is that the plotter of Volta displays real values only. In the original netlist from eCircuit Center the magnitude of the voltage is displayed.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
The plotter in Volta is very basic. It uses linear scale and real values for the ordinate (y-axis) with no possibility to display the complex values or the magnitude. Furthermore, the plotter can not display relational values. That is, v(4) / v(1), which would show us the voltage gain directly.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:2em&amp;quot;&amp;gt;&lt;br /&gt;
=== Example: NMOS Inverter ===&lt;br /&gt;
Using Volta, let us create an inverter circuit consisting of two n-channel MOSFET (NMOS) components. One of the two NMOS will need a bulk connector which we will connect to ground. We start by customizing two MOSFET models: The  enhancement-type NMOS models with and without bulk connector. Although it is not necessary to customize the default models in order to obtain an inverter characteristic we&amp;#039;ll do so anyway for the purpose of demonstration.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* Open the library window by pressing &amp;amp;#8984;L or by choosing &amp;#039;&amp;#039;Edit...&amp;#039;&amp;#039; from the group selection menu of a palette strip.&lt;br /&gt;
* Under the &amp;quot;Models&amp;quot; tab of the library window, expand the group &amp;lt;code&amp;gt;MOSFETs&amp;lt;/code&amp;gt; and select the model &amp;#039;&amp;#039;N-Channel Enhancement w/ bulk MOSFET&amp;#039;&amp;#039;&lt;br /&gt;
* Create a copy of the selected model by clicking on the &amp;#039;&amp;#039;+&amp;#039;&amp;#039; button at the bottom of the model list.&lt;br /&gt;
[[File: volta_nmos_inverter_example_copying_model.png | x250px]]&lt;br /&gt;
* Rename the new model from &amp;#039;&amp;#039;EnhancementNMOSFETWithBulk2&amp;#039;&amp;#039; to &amp;#039;&amp;#039;NMOSInverterBulk&amp;#039;&amp;#039;.&lt;br /&gt;
[[File: volta_nmos_inverter_example_renamed_model.png | x250px]]&lt;br /&gt;
* Similarly, create a copy of the default model &amp;#039;&amp;#039;N-Channel Enhancement MOSFET&amp;#039;&amp;#039; and rename it to &amp;#039;&amp;#039;NMOSInverter&amp;#039;&amp;#039;.&lt;br /&gt;
* Edit the properties of both custom models. You can edit property values in the properties table of the model. Open property tables with the triangular button. Double-click on a value field to enter a value. Set the following values: Threshold voltage &amp;#039;&amp;#039;VTO&amp;#039;&amp;#039; = 1.0, Transconductance &amp;#039;&amp;#039;KP&amp;#039;&amp;#039; = 2.5e-5, Surface potential &amp;#039;&amp;#039;PHI&amp;#039;&amp;#039; = 0&lt;br /&gt;
[[File: volta_nmos_inverter_example_editing_model_properties.png | x250px]]&lt;br /&gt;
* Close the properties table to apply the changes.&lt;br /&gt;
&lt;br /&gt;
Drag both models to the schematic of your circuit. Also add two DC voltage sources (5 volts each), and a DC voltmeter. Connect the components and set the parameter values of the voltmeter as shown below. Capture the schematic (&amp;amp;#8997;&amp;amp;#8984;C) and run the analysis (&amp;amp;#8997;&amp;amp;#8984;A). You will see the analysis results in the simulator output area below the netlist and the corresponding graph in the plotter below the schematic.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[File: volta_nmos_inverter_example_circuit.png | x350px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:2em&amp;quot;&amp;gt;&lt;br /&gt;
=== SPICE Codemodels ===&lt;br /&gt;
Your netlist may require functionality that is only provided by Ngspice extensions provided as *codemodel* (cm) binaries. Unfortunately, there is no solution yet for using codemodel extensions in Volta.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:2em&amp;quot;&amp;gt;&lt;br /&gt;
=== Volta Version History ===&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:1.5em&amp;quot;&amp;gt;&lt;br /&gt;
==== Volta 1.2 ====&lt;br /&gt;
===== 1.2.4 [unreleased] =====&lt;br /&gt;
* Fixes the display of components in the component library window on OS X Mavericks.&lt;br /&gt;
* Fixes a bug in the schematic capture operation.&lt;br /&gt;
* Restores the AppleScript commands plot, run, and capture.&lt;br /&gt;
* Adapted icons to the look of corresponding icons in Voltaic.&lt;br /&gt;
* and many more...&lt;br /&gt;
===== 1.2.3 =====&lt;br /&gt;
* Support for printing schematics and plots.&lt;br /&gt;
* Chinese translation (by Maaarc - weibo.com/0i9y12aa).&lt;br /&gt;
* Various error corrections and improvements.&lt;br /&gt;
===== 1.2.2 =====&lt;br /&gt;
* Adds transmission line models and a single-line text element.&lt;br /&gt;
* Adds support for iCloud documents.&lt;br /&gt;
* Adds support for iCloud library.&lt;br /&gt;
* Adds a slider for zooming circuit schematics up to 200%.&lt;br /&gt;
* Updates Ngspice to version 25.&lt;br /&gt;
* Requires OS X 10.8 &amp;quot;Mountain Lion&amp;quot; or later.&lt;br /&gt;
===== 1.2.1 =====&lt;br /&gt;
* Corrects an error in converting Volta 1.1 files to the new file format.&lt;br /&gt;
* Icon for Volta files.&lt;br /&gt;
* Usability and stability improvements.&lt;br /&gt;
===== 1.2.0 =====&lt;br /&gt;
* New file format (version 2)&lt;br /&gt;
* Reworked palette concept&lt;br /&gt;
* Library user interface enhancements&lt;br /&gt;
* New storage concept for palette items&lt;br /&gt;
* Supports OS X app sandboxing&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:1.5em&amp;quot;&amp;gt;&lt;br /&gt;
==== Volta 1.1 ====&lt;br /&gt;
Requires OS X 10.7 &amp;quot;Lion&amp;quot; or later. &lt;br /&gt;
===== 1.1.3 =====&lt;br /&gt;
* Bug fixes in the library editor&lt;br /&gt;
===== 1.1.2 =====&lt;br /&gt;
* Various bug fixes&lt;br /&gt;
* Support for the OS X features Versions and Resume&lt;br /&gt;
* Ngspice version 24&lt;br /&gt;
===== 1.1.1 =====&lt;br /&gt;
*Subcircuits are now automatically reloaded when the content of the subcircuits folder changes&lt;br /&gt;
*Fixed a bug in the plotter where x-axis values were not logarithmic when the scale is logarithmic&lt;br /&gt;
===== 1.1.0 =====&lt;br /&gt;
* Added the plotter&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top:1.5em&amp;quot;&amp;gt;&lt;br /&gt;
==== Volta 1.0 ====&lt;br /&gt;
===== 1.0.1 =====&lt;br /&gt;
* The library editor user interface was cleaned up&lt;br /&gt;
* Many bugs were fixed&lt;br /&gt;
* The circuit simulator was upgraded to ngspice R23&lt;br /&gt;
* The application&amp;#039;s icon has changed&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;hr /&amp;gt;&lt;br /&gt;
{| style=&amp;quot;border:0px&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | [[File: volta_old_icon.png | x70px]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Kai</name></author>
	</entry>
</feed>